annotate gcc/testsuite/g++.dg/abi/pr60336-9.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-do compile }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 // { dg-options "-O2 -std=c++11 -fno-pic" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 // { dg-require-effective-target fpic }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 struct A1 {}; struct A2 {};
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 struct B1 { A1 a; A2 b; }; struct B2 { A1 a; A2 b; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 struct C1 { B1 a; B2 b; }; struct C2 { B1 a; B2 b; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 struct D1 { C1 a; C2 b; }; struct D2 { C1 a; C2 b; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 struct E1 { D1 a; D2 b; }; struct E2 { D1 a; D2 b; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 struct F1 { E1 a; E2 b; }; struct F2 { E1 a; E2 b; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 struct G1 { F1 a; F2 b; }; struct G2 { F1 a; F2 b; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 struct H1 { G1 a; G2 b; }; struct H2 { G1 a; G2 b; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 struct I1 { H1 a; H2 b; }; struct I2 { H1 a; H2 b; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 struct J1 { I1 a; I2 b; }; struct J2 { I1 a; I2 b; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 struct dummy { J1 a; J2 b; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 struct true_type { struct dummy i; };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 extern true_type y;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 extern void xxx (true_type c);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 void
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 yyy (void)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 xxx (y);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 // { dg-final { scan-assembler "jmp\[\t \]+\[^\$\]*?_Z3xxx9true_type" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } }