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

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 // { dg-lto-do link }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 // { dg-require-effective-target shared }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 // { dg-require-effective-target fpic }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 // { dg-lto-options {{-O2 -fPIC -shared -flto}} }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 int a;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 void b(...);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 void c(int);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 enum { d, e, f, g, h, i, j, k };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 class l {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 public:
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 int ac;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 bool m;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 l(char *);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 int n();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 struct o {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 int ad;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 o(int p = 0) : ad(p) {}
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 class C : public l {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 public:
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 char q;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 C(o) : l(&q) { m |= ac & a ?: 9; }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 class r : C {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27 public:
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 char s;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29 r(o p, char) : C(p) {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 if (n()) {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31 b(a, s, "");
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32 c(5);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
34 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
35 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
36 class t : C {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
37 public:
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
38 t(int) : C(d) {}
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
39 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
40 r ag('b', 0), ah(o(), 0), ai(e, 0), aj(f, 0), ak(g, 0), al(h, 0), am(k, 0),
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
41 an(i, 0), ao(j, 0);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
42 t ap(0);