This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix mangle_conv_op_name_for_type (take 2)
On Mon, Jun 23, 2003 at 09:27:09PM +0200, Franz Sirl wrote:
> Did you test with a 3.3 branch compiler? To be sure I ran a full 3.3 bootstrap
> on ppc-linux and i686-linux again (with --enable-checking), and strangely
> enough the testcase I sent you passed now on ppc-linux. On i686-linux it
> still fails with:
Here is what I've commited (again, under obvious rule):
2003-06-23 Jakub Jelinek <jakub@redhat.com>
* mangle.c: Include ggc.h, gt-cp-mangle.h.
(mangle_conv_op_name_for_type): Use htab_create_ggc instead of
htab_create.
* config-lang.in (gtfiles): Add cp/mangle.c.
* Make-lang.in (gt-cp-mangle.h): Depend on s-gtype.
(cp/mangle.o): Depend on gt-cp-mangle.h.
--- gcc/cp/mangle.c.jj 2003-06-23 10:56:53.000000000 -0400
+++ gcc/cp/mangle.c 2003-06-23 16:28:28.000000000 -0400
@@ -56,6 +56,7 @@
#include "obstack.h"
#include "toplev.h"
#include "varray.h"
+#include "ggc.h"
/* Debugging support. */
@@ -2649,7 +2650,7 @@ mangle_conv_op_name_for_type (const tree
char buffer[64];
if (conv_type_names == NULL)
- conv_type_names = htab_create (31, &hash_type, &compare_type, NULL);
+ conv_type_names = htab_create_ggc (31, &hash_type, &compare_type, NULL);
slot = htab_find_slot_with_hash (conv_type_names, type,
htab_hash_pointer (type), INSERT);
@@ -2729,3 +2730,4 @@ write_java_integer_type_codes (type)
abort ();
}
+#include "gt-cp-mangle.h"
--- gcc/cp/config-lang.in.jj 2003-03-19 07:59:09.000000000 -0500
+++ gcc/cp/config-lang.in 2003-06-23 16:29:07.000000000 -0400
@@ -34,4 +34,4 @@ stagestuff="g++\$(exeext) g++-cross\$(ex
target_libs="${libstdcxx_version} target-gperf"
-gtfiles="\$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/lex.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/parse.y \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/spew.c \$(srcdir)/cp/tree.c \$(srcdir)/c-common.c \$(srcdir)/c-common.h \$(srcdir)/c-pragma.c"
+gtfiles="\$(srcdir)/cp/mangle.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/lex.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/parse.y \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/spew.c \$(srcdir)/cp/tree.c \$(srcdir)/c-common.c \$(srcdir)/c-common.h \$(srcdir)/c-pragma.c"
--- gcc/cp/Make-lang.in.jj 2003-06-23 16:26:12.000000000 -0400
+++ gcc/cp/Make-lang.in 2003-06-23 16:28:51.000000000 -0400
@@ -116,7 +116,7 @@ $(srcdir)/cp/parse.c: $(srcdir)/cp/parse
gtype-cp.h gt-cp-call.h gt-cp-decl.h gt-cp-decl2.h : s-gtype; @true
gt-cp-parse.h gt-cp-pt.h gt-cp-repo.h gt-cp-spew.h : s-gtype; @true
-gt-cp-tree.h : s-gtype; @true
+gt-cp-tree.h gt-cp-mangle.h : s-gtype; @true
#
# Build hooks:
@@ -275,7 +275,7 @@ cp/semantics.o: cp/semantics.c $(CXX_TRE
cp/dump.o: cp/dump.c $(CXX_TREE_H) tree-dump.h
cp/optimize.o: cp/optimize.c $(CXX_TREE_H) rtl.h integrate.h insn-config.h \
input.h $(PARAMS_H) debug.h tree-inline.h
-cp/mangle.o: cp/mangle.c $(CXX_TREE_H) toplev.h real.h $(TM_P_H)
+cp/mangle.o: cp/mangle.c $(CXX_TREE_H) toplev.h real.h gt-cp-mangle.h $(TM_P_H)
cp/parse.o: cp/parse.c $(CXX_TREE_H) flags.h cp/lex.h except.h output.h \
cp/decl.h $(SYSTEM_H) toplev.h $(GGC_H) gt-cp-parse.h
Jakub