diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2021-07-19 15:16:25 -0400 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2021-07-22 08:51:59 -0400 |
commit | ea789238b2c24eedf70b56257235adf3d33c5a0a (patch) | |
tree | c09d1973925fbd28a1900c0ce6ad1233997a8354 /gcc/gimple-range-fold.cc | |
parent | e58093276a6e319c2a6d9f02e343fbf8400dab60 (diff) | |
download | gcc-ea789238b2c24eedf70b56257235adf3d33c5a0a.zip gcc-ea789238b2c24eedf70b56257235adf3d33c5a0a.tar.gz gcc-ea789238b2c24eedf70b56257235adf3d33c5a0a.tar.bz2 |
Check for undefined on COND_EXPR before querying type.
gcc/
PR tree-optimization/101497
* gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Check
for undefined.
gcc/testsuite
* gcc.dg/pr101497.c: New.
Diffstat (limited to 'gcc/gimple-range-fold.cc')
-rw-r--r-- | gcc/gimple-range-fold.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/gimple-range-fold.cc b/gcc/gimple-range-fold.cc index f8578c0..f95af3d 100644 --- a/gcc/gimple-range-fold.cc +++ b/gcc/gimple-range-fold.cc @@ -1111,7 +1111,8 @@ fold_using_range::range_of_cond_expr (irange &r, gassign *s, fur_source &src) r = range1; r.union_ (range2); } - gcc_checking_assert (range_compatible_p (r.type (), type)); + gcc_checking_assert (r.undefined_p () + || range_compatible_p (r.type (), type)); return true; } |