summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExpr.cpp
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-12-18 13:51:48 +0000
committerStephan Bergmann <sbergman@redhat.com>2017-12-18 13:51:48 +0000
commit0c352eb940afac7221d4b84d9b3acbb405ffa4d8 (patch)
treed85cd5bdb590c50eb28c08a2b687d628bebe1bbe /clang/lib/CodeGen/CGExpr.cpp
parent2635ea66015955978ff03b917e5f134d3f99a05f (diff)
downloadbcm5719-llvm-0c352eb940afac7221d4b84d9b3acbb405ffa4d8.tar.gz
bcm5719-llvm-0c352eb940afac7221d4b84d9b3acbb405ffa4d8.zip
Revert r320978 "No -fsanitize=function warning when calling noexcept function through non-noexcept pointer in C++17"
At least <http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-android/ builds/6013/steps/annotate/logs/stdio> complains about __ubsan::__ubsan_handle_function_type_mismatch_abort (compiler-rt lib/ubsan/ubsan_handlers.cc) returning now despite being declared 'noreturn', so looks like a different approach is needed for the function_type_mismatch check to be called also in cases that may ultimately succeed. llvm-svn: 320982
Diffstat (limited to 'clang/lib/CodeGen/CGExpr.cpp')
-rw-r--r--clang/lib/CodeGen/CGExpr.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp
index 881e5334b46..98740e8f9aa 100644
--- a/clang/lib/CodeGen/CGExpr.cpp
+++ b/clang/lib/CodeGen/CGExpr.cpp
@@ -4504,14 +4504,10 @@ RValue CodeGenFunction::EmitCall(QualType CalleeType, const CGCallee &OrigCallee
Builder.CreateICmpEQ(CalleeRTTI, FTRTTIConst);
llvm::Constant *StaticData[] = {
EmitCheckSourceLocation(E->getLocStart()),
- EmitCheckTypeDescriptor(CalleeType),
- cast<FunctionProtoType>(FnType)->isNothrow(getContext())
- ? llvm::Constant::getNullValue(FTRTTIConst->getType())
- : FTRTTIConst
+ EmitCheckTypeDescriptor(CalleeType)
};
EmitCheck(std::make_pair(CalleeRTTIMatch, SanitizerKind::Function),
- SanitizerHandler::FunctionTypeMismatch, StaticData,
- {CalleePtr, CalleeRTTI});
+ SanitizerHandler::FunctionTypeMismatch, StaticData, CalleePtr);
Builder.CreateBr(Cont);
EmitBlock(Cont);
OpenPOWER on IntegriCloud