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