From ff580c7b96e1b08623de554ed3091d8b8b810470 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Thu, 29 Apr 1993 17:19:11 +0000 Subject: [PATCH] * stabsread.c (define_symbol): If unrecognized constant type, complain() not error(). --- gdb/ChangeLog | 5 +++++ gdb/stabsread.c | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6fc8fc285d..b07f994088 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Thu Apr 29 08:46:22 1993 Jim Kingdon (kingdon@cygnus.com) + + * stabsread.c (define_symbol): If unrecognized constant type, + complain() not error(). + Thu Apr 29 00:03:59 1993 Fred Fish (fnf@cygnus.com) * infptrace.c: Add missing close paren to test for diff --git a/gdb/stabsread.c b/gdb/stabsread.c index 17d76d1292..505528ca81 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);