diff options
author | James Y Knight <jyknight@google.com> | 2022-02-04 23:39:18 -0500 |
---|---|---|
committer | James Y Knight <jyknight@google.com> | 2022-02-04 23:39:42 -0500 |
commit | caa1ebde70673ddb7124a0599ba846362a1f8b1e (patch) | |
tree | 49b0075da8b630d50bc74515eadd8f5ea5eae85a /llvm/lib/Transforms/Utils/LCSSA.cpp | |
parent | dee058c670593b999fec19c458dbbd882ad9de56 (diff) | |
download | llvm-caa1ebde70673ddb7124a0599ba846362a1f8b1e.zip llvm-caa1ebde70673ddb7124a0599ba846362a1f8b1e.tar.gz llvm-caa1ebde70673ddb7124a0599ba846362a1f8b1e.tar.bz2 |
Don't assume that a new cleanup was added to InnermostEHScope.
After fa87fa97fb79, this was no longer guaranteed to be the cleanup
just added by this code, if IsEHCleanup got disabled. Instead, use
stable_begin(), which _is_ guaranteed to be the cleanup just added.
This caused a crash when a object that is callee destroyed (e.g. with the MS ABI) was passed in a call from a noexcept function.
Added a test to verify.
Fixes: fa87fa97fb79
Diffstat (limited to 'llvm/lib/Transforms/Utils/LCSSA.cpp')
0 files changed, 0 insertions, 0 deletions