diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/dbxout.c | 10 |
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 45ff600c8f4..6114ab1e1c7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-05-17 Jeffrey Oldham <oldham@codesourcery.com> + + * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not + COMPLEX_TYPE. + Thu May 17 19:42:39 2001 Mark Kettenis <kettenis@wins.uva.nl> * dwarf2out.c (modified_type_die): Equate qualified type to die. diff --git a/gcc/dbxout.c b/gcc/dbxout.c index d057c581dc8..97d6151ac00 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -2148,7 +2148,15 @@ dbxout_symbol_location (decl, type, suffix, home) } else if (GET_CODE (home) == CONCAT) { - tree subtype = TREE_TYPE (type); + tree subtype; + + /* If TYPE is not a COMPLEX_TYPE (it might be a RECORD_TYPE, + for example), then there is no easy way to figure out + what SUBTYPE should be. So, we give up. */ + if (TREE_CODE (type) != COMPLEX_TYPE) + return 0; + + subtype = TREE_TYPE (type); /* If the variable's storage is in two parts, output each as a separate stab with a modified name. */ |