summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/microsoft-abi-structors-alias.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-11-06 19:18:55 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-11-06 19:18:55 +0000
commite6d509f2e09698df4e334b77596ca40e4899b2e4 (patch)
treec408c7225b25eb0c76a865d4f565b7c73cb99119 /test/CodeGenCXX/microsoft-abi-structors-alias.cpp
parent9a2f84b2f03e79fb21f9db9e029045fba09dedef (diff)
Fix the -cxx-abi microsoft -mconstructor-aliases combination.
On the microsoft ABI clang is producing one weak_odr and one linkonce_odr destructor, which is reasonable since only one is required. The fix is simply to move the assert past the special case treatment of linkonce_odr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194158 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/microsoft-abi-structors-alias.cpp')
-rw-r--r--test/CodeGenCXX/microsoft-abi-structors-alias.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/CodeGenCXX/microsoft-abi-structors-alias.cpp b/test/CodeGenCXX/microsoft-abi-structors-alias.cpp
new file mode 100644
index 0000000000..d54520fab7
--- /dev/null
+++ b/test/CodeGenCXX/microsoft-abi-structors-alias.cpp
@@ -0,0 +1,9 @@
+// RUN: %clang_cc1 -emit-llvm %s -o - -cxx-abi microsoft -triple=i386-pc-win32 -fno-rtti -mconstructor-aliases | FileCheck %s
+
+namespace test1 {
+template <typename T> class A {
+ ~A() {}
+};
+template class A<char>;
+// CHECK: define weak_odr x86_thiscallcc void @"\01??1?$A@D@test1@@AAE@XZ"
+}