c++/2606

Mark E. snowball3@softhome.net
Mon Apr 23 11:26:00 GMT 2001


Andris,
I have this problem too. The following patch allowed libstdc++ to build, 
but I don't know if it's the right solution or not. If it is, I can submit 
it to gcc-patches.

Before the patch, what appears to be the virtual table pointer is output 
as:
.def __vptr$basic_ios<char,std::char_traits<char> >; .val 0; .scl 8; .type
                    01124; .endef
After the patch, the output is:
	.def	_$vf;	.val	0;	.scl	8;	.type	01124;	.endef

Also, I notice the .type directive is different from 2.953. I don't know 
if that's a bug or not.

Index: sdbout.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/sdbout.c,v
retrieving revision 1.42
diff -c -p -r1.42 sdbout.c
*** sdbout.c	2001/04/03 15:05:29	1.42
--- sdbout.c	2001/04/23 18:07:00
*************** sdbout_one_type (type)
*** 1225,1231 ****
  		const char *name;
  
  		CONTIN;
! 		name = IDENTIFIER_POINTER (DECL_NAME (tem));
  		PUT_SDB_DEF (name);
  		if (DECL_BIT_FIELD_TYPE (tem))
  		  {
--- 1225,1234 ----
  		const char *name;
  
  		CONTIN;
! 		if (DECL_ASSEMBLER_NAME_SET_P (tem))
! 		  name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (tem));
! 		else
! 		  name = IDENTIFIER_POINTER (DECL_NAME (tem));
  		PUT_SDB_DEF (name);
  		if (DECL_BIT_FIELD_TYPE (tem))
  		  {



More information about the Gcc-bugs mailing list