summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCall.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/CodeGen/CGCall.cpp')
-rw-r--r--clang/lib/CodeGen/CGCall.cpp13
1 files changed, 0 insertions, 13 deletions
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp
index 655c75c01f6..893a6f2f902 100644
--- a/clang/lib/CodeGen/CGCall.cpp
+++ b/clang/lib/CodeGen/CGCall.cpp
@@ -4398,23 +4398,10 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo &CallInfo,
// Strip away the noreturn attribute to better diagnose unreachable UB.
if (SanOpts.has(SanitizerKind::Unreachable)) {
- // Also remove from function since CI->hasFnAttr(..) also checks attributes
- // of the called function.
if (auto *F = CI->getCalledFunction())
F->removeFnAttr(llvm::Attribute::NoReturn);
CI->removeAttribute(llvm::AttributeList::FunctionIndex,
llvm::Attribute::NoReturn);
-
- // Avoid incompatibility with ASan which relies on the `noreturn`
- // attribute to insert handler calls.
- if (SanOpts.has(SanitizerKind::Address)) {
- SanitizerScope SanScope(this);
- Builder.SetInsertPoint(CI);
- auto *FnType = llvm::FunctionType::get(CGM.VoidTy, /*isVarArg=*/false);
- auto *Fn = CGM.CreateRuntimeFunction(FnType, "__asan_handle_no_return");
- EmitNounwindRuntimeCall(Fn);
- Builder.SetInsertPoint(CI->getParent());
- }
}
EmitUnreachable(Loc);
OpenPOWER on IntegriCloud