aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog2
-rw-r--r--gdb/c-exp.y9
2 files changed, 11 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 47bcd76..a04c463 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,7 @@
Mon Dec 27 11:07:05 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+ * c-exp.y (yylex): Don't try to deal with nested types.
+
* cp-valprint.c (cplus_print_value): Call check_stub_type on
TYPE_BASECLASS (type, i) before we look at its name.
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index ddff35f..ebc1ca6 100644
--- a/gdb/c-exp.y
+++ b/gdb/c-exp.y
@@ -1474,6 +1474,12 @@ yylex ()
}
if (sym && SYMBOL_CLASS (sym) == LOC_TYPEDEF)
{
+#if 0
+ /* In "A::x", if x is a member function of A and there happens
+ to be a type (nested or not, since the stabs don't make that
+ distinction) named x, then this code incorrectly thinks we
+ are dealing with nested types rather than a member function. */
+
char *p;
char *namestart;
struct symbol *best_sym;
@@ -1541,6 +1547,9 @@ yylex ()
}
yylval.tsym.type = SYMBOL_TYPE (best_sym);
+#else /* not 0 */
+ yylval.tsym.type = SYMBOL_TYPE (sym);
+#endif /* not 0 */
return TYPENAME;
}
if ((yylval.tsym.type = lookup_primitive_typename (tmp)) != 0)