diff options
author | Akira Hatanaka <ahatanaka@apple.com> | 2016-05-04 18:07:20 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@apple.com> | 2016-05-04 18:07:20 +0000 |
commit | c482acd2e5b9d37ae5f34740e20cb0d44468364a (patch) | |
tree | 00f78d68bc800acc92ed38b233276423f59551e5 /lldb/packages/Python/lldbsuite/test/python_api/symbol-context/TestSymbolContext.py | |
parent | 1a14f0d25cf15f698707d53eb13acfc88a7e2b32 (diff) | |
download | bcm5719-llvm-c482acd2e5b9d37ae5f34740e20cb0d44468364a.tar.gz bcm5719-llvm-c482acd2e5b9d37ae5f34740e20cb0d44468364a.zip |
[ObjC] Enter a new evaluation context before calling
BuildBlockForLambdaConversion.
Previously, clang would build an incorrect AST for the following code:
id test() {
return @{@"a": [](){}, @"b": [](){}};
}
ReturnStmt 0x10d080448
`-ExprWithCleanups 0x10d080428
|-cleanup Block 0x10d0801f0 // points to the second BlockDecl
...
-BlockDecl 0x10d07f150 // First block
...
-BlockDecl 0x10d0801f0 // Second block
...
`-ExprWithCleanups 0x10d0801d0
|-cleanup Block 0x10d07f150 // points to the first BlockDecl
To fix the bug, this commit enters a new evaluation context to reset
ExprNeedsCleanups before each block is parsed.
rdar://problem/16879958
Differential Revision: http://reviews.llvm.org/D18815
llvm-svn: 268527
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/symbol-context/TestSymbolContext.py')
0 files changed, 0 insertions, 0 deletions