diff options
| author | Timur Iskhodzhanov <timurrrr@google.com> | 2013-12-12 11:07:03 +0000 |
|---|---|---|
| committer | Timur Iskhodzhanov <timurrrr@google.com> | 2013-12-12 11:07:03 +0000 |
| commit | fae1eda6716f5764a76764b53a2bbcb39edc8299 (patch) | |
| tree | acef7c6cd6c70e36ed3254421eafc7375019cf2e | |
| parent | a818200efba53d07b4c1872a164893851a43eb86 (diff) | |
| download | bcm5719-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.cpp | 20 |
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(); |

