// PR lto/113208 // { dg-do compile { target { c++11 && { *-*-*gnu* } } } } // { dg-additional-options "-O2" } // { dg-final { scan-assembler-not "_ZN1BI1CEC5ERKS1_,comdat" } } // { dg-final { scan-assembler-not "_ZN1BI1CEC1ERKS1_,comdat" } } // { dg-final { scan-assembler-not "_ZN1BI1CEC2ERKS1_,comdat" } } template struct A { int foo () const; A (int, int); }; template struct B : A { constexpr B (const B &x) : A (1, x.foo ()) {} B () : A (1, 2) {} }; struct C; struct D : B {}; void bar (D); void baz (D x) { bar (x); } extern template struct B;