aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard@metafoo.co.uk>2021-01-08 16:41:31 -0800
committerRichard Smith <richard@metafoo.co.uk>2021-01-08 16:51:47 -0800
commitaab25fa7d853d6da960607310e2cd3e3a843d5a9 (patch)
tree81b550803ab83312da52c9fe90b2b858c16f41e4 /clang/lib/Frontend/CompilerInvocation.cpp
parentb02ca0969ea3f8147ae74d08e131f1bfe4f203d2 (diff)
downloadllvm-aab25fa7d853d6da960607310e2cd3e3a843d5a9.zip
llvm-aab25fa7d853d6da960607310e2cd3e3a843d5a9.tar.gz
llvm-aab25fa7d853d6da960607310e2cd3e3a843d5a9.tar.bz2
Never call a destroying operator delete when cleaning up from an
exception thrown during construction in a new-expression. Instead, when performing deallocation function lookup for a new-expression, ignore all destroying operator delete candidates, and fall back to global operator delete if there is no member operator delete other than a destroying operator delete. Use of destroying operator delete only makes sense when there is an object to destroy, which there isn't in this case. The language wording doesn't cover this case; this oversight has been reported to WG21, with the approach in this patch as the proposed fix.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions