This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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 to stabsread.c:read_member_functions


This patch fixes gdb.c++/classes.exp:ptype Static when used with gcc 3.x
and stabs output.  The code in question was never correct, just a likely
guess; in particular, it got things wrong even with the v2 output for
Static::ii, where the plain function name ("ii") was the same as the
mangled form of the argument list (int, int == "ii").  For v3, we don't try
to do minimal output, so it will always guess wrong.

OK?  Should I just remove the bad code rather than comment it out?

2002-01-17  Jason Merrill  <jason@redhat.com>

	* stabsread.c (read_member_functions): Never guess that the given
	physname for a static member function is a stub.

*** stabsread.c.~1~	Wed Jan 16 18:52:33 2002
--- stabsread.c	Thu Jan 17 15:01:35 2002
*************** read_member_functions (struct field_info
*** 3206,3216 ****
--- 3206,3221 ----
  	    case '?':
  	      /* static member function.  */
  	      new_sublist->fn_field.voffset = VOFFSET_STATIC;
+ #if 0
+ 	      /* This was a kludge to try to get the right answer for gcc
+ 		 v2 stabs output.  In v3 we don't try to avoid writing out
+ 		 full mangled names, so this just causes problems.  */
  	      if (strncmp (new_sublist->fn_field.physname,
  			   main_fn_name, strlen (main_fn_name)))
  		{
  		  new_sublist->fn_field.is_stub = 1;
  		}
+ #endif
  	      break;
  
  	    default:

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