This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
pre-release-g++: cold ICE
- To: Max Lawson <mlawson at drfmc dot ceng dot cea dot fr>
- Subject: pre-release-g++: cold ICE
- From: Mark Mitchell <mmitchell at usa dot net>
- Date: Tue, 10 Mar 1998 16:37:38 GMT
- Cc: egcs at cygnus dot com, egcs-bugs at cygnus dot com
- References: <9803082106.AA14350@drfmc.ceng.cea.fr>
- Reply-To: mmitchell at usa dot net
>>>>> "Max" == Max Lawson <mlawson@drfmc.ceng.cea.fr> writes:
Max> the above program give an ICE output when I try to compile
Max> with the -g flag on (and u guess it, I need this flag to
Max> debug a program which is segfaulting):
The problem was that dbxout_type_methods did not deal gracefully with
a TEMPLATE_DECL. I've attached a patch. Jeff, may I check this in?
--
Mark Mitchell mmitchell@usa.net
Stanford University http://www.stanford.edu
1998-03-10 Mark Mitchell <mmitchell@usa.net>
* dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
TREE_VEC if that's what it really is.
Index: dbxout.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/dbxout.c,v
retrieving revision 1.8
diff -c -p -r1.8 dbxout.c
*** dbxout.c 1998/02/07 22:54:16 1.8
--- dbxout.c 1998/03/11 00:33:43
*************** dbxout_type_methods (type)
*** 824,830 ****
sprintf(formatted_type_identifier_length, "%d", type_identifier_length);
! if (TREE_CODE (methods) == FUNCTION_DECL)
fndecl = methods;
else if (TREE_VEC_ELT (methods, 0) != NULL_TREE)
fndecl = TREE_VEC_ELT (methods, 0);
--- 824,830 ----
sprintf(formatted_type_identifier_length, "%d", type_identifier_length);
! if (TREE_CODE (methods) != TREE_VEC)
fndecl = methods;
else if (TREE_VEC_ELT (methods, 0) != NULL_TREE)
fndecl = TREE_VEC_ELT (methods, 0);