28 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s2 3// PR61414template<typename T>5struct X {6 X();7 template<typename U> X(X<U>);8 X(const X<T>&);9};10 11void f(X<int>) { }12 13struct Y : X<int> { };14struct Z : X<float> { };15 16// CHECK: define{{.*}} i32 @main()17int main() {18 // CHECK: call void @_ZN1YC1Ev19 // CHECK: call void @_ZN1XIiEC1ERKS0_20 // CHECK: call void @_Z1f1XIiE21 f(Y());22 // CHECK: call void @_ZN1ZC1Ev23 // CHECK: call void @_ZN1XIfEC1ERKS0_24 // CHECK: call void @_ZN1XIiEC1IfEES_IT_E25 // CHECK: call void @_Z1f1XIiE26 f(Z());27}28