aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2010-05-20 06:44:45 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2010-05-20 06:44:45 +0000
commitf36eb2af965e51335ea095c45df13f0181bd21f3 (patch)
treede8e85dfb1c65681daabf780d11e6dc6b3e41d24 /gcc
parent951771dc6becb8dc1b0e6b691489aeb8f3aa08a7 (diff)
downloadgcc-f36eb2af965e51335ea095c45df13f0181bd21f3.zip
gcc-f36eb2af965e51335ea095c45df13f0181bd21f3.tar.gz
gcc-f36eb2af965e51335ea095c45df13f0181bd21f3.tar.bz2
re PR target/44202 (Missing compare after add)
PR target/44202 * gcc.c-torture/execute/pr44202-1.c: New test. From-SVN: r159611
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr44202-1.c30
2 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a3658db..92eb3cf 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-05-20 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/44202
+ * gcc.c-torture/execute/pr44202-1.c: New test.
+
2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43851
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr44202-1.c b/gcc/testsuite/gcc.c-torture/execute/pr44202-1.c
new file mode 100644
index 0000000..37e84f2
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr44202-1.c
@@ -0,0 +1,30 @@
+extern __attribute__ ((__noreturn__)) void exit(int);
+extern __attribute__ ((__noreturn__)) void abort(void);
+__attribute__ ((__noinline__))
+int
+add512(int a, int *b)
+{
+ int c = a + 512;
+ if (c != 0)
+ *b = a;
+ return c;
+}
+
+__attribute__ ((__noinline__))
+int
+add513(int a, int *b)
+{
+ int c = a + 513;
+ if (c == 0)
+ *b = a;
+ return c;
+}
+
+int main(void)
+{
+ int b0 = -1;
+ int b1 = -1;
+ if (add512(-512, &b0) != 0 || b0 != -1 || add513(-513, &b1) != 0 || b1 != -513)
+ abort ();
+ exit (0);
+}