aboutsummaryrefslogtreecommitdiff
path: root/gdb/buildsym.c
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1992-02-07 16:23:57 +0000
committerJohn Gilmore <gnu@cygnus>1992-02-07 16:23:57 +0000
commit256269fc92dcb44fa3dec039dbcea731ad4b0038 (patch)
tree430fc3c88b2a7b52946eb4c4db1c9306d4c89c36 /gdb/buildsym.c
parentef9b1bc915abde059df34e6e67f3e83c207465fd (diff)
downloadgdb-256269fc92dcb44fa3dec039dbcea731ad4b0038.zip
gdb-256269fc92dcb44fa3dec039dbcea731ad4b0038.tar.gz
gdb-256269fc92dcb44fa3dec039dbcea731ad4b0038.tar.bz2
* buildsym.c (read_struct_type): Avoid double-bump of parse ptr
in the op$::OPERATOR. case. From Steven McCanne, <mccanne@horse.ee.lbl.gov>.
Diffstat (limited to 'gdb/buildsym.c')
-rw-r--r--gdb/buildsym.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 243cbe2..985efd2 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -2244,7 +2244,7 @@ read_struct_type (pp, type)
At the end, we see a semicolon instead of a field.
For the case of overloaded operators, the format is
- OPERATOR::*.methods, where OPERATOR is the string "operator",
+ op$::*.methods, where $ is the CPLUS_MARKER (usually '$'),
`*' holds the place for an operator name (such as `+=')
and `.' marks the end of the operator name. */
if (p[1] == ':')
@@ -2294,9 +2294,11 @@ read_struct_type (pp, type)
*pp = p + 1;
}
else
+ {
main_fn_name = savestring (*pp, p - *pp);
- /* Skip past '::'. */
- *pp = p + 2;
+ /* Skip past '::'. */
+ *pp = p + 2;
+ }
new_mainlist->fn_fieldlist.name = main_fn_name;
do