summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimur Iskhodzhanov <timurrrr@google.com>2013-12-12 11:07:03 +0000
committerTimur Iskhodzhanov <timurrrr@google.com>2013-12-12 11:07:03 +0000
commitfae1eda6716f5764a76764b53a2bbcb39edc8299 (patch)
treeacef7c6cd6c70e36ed3254421eafc7375019cf2e
parenta818200efba53d07b4c1872a164893851a43eb86 (diff)
downloadbcm5719-llvm-fae1eda6716f5764a76764b53a2bbcb39edc8299.tar.gz
bcm5719-llvm-fae1eda6716f5764a76764b53a2bbcb39edc8299.zip
Add a test case for the PR17748 crash
llvm-svn: 197143
-rw-r--r--clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp b/clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
index b58a0b14cdc..7ef9a7aff4d 100644
--- a/clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
+++ b/clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
@@ -430,6 +430,26 @@ void X::f() {}
X x;
}
+namespace Test11 {
+struct X : virtual A {};
+struct Y { virtual void g(); };
+
+struct Z : virtual X, Y {
+ // MANGLING-DAG: @"\01??_7Z@Test11@@6BY@1@@"
+
+ // FIXME this one is wrong:
+ // MANGLING-DAG-SHOULD-BE: @"\01??_7Z@Test11@@6BX@1@@"
+ // INCORRECT MANGLING-DAG: @"\01??_7Z@Test11@@6BA@@@"
+};
+
+Z z;
+
+struct W : virtual X, A {};
+
+// PR17748 FIXME this one hits UNREACHABLE:
+// W w;
+}
+
namespace vdtors {
struct X {
virtual ~X();
OpenPOWER on IntegriCloud