diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-11-05 04:49:06 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-11-05 04:49:06 +0000 |
commit | f73fb0ce032d39883e30f07bdbd3e92c20841a34 (patch) | |
tree | e69de16bf4feae93e7a58811b3a690a6edeab22c /gdb/stabsread.c | |
parent | 5576858065de4e33b6b2f8728e82ac3c474888ae (diff) | |
download | gdb-f73fb0ce032d39883e30f07bdbd3e92c20841a34.zip gdb-f73fb0ce032d39883e30f07bdbd3e92c20841a34.tar.gz gdb-f73fb0ce032d39883e30f07bdbd3e92c20841a34.tar.bz2 |
* stabsread.c (read_struct_fields): Accept either '$' or '.' as
the character which introduces a cpp_abbrev or anonymous type.
Diffstat (limited to 'gdb/stabsread.c')
-rw-r--r-- | gdb/stabsread.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/gdb/stabsread.c b/gdb/stabsread.c index befb564..ddb18c9 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -2322,11 +2322,16 @@ read_struct_fields (fip, pp, type, objfile) /* Get the field name. */ p = *pp; - /* If is starts with CPLUS_MARKER it is a special abbreviation, unless - the CPLUS_MARKER is followed by an underscore, in which case it is - just the name of an anonymous type, which we should handle like any - other type name. */ - if (*p == CPLUS_MARKER && p[1] != '_') + + /* If is starts with CPLUS_MARKER it is a special abbreviation, + unless the CPLUS_MARKER is followed by an underscore, in + which case it is just the name of an anonymous type, which we + should handle like any other type name. We accept either '$' + or '.', because a field name can never contain one of these + characters except as a CPLUS_MARKER (we probably should be + doing that in most parts of GDB). */ + + if ((*p == '$' || *p == '.') && p[1] != '_') { if (!read_cpp_abbrev (fip, pp, type, objfile)) return 0; |