diff options
author | Joel Brobecker <brobecker@gnat.com> | 2003-04-04 22:34:52 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2003-04-04 17:34:52 -0500 |
commit | 08b0f5f900e6c9bb997e6b098488384feb805874 (patch) | |
tree | f417bb102919c8c97a1e2254cf237747021b5095 /gcc/dbxout.c | |
parent | 45ca21065864f404f5bb27b7ecf43a40b8efbda0 (diff) | |
download | gcc-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.c | 12 |
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)); |