diff gcc/testsuite/g++.dg/pr80707.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/g++.dg/pr80707.C	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,29 @@
+// PR middle-end/80707 ICE: extra outgoing edge causes verify_flow_info error.
+// { dg-do compile }
+// { dg-options "-O3" } */
+
+struct A {
+  int m_fn1(int &) const;
+};
+int A::m_fn1(int &p1) const {
+  int a[6];
+  int b = 0;
+  for (int i;; i++) {
+    if (a[i])
+      break;
+    b++;
+  }
+  while (b) {
+    int c;
+    switch (b) {
+    case 1:
+      c = 0;
+      break;
+    case 5:
+      c = a[0];
+    }
+    if (c)
+      p1 = 0;
+    b--;
+  }
+}