aboutsummaryrefslogtreecommitdiff
path: root/gcc/sdbout.c
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1997-09-05 20:06:11 +0000
committerJeff Law <law@gcc.gnu.org>1997-09-05 14:06:11 -0600
commit04940ba5b4caacc81209367d000a3039c171d24f (patch)
treed036cf910aed57de047fd856a2f2a997c46ab3e9 /gcc/sdbout.c
parentf5ffa99918cd283888b3d535fe96a72ab99ff735 (diff)
downloadgcc-04940ba5b4caacc81209367d000a3039c171d24f.zip
gcc-04940ba5b4caacc81209367d000a3039c171d24f.tar.gz
gcc-04940ba5b4caacc81209367d000a3039c171d24f.tar.bz2
sdbout.c (plain_type_1, [...]): Verify that TYPE_DOMAIN has integer TYPE_{MAX,MIN}_VALUE before using them.
* sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN has integer TYPE_{MAX,MIN}_VALUE before using them. Bring over from the FSF. From-SVN: r15117
Diffstat (limited to 'gcc/sdbout.c')
-rw-r--r--gcc/sdbout.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/sdbout.c b/gcc/sdbout.c
index 046ec32..a306c81 100644
--- a/gcc/sdbout.c
+++ b/gcc/sdbout.c
@@ -584,6 +584,8 @@ plain_type_1 (type, level)
if (sdb_n_dims < SDB_MAX_DIM)
sdb_dims[sdb_n_dims++]
= (TYPE_DOMAIN (type)
+ && TREE_CODE (TYPE_MAX_VALUE (TYPE_DOMAIN (type))) == INTEGER_CST
+ && TREE_CODE (TYPE_MIN_VALUE (TYPE_DOMAIN (type))) == INTEGER_CST
? (TREE_INT_CST_LOW (TYPE_MAX_VALUE (TYPE_DOMAIN (type)))
- TREE_INT_CST_LOW (TYPE_MIN_VALUE (TYPE_DOMAIN (type))) + 1)
: 0);