Add missed testsuite/g++.dg/pr58438.C
authorVladimir Makarov <vmakarov@gcc.gnu.org>
Wed, 18 Sep 2013 18:27:49 +0000 (18:27 +0000)
committerVladimir Makarov <vmakarov@gcc.gnu.org>
Wed, 18 Sep 2013 18:27:49 +0000 (18:27 +0000)
From-SVN: r202715

gcc/testsuite/g++.dg/pr58438.C [new file with mode: 0644]

diff --git a/gcc/testsuite/g++.dg/pr58438.C b/gcc/testsuite/g++.dg/pr58438.C
new file mode 100644 (file)
index 0000000..4c62cb2
--- /dev/null
@@ -0,0 +1,45 @@
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-march=amdfam10 -O3 -fprofile-generate" } */
+enum gimple_code {};
+struct A {
+  gimple_code code;
+};
+struct B {
+  A gsbase;
+};
+int **a;
+int b, d, e, f, g, h, i, j, k, l, m, n, o;
+gimple_code c, p;
+class C {
+  virtual unsigned m_fn1();
+};
+B q;
+static int fn1() {
+  int r;
+  if (k)
+    i = 0;
+  for (; i; j++) {
+    b = c <= 0;
+    if (b)
+      n = *a[0];
+    b = p && c;
+    if (b)
+      r = *a[0];
+    b = q.gsbase.code && c;
+    if (b)
+      o = *a[0];
+    m = o;
+    if (e || 1 & r || d || l)
+      return 0;
+  }
+}
+
+class D : C {
+  unsigned m_fn1() {
+    fn1();
+    for (; h; g++)
+      for (;; f++)
+        ;
+  }
+};
+void fn2() { new D; }