* stabsread.c (define_symbol): For the sake of dbx, gcc emits
authorFred Fish <fnf@specifix.com>
Mon, 30 Nov 1992 01:03:34 +0000 (01:03 +0000)
committerFred Fish <fnf@specifix.com>
Mon, 30 Nov 1992 01:03:34 +0000 (01:03 +0000)
a single blank as the name of nameless enumerations.  Recognize
this special case and set nameless flag.

gdb/ChangeLog
gdb/stabsread.c

index 8bde28b05eaa4dd63f18c2f3d6e25fda15ce5cca..c764d583d7a89f43bd4d8558bcd2b3e2e9736752 100644 (file)
@@ -16,6 +16,9 @@ Sun Nov 29 15:22:42 1992  Fred Fish  (fnf@cygnus.com)
        * stabsread.c (read_type):  Retain function local copy of type
        descriptor.  Rearrange code calling read_struct_type() to match
        new conventions.
+       * stabsread.c (define_symbol):  For the sake of dbx, gcc emits
+       a single blank as the name of nameless enumerations.  Recognize
+       this special case and set nameless flag.
        **** start-sanitize-chill ****
        * ch-exp.y (GENERAL_PROCEDURE_NAME, LOCATION_NAME):  New
        terminal tokens.
index be97aac07b89a060046e278a7a68115056b32a7f..90f03008cf916c2a5c7fbe178bf8ed76c770c1b2 100644 (file)
@@ -428,7 +428,7 @@ define_symbol (valu, string, desc, type, objfile)
 
   /* We would like to eliminate nameless symbols, but keep their types.
      E.g. stab entry ":t10=*2" should produce a type 10, which is a pointer
-     to type 2, but, should not creat a symbol to address that type. Since
+     to type 2, but, should not create a symbol to address that type. Since
      the symbol will be nameless, there is no way any user can refer to it. */
 
   int nameless;
@@ -442,8 +442,8 @@ define_symbol (valu, string, desc, type, objfile)
     return 0;
 
   /* If a nameless stab entry, all we need is the type, not the symbol.
-     e.g. ":t10=*2" */
-  nameless = (p == string);
+     e.g. ":t10=*2" or a nameless enum like " :T16=ered:0,green:1,blue:2,;" */
+  nameless = (p == string || ((string[0] == ' ') && (string[1] == ':')));
 
   sym = (struct symbol *) 
     obstack_alloc (&objfile -> symbol_obstack, sizeof (struct symbol));