diff options
| -rw-r--r-- | compiler-rt/test/cfi/bad-split.cpp | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/compiler-rt/test/cfi/bad-split.cpp b/compiler-rt/test/cfi/bad-split.cpp new file mode 100644 index 00000000000..2f3bef94879 --- /dev/null +++ b/compiler-rt/test/cfi/bad-split.cpp @@ -0,0 +1,19 @@ +// GlobalSplit used to lose type metadata for classes with virtual bases but no virtual methods. +// RUN: %clangxx_cfi -o %t1 %s && %t1 + +struct Z { +}; + +struct ZZ : public virtual Z { +}; + +struct A : public ZZ { +}; + +struct B : public A { +}; + +int main() { +  A* a = new B(); +  B *b = (B*)a; +}  | 

