]> granicus.if.org Git - clang/commitdiff
Add a test case for the PR17748 crash
authorTimur Iskhodzhanov <timurrrr@google.com>
Thu, 12 Dec 2013 11:07:03 +0000 (11:07 +0000)
committerTimur Iskhodzhanov <timurrrr@google.com>
Thu, 12 Dec 2013 11:07:03 +0000 (11:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197143 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp

index b58a0b14cdcda50e5c246f431a68e883d1069053..7ef9a7aff4dcf6a73a9382b2d0152a407504b475 100644 (file)
@@ -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();