diff options
Diffstat (limited to 'test/CodeGenCXX/apple-kext-linkage.C')
-rw-r--r-- | test/CodeGenCXX/apple-kext-linkage.C | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/test/CodeGenCXX/apple-kext-linkage.C b/test/CodeGenCXX/apple-kext-linkage.C index 9df11511762c9..59d228e2300c3 100644 --- a/test/CodeGenCXX/apple-kext-linkage.C +++ b/test/CodeGenCXX/apple-kext-linkage.C @@ -13,13 +13,21 @@ void foo() { Derived d1; // ok } +// CHECK: define internal i32 @_Z1fj( inline unsigned f(unsigned n) { return n == 0 ? 0 : n + f(n-1); } unsigned g(unsigned n) { return f(n); } +// rdar://problem/10133200: give explicit instantiations external linkage in kernel mode +// CHECK: define void @_Z3barIiEvv() +template <typename T> void bar() {} +template void bar<int>(); +// CHECK: define internal i32 @_Z5identIiET_S0_( template <typename X> X ident(X x) { return x; } + int foo(int n) { return ident(n); } -// CHECK-NOT: define linkonce_odr -// CHECK 5 : define internal +// CHECK: define internal void @_ZN7DerivedD1Ev( +// CHECK: define internal void @_ZN7DerivedD0Ev( +// CHECK: define internal void @_ZN7DeriveddlEPv( |