summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/apple-kext-linkage.cpp
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2015-01-25 02:04:36 +0000
committerNico Weber <nicolasweber@gmx.de>2015-01-25 02:04:36 +0000
commita24b299c00792093910f77eb10c01035bca91bb0 (patch)
treef763c897b61e959b58251e92d8b3f9f9dd96b01f /clang/test/CodeGenCXX/apple-kext-linkage.cpp
parent9f7ae2c9484431ad9caa4357b5109f90c166edd0 (diff)
downloadbcm5719-llvm-a24b299c00792093910f77eb10c01035bca91bb0.tar.gz
bcm5719-llvm-a24b299c00792093910f77eb10c01035bca91bb0.zip
Rename four test files from .C to .cpp.
lit.cfg has never supported running .C files, so these tests were never executed by check-clang. Rename them to .cpp so that they run as part of the test suite, and minorly tweak two of them that look like they were broken when checked in to actually pass. llvm-svn: 227029
Diffstat (limited to 'clang/test/CodeGenCXX/apple-kext-linkage.cpp')
-rw-r--r--clang/test/CodeGenCXX/apple-kext-linkage.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/apple-kext-linkage.cpp b/clang/test/CodeGenCXX/apple-kext-linkage.cpp
new file mode 100644
index 00000000000..e66b0389fcc
--- /dev/null
+++ b/clang/test/CodeGenCXX/apple-kext-linkage.cpp
@@ -0,0 +1,33 @@
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fapple-kext -emit-llvm -o - %s | FileCheck %s
+
+struct Base {
+ virtual ~Base();
+} ;
+
+struct Derived : Base {
+ void operator delete(void *) { }
+ Derived();
+};
+
+void foo() {
+ Derived d1; // ok
+}
+
+// CHECK-LABEL: 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-LABEL: define void @_Z3barIiEvv()
+template <typename T> void bar() {}
+template void bar<int>();
+
+// CHECK-LABEL: define internal i32 @_Z5identIiET_S0_(
+template <typename X> X ident(X x) { return x; }
+
+int foo(int n) { return ident(n); }
+
+// CHECK-LABEL: define internal void @_ZN7DerivedD1Ev(
+// CHECK-LABEL: define internal void @_ZN7DerivedD0Ev(
+// CHECK-LABEL: define internal void @_ZN7DeriveddlEPv(
OpenPOWER on IntegriCloud