summaryrefslogtreecommitdiff
path: root/.arcconfig
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-12-18 13:05:41 +0000
committerStephan Bergmann <sbergman@redhat.com>2017-12-18 13:05:41 +0000
commit4b787a08f59576b523733b556200287ea54fdc05 (patch)
treed6b7520cdf956c9dd162bc5459191034ba05a53f /.arcconfig
parent0fb53ba1a95663a10966d45dddb41fe8bea9d9aa (diff)
No -fsanitize=function warning when calling noexcept function through non-noexcept pointer in C++17
As discussed in the mail thread <https://groups.google.com/a/isocpp.org/forum/ #!topic/std-discussion/T64_dW3WKUk> "Calling noexcept function throug non- noexcept pointer is undefined behavior?", such a call should not be UB. However, Clang currently warns about it. There is no cheap check whether two function type_infos only differ in noexcept,so pass those two type_infos as additional data to the function_type_mismatch handler (with the optimization of passing a null "static callee type" info when that is already noexcept, so the additional check can be avoided anyway). For the Itanium ABI (which appears to be the only one that happens to be used on platforms that support -fsanitize=function, and which appears to only record noexcept information for pointer-to-function type_infos, not for function type_infos themselves), we then need to check the mangled names for occurrence of "Do" representing "noexcept". This is the compiler-rt part of a patch covering both cfe and compiler-rt. Differential Revision: https://reviews.llvm.org/D40720 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@320977 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to '.arcconfig')
0 files changed, 0 insertions, 0 deletions