Enable flate-combine.
[official-gcc.git] / gcc / testsuite / g++.dg / abi / comdat2.C
blob502d00c0582638120da15721b060d342dd7b09d3
1 // PR lto/113208
2 // { dg-do compile { target { c++11 && { *-*-*gnu* } } } }
3 // { dg-additional-options "-O2 -fkeep-inline-functions" }
4 // { dg-final { scan-assembler "_ZN1BI1CEC5ERKS1_,comdat" } }
5 // { dg-final { scan-assembler-not "_ZN1BI1CEC1ERKS1_,comdat" } }
6 // { dg-final { scan-assembler-not "_ZN1BI1CEC2ERKS1_,comdat" } }
8 template <typename T>
9 struct A {
10   int foo () const;
11   A (int, int);
13 template <typename T>
14 struct B : A<T> {
15   constexpr B (const B &x) : A<T> (1, x.foo ()) {}
16   B () : A<T> (1, 2) {}
18 struct C;
19 struct D : B<C> {};
20 void bar (D);
22 void
23 baz (D x)
25   bar (x);