Ignore names invented by helpful compilers for anonymous structs, unions,
authorFred Fish <fnf@specifix.com>
Wed, 20 Nov 1991 00:20:43 +0000 (00:20 +0000)
committerFred Fish <fnf@specifix.com>
Wed, 20 Nov 1991 00:20:43 +0000 (00:20 +0000)
and enums.

gdb/ChangeLog
gdb/dwarfread.c

index 857b907..679155b 100644 (file)
@@ -1,5 +1,8 @@
 Tue Nov 19 07:53:55 1991  Fred Fish  (fnf at cygnus.com)
 
+       * dwarfread.c (enum_type, struct_type):  Ignore names invented by
+       helpful compilers for anonymous structs, unions, and enums.
+
        * c-exp.y, m2-exp.y:  Add defines for yymaxdepth, yy_yys, and
        yy_yyv, so multiple parsers produced by SVR4 versions of yacc
        can coexist in the same executable without collision.
index 98cb95b..551d771 100644 (file)
@@ -909,7 +909,9 @@ DEFUN(struct_type, (dip, thisdie, enddie),
       TYPE_CODE (type) = TYPE_CODE_UNDEF;
       break;
     }
-  if (dip -> at_name == NULL)
+  /* Some compilers try to be helpful by inventing "fake" names for anonymous
+     enums, structures, and unions, like "~0fake".  Thanks, but no thanks. */
+  if (dip -> at_name == NULL || *dip -> at_name == '~')
     {
       tpart2 = "{...}";
     }
@@ -1325,7 +1327,9 @@ DEFUN(enum_type, (dip), struct dieinfo *dip)
     }
   TYPE_CODE (type) = TYPE_CODE_ENUM;
   tpart1 = "enum ";
-  if (dip -> at_name == NULL)
+  /* Some compilers try to be helpful by inventing "fake" names for anonymous
+     enums, structures, and unions, like "~0fake".  Thanks, but no thanks. */
+  if (dip -> at_name == NULL || *dip -> at_name == '~')
     {
       tpart2 = "{...}";
     } else {