re PR middle-end/40057 (Incorrect right shift by 31 with long long)
authorJakub Jelinek <jakub@redhat.com>
Thu, 7 May 2009 15:27:40 +0000 (17:27 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 7 May 2009 15:27:40 +0000 (17:27 +0200)
commit472e0df9f0f70801be6a5097799d3fefba9ad078
treeafa7d064f452e1ca909d3885ee825f7486fd3cdc
parent262118b947e0b9c200996e425acb8d75970ff1ff
re PR middle-end/40057 (Incorrect right shift by 31 with long long)

PR middle-end/40057
* dojump.c (prefer_and_bit_test): Use immed_double_const instead of
GEN_INT for 1 << bitnum.
(do_jump) <case BIT_AND_EXPR>: Use build_int_cst_wide_type instead of
build_int_cst_type.

* gcc.c-torture/execute/pr40057.c: New test.

From-SVN: r147241
gcc/ChangeLog
gcc/dojump.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr40057.c [new file with mode: 0644]