OSDN Git Service

* dbxout.c (dbxout_type): When printing type index of range type
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Apr 2003 22:34:52 +0000 (22:34 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Apr 2003 22:34:52 +0000 (22:34 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65252 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/dbxout.c

index 01a858b..544f911 100644 (file)
@@ -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
index 683745f..58208ff 100644 (file)
@@ -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));