annotate gcc/testsuite/g++.dg/lto/pr86523-3_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 fpic }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 // { dg-require-effective-target shared }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 // { dg-lto-options { { -fPIC -flto -g -shared } } }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 class a {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 int b;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 int const c = 0, d = 1, f = 2, g = 3;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 struct B {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 typedef a h;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 h i;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 template <class> B j();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 template <class> struct k_context { static B const e_missingvar; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 template <class l> B const k_context<l>::e_missingvar = j<l>();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 inline B m() {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 switch (0) {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 case c:
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 case d:
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 return k_context<int>::e_missingvar;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 case f:
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 case g:;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 }