blob: 93d36ff4750ac22e04cb1b0ed677003812521f2f [file] [log] [blame]
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s
Anders Carlsson0ade9712009-11-24 05:16:24 +00002
3// CHECK: ; ModuleID
4struct A {
5 template<typename T>
6 A(T);
7};
8
9template<typename T> A::A(T) {}
Anders Carlssonbd975482009-11-24 05:36:32 +000010
11struct B {
12 template<typename T>
13 B(T);
14};
15
16template<typename T> B::B(T) {}
17
Stephen Lin43622612013-08-15 06:47:53 +000018// CHECK-LABEL: define weak_odr void @_ZN1BC2IiEET_(%struct.B* %this, i32) unnamed_addr
Rafael Espindolac3cde362013-12-09 14:51:17 +000019// CHECK-LABEL: define weak_odr void @_ZN1BC1IiEET_(%struct.B* %this, i32) unnamed_addr
Anders Carlssonbd975482009-11-24 05:36:32 +000020template B::B(int);
Anders Carlssonb7408b92009-11-24 16:52:50 +000021
22template<typename T>
23struct C {
24 void f() {
25 int a[] = { 1, 2, 3 };
26 }
27};
28
29void f(C<int>& c) {
30 c.f();
31}