[gnu.g++.bug] fix for gdb problems with static class members

jjc@uunet.uu.net (James Clark) (03/25/89)

As was reported by somebody in bug-gdb, gdb 3.1+ can't cope with
static class members generated by g++ 1.34.1.

This turns out to be a problem with g++ rather than gdb.  g++ was
keeping underscores on the front of the names of static class members
within the stabs string.

Here's a fix:

*** dbxout.c.orig	Fri Mar 24 17:46:07 1989
--- dbxout.c	Fri Mar 24 17:53:29 1989
***************
*** 458,463 ****
--- 458,465 ----
  		    char *name = XSTR (XEXP (DECL_RTL (tem), 0), 0);
  		    if (name[0] == '*')
  		      name += 1;
+ 		    if (name[0] == '_')
+ 		      name += 1;
  		    fprintf (asmfile, ":%s;", name);
  		    CHARS (strlen (name));
  		  }
***************
*** 980,985 ****
--- 982,989 ----
  	{
  	  name = XSTR (XEXP (DECL_RTL (decl), 0), 0);
  	  if (name[0] == '*')
+ 	    name += 1;
+ 	  if (name[0] == '_')
  	    name += 1;
  	}
        else


By the way, nothing I send to bug-g++ ever comes back to me in the
gnu.g++.bug newsgroup. Is the gateway broken, or are my messages
vanishing into the middle of the Atlantic, or is it just that my news
feed is flakey? Perhaps somebody could let me know if this makes it
through.

James Clark
jjc@jclark.uucp
uunet!mcvax!ukc!jclark!jjc