summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/microsoft-abi-structors.cpp
diff options
context:
space:
mode:
authorTimur Iskhodzhanov <timurrrr@google.com>2013-08-04 17:30:04 +0000
committerTimur Iskhodzhanov <timurrrr@google.com>2013-08-04 17:30:04 +0000
commitbb1b797d2e432293563747bd9704b22cf0787061 (patch)
treefe37fcb9f7b6b6b378970d36d60e7e33c983d139 /test/CodeGenCXX/microsoft-abi-structors.cpp
parent6f4f8083931a92f9959168d4430da7ddf9183100 (diff)
Emit the constructor for abstract classes when using -cxx-abi microsoft, fixes PR16735
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187709 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/microsoft-abi-structors.cpp')
-rw-r--r--test/CodeGenCXX/microsoft-abi-structors.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/CodeGenCXX/microsoft-abi-structors.cpp b/test/CodeGenCXX/microsoft-abi-structors.cpp
index 24be897b05..95752752f3 100644
--- a/test/CodeGenCXX/microsoft-abi-structors.cpp
+++ b/test/CodeGenCXX/microsoft-abi-structors.cpp
@@ -221,6 +221,15 @@ E::E() {
// CHECK: ret
}
+// PR16735 - even abstract classes should have a constructor emitted.
+struct F {
+ F();
+ virtual void f() = 0;
+};
+
+F::F() {}
+// CHECK: define x86_thiscallcc %"struct.constructors::F"* @"\01??0F@constructors@@QAE@XZ"
+
} // end namespace constructors
namespace dtors {