aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-03-01 12:29:39 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-03-01 12:29:39 +0000
commitd3e1a77949b9b0e992ca6a118a3103929f745986 (patch)
tree963f2401f3e387a9c7df655de57f46bf3fee3c32 /gcc
parent76c1a7ec3da05e9a249c9ccdda28c44778cd1a3f (diff)
downloadgcc-d3e1a77949b9b0e992ca6a118a3103929f745986.zip
gcc-d3e1a77949b9b0e992ca6a118a3103929f745986.tar.gz
gcc-d3e1a77949b9b0e992ca6a118a3103929f745986.tar.bz2
re PR middle-end/55481 (-O2 generates a wrong-code infinite loop in C++Benchmark's simple_types_constant_folding int8 xor test)
2013-03-01 Richard Biener <rguenther@suse.de> PR tree-optimization/55481 * gcc.dg/torture/pr56488.c: New testcase. From-SVN: r196377
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr56488.c31
2 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 527fefb..8a2daad 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2013-03-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55481
+ * gcc.dg/torture/pr56488.c: New testcase.
+
2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
Jakub Jelinek <jakub@redhat.com>
diff --git a/gcc/testsuite/gcc.dg/torture/pr56488.c b/gcc/testsuite/gcc.dg/torture/pr56488.c
new file mode 100644
index 0000000..78bac7b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr56488.c
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+int a, c, d = 1;
+struct S { int s; } b, f;
+short e;
+
+static void
+foo (int x)
+{
+ int g[] = { };
+ for (e = 0; e != 1; e = e + 5)
+ {
+ int *h[1] = { &g[0] };
+ if (!x)
+ return;
+ f = b;
+ }
+}
+
+int
+main ()
+{
+ int i, j;
+ for (i = 0; i < 6; i++)
+ for (j = 8; j; j--)
+ a = 0;
+ foo (d);
+ while (c)
+ ;
+ return 0;
+}