aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h
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/PythonReadline.h
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/PythonReadline.h')
0 files changed, 0 insertions, 0 deletions