aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-10-14 09:17:20 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-10-14 09:17:20 +0000
commitd19d091ca06d75016be9e3c5af8488bca8c0d546 (patch)
tree88a9daf9d217996ae9b5b9dd41c600493624baf1 /gcc
parentc86738810e302e1fa9bb1bc2cb9fd932b4fca77a (diff)
downloadgcc-d19d091ca06d75016be9e3c5af8488bca8c0d546.zip
gcc-d19d091ca06d75016be9e3c5af8488bca8c0d546.tar.gz
gcc-d19d091ca06d75016be9e3c5af8488bca8c0d546.tar.bz2
re PR tree-optimization/58640 (wrong code (segfaults) at -O3 on x86_64-linux-gnu)
2013-10-14 Richard Biener <rguenther@suse.de> PR tree-optimization/58640 * gcc.c-torture/execute/pr58640-2.c: New testcase. From-SVN: r203516
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr58640-2.c35
2 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a364e74..96f7cb2 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2013-10-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/58640
+ * gcc.c-torture/execute/pr58640-2.c: New testcase.
+
2013-10-13 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/uninit_array.ad[sn]: New test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr58640-2.c b/gcc/testsuite/gcc.c-torture/execute/pr58640-2.c
new file mode 100644
index 0000000..3fc3a55
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr58640-2.c
@@ -0,0 +1,35 @@
+extern void abort (void);
+
+int a[20], b, c;
+
+int
+fn1 ()
+{
+ int d, e, f, g = 0;
+
+ a[12] = 1;
+ for (e = 0; e < 3; e++)
+ for (d = 0; d < 2; d++)
+ {
+ for (f = 0; f < 2; f++)
+ {
+ g ^= a[12] > 1;
+ if (g)
+ return 0;
+ if (b)
+ break;
+ }
+ for (c = 0; c < 1; c++)
+ a[d] = a[e * 3 + 9];
+ }
+ return 0;
+}
+
+int
+main ()
+{
+ fn1 ();
+ if (a[0] != 0)
+ abort ();
+ return 0;
+}