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()12void A::f() {} 13 main()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