16 lines · cpp
1// Only output llvm.assume(llvm.type.test()) if cfi-vcall is disabled and whole-program-vtables is enabled2// RUN: %clang_cc1 -flto -fvisibility=hidden -fsanitize=cfi-vcall -fwhole-program-vtables -emit-llvm -o - %s | FileCheck --check-prefix=CHECK --check-prefix=CFI %s3// RUN: %clang_cc1 -flto -fvisibility=hidden -fwhole-program-vtables -emit-llvm -o - %s | FileCheck --check-prefix=CHECK --check-prefix=NOCFI %s4 5struct S1 {6 virtual void f();7};8 9// CHECK: define{{.*}}s1f10// CHECK: llvm.type.test11// CFI-NOT: llvm.assume12// NOCFI: llvm.assume13void s1f(S1 *s1) {14 s1->f();15}16