summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/ms-symbol-linkage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CodeGen/ms-symbol-linkage.cpp')
-rw-r--r--clang/test/CodeGen/ms-symbol-linkage.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/test/CodeGen/ms-symbol-linkage.cpp b/clang/test/CodeGen/ms-symbol-linkage.cpp
new file mode 100644
index 00000000000..3674ad0debf
--- /dev/null
+++ b/clang/test/CodeGen/ms-symbol-linkage.cpp
@@ -0,0 +1,20 @@
+// RUN: %clangxx -target aarch64-windows \
+// RUN: -fcxx-exceptions -c -o - %s \
+// RUN: | llvm-objdump -syms - 2>&1 | FileCheck %s
+
+void foo1() { throw 1; }
+// CHECK-LABEL: foo1
+// CHECK-NOT: __imp__CxxThrowException
+
+void bar();
+void foo2() noexcept(true) { bar(); }
+// CHECK-LABEL: foo2
+// CHECK-NOT: __imp___std_terminate
+
+struct A {};
+struct B { virtual void f(); };
+struct C : A, virtual B {};
+struct T {};
+T *foo3() { return dynamic_cast<T *>((C *)0); }
+// CHECK-LABEL: foo3
+// CHECK-NOT: __imp___RTDynamicCast
OpenPOWER on IntegriCloud