aboutsummaryrefslogtreecommitdiff
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
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>.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/buildsym.c8
2 files changed, 9 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 64cceab..3f9e2e7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
Fri Feb 7 07:56:05 1992 John Gilmore (gnu at cygnus.com)
+ * buildsym.c (read_struct_type): Avoid double-bump of parse ptr
+ in the op$::OPERATOR. case. From Steven McCanne,
+ <mccanne@horse.ee.lbl.gov>.
+
* exec.c (set_section_name): Pass arg to exec_files_info;
only call it if interactive. From Francis Kauth <fk@tv.tv.tek.com>.
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