aboutsummaryrefslogtreecommitdiff
path: root/gdb/stabsread.c
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1992-09-10 00:07:06 +0000
committerJohn Gilmore <gnu@cygnus>1992-09-10 00:07:06 +0000
commit2640f7e13856f4115d1f955b076f11272f5f3da0 (patch)
tree8a6bd711d3b3168db97ddf3036ff9ff34d0bffc6 /gdb/stabsread.c
parent5148923360989fb54088f499e4b4cefd14088f9a (diff)
downloadgdb-2640f7e13856f4115d1f955b076f11272f5f3da0.zip
gdb-2640f7e13856f4115d1f955b076f11272f5f3da0.tar.gz
gdb-2640f7e13856f4115d1f955b076f11272f5f3da0.tar.bz2
Removed a large number of changes inserted by Per Bothner
for C++ support. These will go back in when they've been examined.
Diffstat (limited to 'gdb/stabsread.c')
-rw-r--r--gdb/stabsread.c39
1 files changed, 17 insertions, 22 deletions
diff --git a/gdb/stabsread.c b/gdb/stabsread.c
index 06b61ec..832d9c3 100644
--- a/gdb/stabsread.c
+++ b/gdb/stabsread.c
@@ -1158,8 +1158,7 @@ read_type (pp, objfile)
case '#': /* Method (class & fn) type */
if ((*pp)[0] == '#')
{
- /* This "minimized" format bogus, because it doesn't yield
- enough information. I've changed gcc to not emit it. --Per */
+ /* We'll get the parameter types from the name. */
struct type *return_type;
*pp += 1;
@@ -1418,10 +1417,8 @@ read_struct_type (pp, type, objfile)
p = *pp;
if (*p == CPLUS_MARKER)
{
- if (*p == '_') /* GNU C++ anonymous type. */
- ;
/* Special GNU C++ name. */
- else if (*++p == 'v')
+ if (*++p == 'v')
{
const char *prefix;
char *name = 0;
@@ -1460,12 +1457,15 @@ read_struct_type (pp, type, objfile)
list->field.bitsize = 0;
list->visibility = 0; /* private */
non_public_fields++;
-
- nfields++;
- continue;
}
+ /* GNU C++ anonymous type. */
+ else if (*p == '_')
+ break;
else
complain (&invalid_cpp_abbrev_complaint, *pp);
+
+ nfields++;
+ continue;
}
while (*p != ':') p++;
@@ -1508,26 +1508,21 @@ read_struct_type (pp, type, objfile)
if (**pp == ':')
{
p = ++(*pp);
+#if 0
+ /* Possible future hook for nested types. */
if (**pp == '!')
- { /* C++ nested type -as in FOO::BAR */
- list->field.bitpos = (long)(-2); /* nested type */
+ {
+ list->field.bitpos = (long)-2; /* nested type */
p = ++(*pp);
- if (TYPE_NAME (list->field.type) == NULL && **pp == '\'')
- {
- for (p = ++(*pp); *p != '\''; ) p++;
- TYPE_NAME (list->field.type) = savestring (*pp, p - *pp);
- }
- while (*p != ';') p++;
- list->field.bitsize = 0;
- *pp = p + 1;
}
else
+#endif
{ /* Static class member. */
- list->field.bitpos = (long)(-1);
- while (*p != ';') p++;
- list->field.bitsize = (long) savestring (*pp, p - *pp);
- *pp = p + 1;
+ list->field.bitpos = (long)-1;
}
+ while (*p != ';') p++;
+ list->field.bitsize = (long) savestring (*pp, p - *pp);
+ *pp = p + 1;
nfields++;
continue;
}