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
8struct A {
9 virtual void f();
10};
11
12void A::f() {}
13
14int 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

source code of compiler-rt/test/hwasan/TestCases/cfi.cpp