1 // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s 2 3 // PR12219 4 struct A { A(int); virtual ~A(); }; 5 struct B : A { using A::A; ~B(); }; 6 B::~B() {} 7 8 B b(123); 9 10 struct C { template<typename T> C(T); }; 11 struct D : C { using C::C; }; 12 D d(123); 13 14 // CHECK-LABEL: define void @_ZN1BD2Ev 15 // CHECK-LABEL: define void @_ZN1BD1Ev 16 // CHECK-LABEL: define void @_ZN1BD0Ev 17 18 // CHECK-LABEL: define linkonce_odr void @_ZN1BC1Ei( 19 // CHECK: call void @_ZN1BC2Ei( 20 21 // CHECK-LABEL: define linkonce_odr void @_ZN1DC1IiEET_( 22 // CHECK: call void @_ZN1DC2IiEET_( 23 24 // CHECK-LABEL: define linkonce_odr void @_ZN1DC2IiEET_( 25 // CHECK: call void @_ZN1CC2IiEET_( 26 27 // CHECK-LABEL: define linkonce_odr void @_ZN1BC2Ei( 28 // CHECK: call void @_ZN1AC2Ei( 29