aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2017-01-10 13:55:59 -0700
committerJeff Law <law@gcc.gnu.org>2017-01-10 13:55:59 -0700
commit5363d9d949cf4e0527037cd1a7032fdd3f6964ed (patch)
treee2b4748e1c274655658613b50816554637191098 /gcc
parentdc703d70ec7bc3039741c380ea1dd0a7c14f7ee2 (diff)
downloadgcc-5363d9d949cf4e0527037cd1a7032fdd3f6964ed.zip
gcc-5363d9d949cf4e0527037cd1a7032fdd3f6964ed.tar.gz
gcc-5363d9d949cf4e0527037cd1a7032fdd3f6964ed.tar.bz2
re PR middle-end/77766 (wrong code at -O2 and -O3 in 64-bit mode on x86_64-linux-gnu (executable hangs))
PR tree-optimization/77766 PR tree-optimization/78856 * gcc.c-torture/execute/pr77766.c: New test. From-SVN: r244287
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr77766.c28
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index bc86b4f..009d32d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2017-01-10 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/77766
+ PR tree-optimization/78856
+ * gcc.c-torture/execute/pr77766.c: New test.
+
2016-01-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/79034
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr77766.c b/gcc/testsuite/gcc.c-torture/execute/pr77766.c
new file mode 100644
index 0000000..f8f61ad
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr77766.c
@@ -0,0 +1,28 @@
+char a;
+short b, d = 5, h;
+char c[1];
+int e, f = 4, g, j;
+int main() {
+ int i;
+ for (; f; f = a) {
+ g = 0;
+ for (; g <= 32; ++g) {
+ i = 0;
+ for (; i < 3; i++)
+ while (1 > d)
+ if (c[b])
+ break;
+ L:
+ if (j)
+ break;
+ }
+ }
+ e = 0;
+ for (; e; e = 0) {
+ d++;
+ for (; h;)
+ goto L;
+ }
+ return 0;
+}
+