diff options
author | Jakub Jelinek <jakub@redhat.com> | 2012-02-20 13:19:47 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2012-02-20 13:19:47 +0100 |
commit | 5a226e0af1d34600e38f02e3e84485db3f96b56c (patch) | |
tree | 37656215e21718bda37d1449687ef091d6ca5cd8 /gcc/testsuite | |
parent | e992fc2e5d6ece7463384caa8c1e0a70cfe57e91 (diff) | |
download | gcc-5a226e0af1d34600e38f02e3e84485db3f96b56c.zip gcc-5a226e0af1d34600e38f02e3e84485db3f96b56c.tar.gz gcc-5a226e0af1d34600e38f02e3e84485db3f96b56c.tar.bz2 |
re PR tree-optimization/52286 (wrong code bug)
PR tree-optimization/52286
* fold-const.c (fold_binary_loc): For (X & C1) | C2
optimization use double_int_to_tree instead of build_int_cst_wide,
rewrite to use double_int vars.
* gcc.c-torture/execute/pr52286.c: New test.
From-SVN: r184391
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/pr52286.c | 14 |
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8c66e09..1287d7a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-02-20 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/52286 + * gcc.c-torture/execute/pr52286.c: New test. + 2012-02-18 Tobias Burnus <burnus@net-b.de> PR fortran/52295 diff --git a/gcc/testsuite/gcc.c-torture/execute/pr52286.c b/gcc/testsuite/gcc.c-torture/execute/pr52286.c new file mode 100644 index 0000000..003406d --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr52286.c @@ -0,0 +1,14 @@ +/* PR tree-optimization/52286 */ + +extern void abort (void); + +int +main () +{ + int a, b; + asm ("" : "=r" (a) : "0" (0)); + b = (~a | 1) & -2038094497; + if (b >= 0) + abort (); + return 0; +} |