From 08b0f5f900e6c9bb997e6b098488384feb805874 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Fri, 4 Apr 2003 22:34:52 +0000 Subject: [PATCH] dbxout.c (dbxout_type): When printing type index of range type whose bounds are printed in octal format... * 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. From-SVN: r65252 --- gcc/ChangeLog | 7 +++++++ gcc/dbxout.c | 12 +++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 01a858ba20b..544f911bf97 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Fri Apr 4 17:33:24 2003 Joel Brobecker + + * 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 * config/h8300/h8300-protos.h: Add a prototype for diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 683745fc56b..58208fffad2 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)); -- 2.30.2