1 // RUN: %clang_cc1 -triple arm64e-apple-ios15 -fsanitize=vptr -O0 -emit-llvm -o - %s | FileCheck %s
2 // RUN: %clang_cc1 -triple arm64e-apple-ios15 -fsanitize=vptr -O2 -disable-llvm-passes -emit-llvm -o - %s | FileCheck %s
4 // RUN: %clang_cc1 -triple aarch64-linux-gnu -fsanitize=vptr -O0 -emit-llvm -o - %s | FileCheck %s
5 // RUN: %clang_cc1 -triple aarch64-linux-gnu -fsanitize=vptr -O2 -disable-llvm-passes -emit-llvm -o - %s | FileCheck %s
10 virtual int v() { return 0; }
19 int foo1(void* Buffer
) {
20 T
*p
= reinterpret_cast<T
*>(Buffer
);
23 // CHECK-NOT: call {{.*}} @llvm.ptrauth.auth{{.*}}
24 // CHECK-NOT: call {{.*}} @llvm.ptrauth.strip{{.*}}
28 T
*p
= dynamic_cast<T
*>(s
);
32 // CHECK-NOT: call {{.*}} @llvm.ptrauth.auth{{.*}}
33 // CHECK-NOT: call {{.*}} @llvm.ptrauth.strip{{.*}}