aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python
diff options
context:
space:
mode:
authorJames Y Knight <jyknight@google.com>2022-02-02 11:32:41 -0500
committerJames Y Knight <jyknight@google.com>2022-02-02 17:50:18 -0500
commitfa87fa97fb79e4205a84b12a8c4f2f7d819473d5 (patch)
treef270a0052d259c3f64ac814e24928b5c25935582 /lldb/source/Plugins/ScriptInterpreter/Python
parent8e123ca65f5f9286e59f2c79184d01673c87aa42 (diff)
downloadllvm-fa87fa97fb79e4205a84b12a8c4f2f7d819473d5.zip
llvm-fa87fa97fb79e4205a84b12a8c4f2f7d819473d5.tar.gz
llvm-fa87fa97fb79e4205a84b12a8c4f2f7d819473d5.tar.bz2
Skip exception cleanups when the innermost scope is EHTerminateScope.
EHTerminateScope is used to implement C++ noexcept semantics. Per C++ [except.terminate], it is implemented-defined whether no, some, or all cleanups are run prior to terminatation. Therefore, the code to run cleanups on the way towards termination is unnecessary, and may be omitted. After this change, we will still run some cleanups: any cleanups in a function called from the noexcept function will continue to run, while those in the noexcept function itself will not. (Commit attempt 2: check InnermostEHScope != stable_end() before accessing it.) Differential Revision: https://reviews.llvm.org/D113620
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions