1 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s 2 3 // CHECK: ; ModuleID 4 struct A { 5 template<typename T> 6 A(T); 7 }; 8 9 template<typename T> A::A(T) {} 10 11 struct B { 12 template<typename T> 13 B(T); 14 }; 15 16 template<typename T> B::B(T) {} 17 18 // CHECK-LABEL: define weak_odr void @_ZN1BC1IiEET_(%struct.B* %this, i32) unnamed_addr 19 // CHECK-LABEL: define weak_odr void @_ZN1BC2IiEET_(%struct.B* %this, i32) unnamed_addr 20 template B::B(int); 21 22 template<typename T> 23 struct C { 24 void f() { 25 int a[] = { 1, 2, 3 }; 26 } 27 }; 28 29 void f(C<int>& c) { 30 c.f(); 31 } 32