1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s 2 3 // PR6141 4 template<typename T> 5 struct X { 6 X(); 7 template<typename U> X(X<U>); 8 X(const X<T>&); 9 }; 10 11 void f(X<int>) { } 12 13 struct Y : X<int> { }; 14 struct Z : X<float> { }; 15 16 // CHECK: define i32 @main() 17 int main() { 18 // CHECK: call void @_ZN1YC1Ev 19 // CHECK: call void @_ZN1XIiEC1ERKS0_ 20 // CHECK: call void @_Z1f1XIiE 21 f(Y()); 22 // CHECK: call void @_ZN1ZC1Ev 23 // CHECK: call void @_ZN1XIfEC1ERKS0_ 24 // CHECK: call void @_ZN1XIiEC1IfEES_IT_E 25 // CHECK: call void @_Z1f1XIiE 26 f(Z()); 27 } 28