diff options
| -rw-r--r-- | gcc/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/dbxout.c | 12 |
2 files changed, 18 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 01a858b..544f911 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com> + + * dbxout.c (dbxout_type): When printing type index of range type + whose bounds are printed in octal format, print type of parent type if + it exists so enumerated type descriptions are not transformed + into unsigned types. + 2003-04-04 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300-protos.h: Add a prototype for diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 683745f..58208ff 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -1330,7 +1330,17 @@ dbxout_type (type, full) { fprintf (asmfile, "r"); CHARS (1); - dbxout_type_index (type); + + /* If this type derives from another type, output type index of + parent type. This is particularly important when parent type + is an enumerated type, because not generating the parent type + index would transform the definition of this enumerated type + into a plain unsigned type. */ + if (TREE_TYPE (type) != 0) + dbxout_type_index (TREE_TYPE (type)); + else + dbxout_type_index (type); + fprintf (asmfile, ";"); CHARS (1); print_int_cst_octal (TYPE_MIN_VALUE (type)); |
