From 568265573d247d2f988d95f41f51325148139f3d Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Tue, 6 Feb 2007 12:38:32 +0000 Subject: [PATCH] re PR middle-end/27302 (Fold does not fold (i < j) == (j > i) to 1) 2007-02-06 Richard Guenther PR middle-end/27302 * gcc.dg/torture/pr27302-2.c: New testcase. From-SVN: r121644 --- gcc/testsuite/ChangeLog | 5 +++ gcc/testsuite/gcc.dg/torture/pr27302-2.c | 52 ++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/torture/pr27302-2.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d86d8725ef53..0ae9d64f094b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-02-06 Richard Guenther + + PR middle-end/27302 + * gcc.dg/torture/pr27302-2.c: New testcase. + 2007-02-06 Dorit Nuzman * gcc.dg/vect/vect.exp: Add support for -fno-tree-scev-cprop tests. diff --git a/gcc/testsuite/gcc.dg/torture/pr27302-2.c b/gcc/testsuite/gcc.dg/torture/pr27302-2.c new file mode 100644 index 000000000000..5c201b3d2dda --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr27302-2.c @@ -0,0 +1,52 @@ +/* { dg-do run } */ +/* { dg-options "-fstrict-overflow" } */ + +extern void link_error (void); + +void test0 (int a, int b) +{ + if ((a < b) != (b > a)) + link_error (); + + if ((a - 1 < b) != (a <= b)) + link_error (); + if ((a - 2 < b) != (a - 1 <= b)) + link_error (); + if ((a + -1 < b) != (a <= b)) + link_error (); + if ((a + -2 < b) != (a + -1 <= b)) + link_error (); + + if ((a + 1 > b) != (a >= b)) + link_error (); + if ((a + 2 > b) != (a + 1 >= b)) + link_error (); + if ((a - -1 > b) != (a >= b)) + link_error (); + if ((a - -2 > b) != (a - -1 >= b)) + link_error (); + + if ((a + 1 <= b) != (a < b)) + link_error (); + if ((a + 2 <= b) != (a + 1 < b)) + link_error (); + if ((a - -1 <= b) != (a < b)) + link_error (); + if ((a - -2 <= b) != (a - -1 < b)) + link_error (); + + if ((a - 1 >= b) != (a > b)) + link_error (); + if ((a - 2 >= b) != (a - 1 > b)) + link_error (); + if ((a + -1 >= b) != (a > b)) + link_error (); + if ((a + -2 >= b) != (a + -1 > b)) + link_error (); +} + +int main() +{ + test0 (1, 2); + return 0; +}