summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/lang/cpp/exceptions/exceptions.cpp
diff options
context:
space:
mode:
authorJF Bastien <jfbastien@apple.com>2019-02-15 17:26:29 +0000
committerJF Bastien <jfbastien@apple.com>2019-02-15 17:26:29 +0000
commit0bae08ae7698869f17b7341f8378cf2de0502be8 (patch)
tree82e05a7286ac5ae31dadcde2019cd93b48db8649 /lldb/packages/Python/lldbsuite/test/lang/cpp/exceptions/exceptions.cpp
parentd9c4646d051ad6d61a1949df808e0e6f8cb2892a (diff)
downloadbcm5719-llvm-0bae08ae7698869f17b7341f8378cf2de0502be8.tar.gz
bcm5719-llvm-0bae08ae7698869f17b7341f8378cf2de0502be8.zip
Variable auto-init of blocks capturing self after init bugfix
Summary: Blocks that capture themselves (and escape) after initialization currently codegen wrong because this: bool capturedByInit = Init && emission.IsEscapingByRef && isCapturedBy(D, Init); Address Loc = capturedByInit ? emission.Addr : emission.getObjectAddress(*this); Already adjusts Loc from thr alloca to a GEP. This code: if (emission.IsEscapingByRef) Loc = emitBlockByrefAddress(Loc, &D, /*follow=*/false); Was trying to do the same adjustment, and a GEP on a GEP (returning an int) triggers an assertion. <rdar://problem/47943027> Reviewers: ahatanak Subscribers: jkorous, dexonsmith, cfe-commits, rjmccall Tags: #clang Differential Revision: https://reviews.llvm.org/D58218 llvm-svn: 354147
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lang/cpp/exceptions/exceptions.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud