blob: 7e4bdca77f38dd31bbe5b821c5b4770a116fc78e [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s
Anders Carlsson1fe598c2009-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 Carlsson7e120032009-11-24 05:36:32 +000010
11struct B {
12 template<typename T>
13 B(T);
14};
15
16template<typename T> B::B(T) {}
17
Rafael Espindola0691a5c2011-01-25 19:10:24 +000018// CHECK: define weak_odr void @_ZN1BC1IiEET_(%struct.B* %this, i32) unnamed_addr
19// CHECK: define weak_odr void @_ZN1BC2IiEET_(%struct.B* %this, i32) unnamed_addr
Anders Carlsson7e120032009-11-24 05:36:32 +000020template B::B(int);
Anders Carlssona244dc32009-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}