aboutsummaryrefslogtreecommitdiff
path: root/gdb/stabsread.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1993-04-29 17:19:11 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1993-04-29 17:19:11 +0000
commitff580c7b96e1b08623de554ed3091d8b8b810470 (patch)
treec51015efac35351e55d9b5f8a1120c783bcf4910 /gdb/stabsread.c
parent99aea58e47fe75560c96f0795161d226328f8811 (diff)
downloadgdb-ff580c7b96e1b08623de554ed3091d8b8b810470.zip
gdb-ff580c7b96e1b08623de554ed3091d8b8b810470.tar.gz
gdb-ff580c7b96e1b08623de554ed3091d8b8b810470.tar.bz2
* stabsread.c (define_symbol): If unrecognized constant type,
complain() not error().
Diffstat (limited to 'gdb/stabsread.c')
-rw-r--r--gdb/stabsread.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/gdb/stabsread.c b/gdb/stabsread.c
index 17d76d1..505528c 100644
--- a/gdb/stabsread.c
+++ b/gdb/stabsread.c
@@ -597,6 +597,8 @@ define_symbol (valu, string, desc, type, objfile)
dbl_valu = (char *)
obstack_alloc (&objfile -> symbol_obstack, sizeof (double));
memcpy (dbl_valu, &d, sizeof (double));
+ /* Put it in target byte order, but it's still in host
+ floating point format. */
SWAP_TARGET_AND_HOST (dbl_valu, sizeof (double));
SYMBOL_VALUE_BYTES (sym) = dbl_valu;
SYMBOL_CLASS (sym) = LOC_CONST_BYTES;
@@ -627,7 +629,16 @@ define_symbol (valu, string, desc, type, objfile)
}
break;
default:
- error ("Invalid symbol data at symtab pos %d.", symnum);
+ {
+ static struct complaint msg =
+ {"Unrecognized constant type", 0, 0};
+ complain (&msg);
+ SYMBOL_CLASS (sym) = LOC_CONST;
+ /* This gives a second complaint, which is probably OK.
+ We do want the skip to the end of symbol behavior (to
+ deal with continuation). */
+ SYMBOL_TYPE (sym) = error_type (&p);
+ }
}
SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE;
add_symbol_to_list (sym, &file_symbols);