Summary:
This is a follow up for https://reviews.llvm.org/D57278. The previous
revision should have also included Kernel ASan.
rdar://problem/
40723397
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D57711
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@353120
91177308-0d34-0410-b5e6-
96231b3b80d8
// Avoid incompatibility with ASan which relies on the `noreturn`
// attribute to insert handler calls.
- if (SanOpts.has(SanitizerKind::Address)) {
+ if (SanOpts.hasOneOf(SanitizerKind::Address |
+ SanitizerKind::KernelAddress)) {
SanitizerScope SanScope(this);
llvm::IRBuilder<>::InsertPointGuard IPGuard(Builder);
Builder.SetInsertPoint(CI);
// Ensure compatiblity of UBSan unreachable with ASan in the presence of
// noreturn functions.
-// RUN: %clang_cc1 -fsanitize=unreachable,address -triple x86_64-linux -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -fsanitize=unreachable,address -triple x86_64-linux -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -fsanitize=unreachable,kernel-address -triple x86_64-linux -emit-llvm -o - %s | FileCheck %s
void my_longjmp(void) __attribute__((noreturn));