Fix stabs bug with C array ranges.

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

From-SVN: r21355
This commit is contained in:
Jim Wilson 1998-07-23 19:14:18 +00:00 committed by Jim Wilson
parent 136dc16a52
commit 28144186b3
2 changed files with 17 additions and 2 deletions

View File

@ -1,3 +1,8 @@
Thu Jul 23 18:53:20 1998 Jim Wilson <wilson@cygnus.com>
* dbxout.c (dbxout_range_type): Only call dbxout_type_index for
already defined type.
Thu Jul 23 13:49:41 1998 Jeffrey A Law (law@cygnus.com)
* expr.c (check_max_integer_computation_mode): Allow conversions

View 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)
{