aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarfout.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1997-12-18 15:20:19 -0800
committerJeff Law <law@gcc.gnu.org>1997-12-18 16:20:19 -0700
commite1ee5cdcbf209d2f16473a2ff6e91ff774edb3e7 (patch)
treef6256a46a8fe9fd54c5f8fa94aaed268e376f33b /gcc/dwarfout.c
parent8342981f2de7306bf857c96b8b418be8882a0c63 (diff)
downloadgcc-e1ee5cdcbf209d2f16473a2ff6e91ff774edb3e7.zip
gcc-e1ee5cdcbf209d2f16473a2ff6e91ff774edb3e7.tar.gz
gcc-e1ee5cdcbf209d2f16473a2ff6e91ff774edb3e7.tar.bz2
tree.c (build_range_type): Allow creation of ranges with no maximum.
* tree.c (build_range_type): Allow creation of ranges with no maximum. * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE. * dwarf2out.c (add_subscript_info): Likewise. * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise. * sdbout.c (plain_type_1): Likewise. * stmt.c (pushcase_range, all_cases_count, node_has_high_bound): Likewise. * fold-const.c (int_const_binop, fold_convert, make_range, fold): Likewise. From-SVN: r17142
Diffstat (limited to 'gcc/dwarfout.c')
-rw-r--r--gcc/dwarfout.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c
index a72ccac..528886a 100644
--- a/gcc/dwarfout.c
+++ b/gcc/dwarfout.c
@@ -2587,9 +2587,8 @@ subscript_data_attribute (type)
/* Output the representation format byte for this dimension. */
ASM_OUTPUT_DWARF_FMT_BYTE (asm_out_file,
- FMT_CODE (1,
- TREE_CODE (lower) == INTEGER_CST,
- TREE_CODE (upper) == INTEGER_CST));
+ FMT_CODE (1, TREE_CODE (lower) == INTEGER_CST,
+ (upper && TREE_CODE (upper) == INTEGER_CST)));
/* Output the index type for this dimension. */
@@ -2675,9 +2674,9 @@ byte_size_attribute (tree_node)
case ARRAY_TYPE:
{
/* The lower bound is zero, so the length is the upper bound + 1. */
- register tree upper_bound;
- upper_bound = TYPE_MAX_VALUE (TYPE_DOMAIN (tree_node));
- size = (unsigned) TREE_INT_CST_LOW (upper_bound) + 1;
+ register tree upper;
+ upper = TYPE_MAX_VALUE (TYPE_DOMAIN (tree_node));
+ size = upper ? (unsigned) TREE_INT_CST_LOW (upper) + 1 : -1;
break;
}