]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
dbxout.c (dbxout_range_type): Only call dbxout_type_index for already defined type.
authorJim Wilson <wilson@cygnus.com>
Fri, 24 Jul 1998 00:31:23 +0000 (18:31 -0600)
committerJeff Law <law@gcc.gnu.org>
Fri, 24 Jul 1998 00:31:23 +0000 (18:31 -0600)

* dbxout.c (dbxout_range_type): Only call dbxout_type_index for
already defined type.

From-SVN: r21357

gcc/dbxout.c

index 9cdcef00474c493e09da51e6a41a2b1a65c0ee32..5e6f2a9d874e7e4e176476c0edc0af8de82e95af 100644 (file)
@@ -954,8 +954,18 @@ dbxout_range_type (type)
         were defined to be sub-ranges of int.  Unfortunately, this
         does not allow us to distinguish true sub-ranges from integer
         types.  So, instead we define integer (non-sub-range) types as
-        sub-ranges of themselves.  */
-      dbxout_type_index (type);
+        sub-ranges of themselves.  This matters for Chill.  If this isn't
+        a subrange type, then we want to define it in terms of itself.
+        However, in C, this may be an anonymous integer type, and we don't
+        want to emit debug info referring to it.  Just calling
+        dbxout_type_index won't work anyways, because the type hasn't been
+        defined yet.  We make this work for both cases by checked to see
+        whether this is a defined type, referring to it if it is, and using
+        'int' otherwise.  */
+      if (TYPE_SYMTAB_ADDRESS (type) != 0)
+       dbxout_type_index (type);
+      else
+       dbxout_type_index (integer_type_node);
     }
   if (TREE_CODE (TYPE_MIN_VALUE (type)) == INTEGER_CST)
     {