summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-06 12:38:32 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-06 12:38:32 +0000
commit9aac6e57b210907273ff80fe81870d8f5147c28d (patch)
tree0a991bb66a5b4179756fb6dc9d21220ab46e9356 /gcc
parent2a6e95ba024117903e4ed38512d19aea58520d2b (diff)
downloadppe42-gcc-9aac6e57b210907273ff80fe81870d8f5147c28d.tar.gz
ppe42-gcc-9aac6e57b210907273ff80fe81870d8f5147c28d.zip
2007-02-06 Richard Guenther <rguenther@suse.de>
PR middle-end/27302 * gcc.dg/torture/pr27302-2.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121644 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr27302-2.c52
2 files changed, 57 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d86d8725ef5..0ae9d64f094 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-02-06 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/27302
+ * gcc.dg/torture/pr27302-2.c: New testcase.
+
2007-02-06 Dorit Nuzman <dorit@il.ibm.com>
* 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 00000000000..5c201b3d2dd
--- /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;
+}
OpenPOWER on IntegriCloud