comparison 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
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
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 } } } } } }