This is the mail archive of the gcc-bugs@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]

pre-release-g++: cold ICE



>>>>> "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);


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