summaryrefslogtreecommitdiff
path: root/gcc/dbxout.c
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2003-04-04 22:34:52 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2003-04-04 17:34:52 -0500
commit08b0f5f900e6c9bb997e6b098488384feb805874 (patch)
treef417bb102919c8c97a1e2254cf237747021b5095 /gcc/dbxout.c
parent45ca21065864f404f5bb27b7ecf43a40b8efbda0 (diff)
downloadgcc-08b0f5f900e6c9bb997e6b098488384feb805874.tar.gz
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
Diffstat (limited to 'gcc/dbxout.c')
-rw-r--r--gcc/dbxout.c12
1 files changed, 11 insertions, 1 deletions
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));