annotate gcc/testsuite/g++.dg/pr58438.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2 /* { dg-options "-march=amdfam10 -O3 -fprofile-generate -Wno-return-type" } */
111
kono
parents:
diff changeset
3 enum gimple_code {};
kono
parents:
diff changeset
4 struct A {
kono
parents:
diff changeset
5 gimple_code code;
kono
parents:
diff changeset
6 };
kono
parents:
diff changeset
7 struct B {
kono
parents:
diff changeset
8 A gsbase;
kono
parents:
diff changeset
9 };
kono
parents:
diff changeset
10 int **a;
kono
parents:
diff changeset
11 int b, d, e, f, g, h, i, j, k, l, m, n, o;
kono
parents:
diff changeset
12 gimple_code c, p;
kono
parents:
diff changeset
13 class C {
kono
parents:
diff changeset
14 virtual unsigned m_fn1();
kono
parents:
diff changeset
15 };
kono
parents:
diff changeset
16 B q;
kono
parents:
diff changeset
17 static int fn1() {
kono
parents:
diff changeset
18 int r;
kono
parents:
diff changeset
19 if (k)
kono
parents:
diff changeset
20 i = 0;
kono
parents:
diff changeset
21 for (; i; j++) {
kono
parents:
diff changeset
22 b = c <= 0;
kono
parents:
diff changeset
23 if (b)
kono
parents:
diff changeset
24 n = *a[0];
kono
parents:
diff changeset
25 b = p && c;
kono
parents:
diff changeset
26 if (b)
kono
parents:
diff changeset
27 r = *a[0];
kono
parents:
diff changeset
28 b = q.gsbase.code && c;
kono
parents:
diff changeset
29 if (b)
kono
parents:
diff changeset
30 o = *a[0];
kono
parents:
diff changeset
31 m = o;
kono
parents:
diff changeset
32 if (e || 1 & r || d || l)
kono
parents:
diff changeset
33 return 0;
kono
parents:
diff changeset
34 }
kono
parents:
diff changeset
35 }
kono
parents:
diff changeset
36
kono
parents:
diff changeset
37 class D : C {
kono
parents:
diff changeset
38 unsigned m_fn1() {
kono
parents:
diff changeset
39 fn1();
kono
parents:
diff changeset
40 for (; h; g++)
kono
parents:
diff changeset
41 for (;; f++)
kono
parents:
diff changeset
42 ;
kono
parents:
diff changeset
43 }
kono
parents:
diff changeset
44 };
kono
parents:
diff changeset
45 void fn2() { new D; }