diff options
author | Xun Li <xun@fb.com> | 2020-10-12 12:00:20 -0700 |
---|---|---|
committer | Xun Li <xun@fb.com> | 2020-10-12 12:00:20 -0700 |
commit | dce8f2bb25ea1d01533d8e602f2520492fa67259 (patch) | |
tree | 29c41e354bc63823ba434ffebe9840d2e61b2818 /lldb/source/Commands/CommandObjectThread.cpp | |
parent | f09587c64ccb713af1e83d4f01a6aea3cb682c94 (diff) | |
download | llvm-dce8f2bb25ea1d01533d8e602f2520492fa67259.zip llvm-dce8f2bb25ea1d01533d8e602f2520492fa67259.tar.gz llvm-dce8f2bb25ea1d01533d8e602f2520492fa67259.tar.bz2 |
[Coroutine][Sema] Only tighten the suspend call temp lifetime for final awaiter
In https://reviews.llvm.org/D87470 I added the change to tighten the lifetime of the expression awaiter.await_suspend().address.
Howver it was incorrect. ExprWithCleanups will call the dtor and end the lifetime for all the temps created in the current full expr.
When this is called on a normal await call, we don't want to do that.
We only want to do this for the call on the final_awaiter, to avoid writing into the frame after the frame is destroyed.
This change fixes it, by checking IsImplicit.
Differential Revision: https://reviews.llvm.org/D89066
Diffstat (limited to 'lldb/source/Commands/CommandObjectThread.cpp')
0 files changed, 0 insertions, 0 deletions