xref: /llvm-project/compiler-rt/test/hwasan/TestCases/cfi.cpp (revision feef101ac2f6fe4f75670613dee7ab8408d93b2b)
1 // RUN: %clangxx_hwasan -fsanitize=cfi -fno-sanitize-trap=cfi -flto -fvisibility=hidden %s -o %t
2 // RUN: not %run %t 2>&1 | FileCheck %s
3 
4 // REQUIRES: android
5 
6 // Smoke test for CFI + HWASAN.
7 
8 struct A {
9   virtual void f();
10 };
11 
f()12 void A::f() {}
13 
main()14 int main() {
15   // CHECK: control flow integrity check for type {{.*}} failed during cast to unrelated type
16   A *a = reinterpret_cast<A *>(reinterpret_cast<void *>(&main));
17   (void)a;
18 }
19