diff options
author | Tom de Vries <tom@codesourcery.com> | 2012-08-06 08:32:20 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2012-08-06 08:32:20 +0000 |
commit | d9e408ded1129fa823d55137eb1cb2c1a9979adb (patch) | |
tree | 2c74e3ba5c2b04f9ab84a79275a8686e2d8be698 /gcc/tree-switch-conversion.c | |
parent | d7f41b2d87214f6e014f3091a2956f0170a8b41e (diff) | |
download | gcc-d9e408ded1129fa823d55137eb1cb2c1a9979adb.zip gcc-d9e408ded1129fa823d55137eb1cb2c1a9979adb.tar.gz gcc-d9e408ded1129fa823d55137eb1cb2c1a9979adb.tar.bz2 |
tree-switch-conversion.c (emit_case_bit_tests): Generate MINUS_EXPR in unsigned type.
2012-08-06 Tom de Vries <tom@codesourcery.com>
* tree-switch-conversion.c (emit_case_bit_tests): Generate MINUS_EXPR in
unsigned type.
From-SVN: r190168
Diffstat (limited to 'gcc/tree-switch-conversion.c')
-rw-r--r-- | gcc/tree-switch-conversion.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c index 0630f1a..6c61eca 100644 --- a/gcc/tree-switch-conversion.c +++ b/gcc/tree-switch-conversion.c @@ -384,10 +384,10 @@ emit_case_bit_tests (gimple swtch, tree index_expr, gsi = gsi_last_bb (switch_bb); - /* idx = (unsigned) (x - minval) */ - idx = fold_build2 (MINUS_EXPR, index_type, index_expr, - fold_convert (index_type, minval)); - idx = fold_convert (unsigned_index_type, idx); + /* idx = (unsigned)x - minval. */ + idx = fold_convert (unsigned_index_type, index_expr); + idx = fold_build2 (MINUS_EXPR, unsigned_index_type, idx, + fold_convert (unsigned_index_type, minval)); idx = force_gimple_operand_gsi (&gsi, idx, /*simple=*/true, NULL_TREE, /*before=*/true, GSI_SAME_STMT); |