xref: /llvm-project/compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-virtual-base-construction.cpp (revision 8a220b229e86f42088a25424030b7b0b2bfb90c7)
1 // RUN: %clangxx -frtti -fsanitize=vptr -fno-sanitize-recover=vptr %s -o %t
2 // RUN: %run %t
3 
4 // REQUIRES: cxxabi
5 // FIXME: Should pass on Android, but started failing around 2023-11-05 for unknown reasons.
6 // UNSUPPORTED: target={{.*(windows-msvc|android).*}}
7 
8 int volatile n;
9 
~AA10 struct A { virtual ~A() {} };
11 struct B: virtual A {};
~CC12 struct C: virtual A { ~C() { n = 0; } };
13 struct D: virtual B, virtual C {};
14 
main()15 int main() { delete new D; }
16