diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-03-23 21:25:13 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-03-23 21:25:13 +0000 |
commit | 766dec0ecdb5e4d705c8be49a7b0e826c4356cbf (patch) | |
tree | 9759e639cd287e6895534bee594b69640a3b17b7 /gcc/stmt.c | |
parent | ef3e98869075132505d8e1e1c9deaa5fee42e0eb (diff) | |
download | gcc-766dec0ecdb5e4d705c8be49a7b0e826c4356cbf.zip gcc-766dec0ecdb5e4d705c8be49a7b0e826c4356cbf.tar.gz gcc-766dec0ecdb5e4d705c8be49a7b0e826c4356cbf.tar.bz2 |
re PR c/10178 (ICE in tree_low_cst)
PR c/10178
* stmt.c (expand_end_case_type): Check for overflow in range when
determining whether to use a bit-test implementation.
* gcc.c-torture/compile/20030323-1.c: New test case.
From-SVN: r64757
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r-- | gcc/stmt.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -5505,6 +5505,7 @@ expand_end_case_type (orig_index, orig_type) else if (CASE_USE_BIT_TESTS && ! TREE_CONSTANT (index_expr) && compare_tree_int (range, GET_MODE_BITSIZE (word_mode)) < 0 + && compare_tree_int (range, 0) > 0 && lshift_cheap_p () && ((uniq == 1 && count >= 3) || (uniq == 2 && count >= 5) |