1 // { dg-do compile { target c++11 } } 2 // { dg-options -fnew-inheriting-ctors } 3 4 struct B1 { 5 B1(int); 6 }; 7 struct B2 { 8 B2(int); 9 }; 10 struct D1 : B1, B2 { 11 using B1::B1; 12 using B2::B2; 13 }; // ambiguous 14 struct D2 : B1, B2 { 15 using B1::B1; 16 using B2::B2; 17 D2(int); // OK: user declaration supersedes both implicit declarations 18 }; 19 20 D2 d2(42); 21 D1 d1(42); // { dg-error "ambiguous" } 22