aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/ASanStackFrameLayout.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2016-10-18 23:39:12 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2016-10-18 23:39:12 +0000
commit84a0b6dba179126639a68a6925d9d0ceb0bb250a (patch)
tree5045f91a9ce4e1ebb736dfe5abbf8c60689b0000 /llvm/lib/Transforms/Utils/ASanStackFrameLayout.cpp
parent832c383b251e81f76d6bc4fcc645c4c1b0423617 (diff)
downloadllvm-84a0b6dba179126639a68a6925d9d0ceb0bb250a.zip
llvm-84a0b6dba179126639a68a6925d9d0ceb0bb250a.tar.gz
llvm-84a0b6dba179126639a68a6925d9d0ceb0bb250a.tar.bz2
DR1330: instantiate exception-specifications when "needed". We previously did
not instantiate exception specifications of functions if they were only used in unevaluated contexts (other than 'noexcept' expressions). In C++17 onwards, this becomes essential since the exception specification is now part of the function's type. Note that this means that constructs like the following no longer work: struct A { static T f() noexcept(...); decltype(f()) *p; }; ... because the decltype expression now needs the exception specification of 'f', which has not yet been parsed. llvm-svn: 284549
Diffstat (limited to 'llvm/lib/Transforms/Utils/ASanStackFrameLayout.cpp')
0 files changed, 0 insertions, 0 deletions