Eli Friedman | 540659e | 2012-03-10 01:39:01 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s |
| 2 | |
Eli Friedman | 540659e | 2012-03-10 01:39:01 +0000 | [diff] [blame] | 3 | // PR12219 |
| 4 | struct A { A(int); virtual ~A(); }; |
| 5 | struct B : A { using A::A; ~B(); }; |
| 6 | B::~B() {} |
Richard Smith | 07b0fdc | 2013-03-18 21:12:30 +0000 | [diff] [blame] | 7 | |
| 8 | B b(123); |
| 9 | |
Richard Smith | 4841ca5 | 2013-04-10 05:48:59 +0000 | [diff] [blame] | 10 | struct C { template<typename T> C(T); }; |
| 11 | struct D : C { using C::C; }; |
| 12 | D d(123); |
| 13 | |
Stephen Lin | 93ab6bf | 2013-08-15 06:47:53 +0000 | [diff] [blame] | 14 | // CHECK-LABEL: define void @_ZN1BD2Ev |
Stephen Hines | 651f13c | 2014-04-23 16:59:28 -0700 | [diff] [blame] | 15 | // CHECK-LABEL: define void @_ZN1BD1Ev |
| 16 | // CHECK-LABEL: define void @_ZN1BD0Ev |
Richard Smith | 07b0fdc | 2013-03-18 21:12:30 +0000 | [diff] [blame] | 17 | |
Stephen Lin | 93ab6bf | 2013-08-15 06:47:53 +0000 | [diff] [blame] | 18 | // CHECK-LABEL: define linkonce_odr void @_ZN1BC1Ei( |
Richard Smith | 07b0fdc | 2013-03-18 21:12:30 +0000 | [diff] [blame] | 19 | // CHECK: call void @_ZN1BC2Ei( |
| 20 | |
Stephen Lin | 93ab6bf | 2013-08-15 06:47:53 +0000 | [diff] [blame] | 21 | // CHECK-LABEL: define linkonce_odr void @_ZN1DC1IiEET_( |
Richard Smith | 4841ca5 | 2013-04-10 05:48:59 +0000 | [diff] [blame] | 22 | // CHECK: call void @_ZN1DC2IiEET_( |
| 23 | |
Stephen Lin | 93ab6bf | 2013-08-15 06:47:53 +0000 | [diff] [blame] | 24 | // CHECK-LABEL: define linkonce_odr void @_ZN1BC2Ei( |
Richard Smith | 07b0fdc | 2013-03-18 21:12:30 +0000 | [diff] [blame] | 25 | // CHECK: call void @_ZN1AC2Ei( |
Stephen Hines | 0e2c34f | 2015-03-23 12:09:02 -0700 | [diff] [blame] | 26 | |
| 27 | // CHECK-LABEL: define linkonce_odr void @_ZN1DC2IiEET_( |
| 28 | // CHECK: call void @_ZN1CC2IiEET_( |