This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]