forked from OSchip/llvm-project
35d303adbf
A lambda's closure is initialized when the lambda is declared. For implicit captures, the initialization code emitted from EmitLambdaExpr references source locations *within the lambda body* in the function containing the lambda. This results in a poor debugging experience: we step to the line containing the lambda, then into lambda, out again, over and over, until every capture's field is initialized. To improve stepping behavior, assign the starting location of the lambda to expressions which initialize an implicit capture within it. rdar://39807527 Differential Revision: https://reviews.llvm.org/D50927 llvm-svn: 342194 |
||
---|---|---|
.. | ||
Attr.cpp | ||
CXXBoolLiteralExpr.cpp | ||
CXXMemberCall.cpp | ||
CXXOperatorCallExprTraverser.cpp | ||
Class.cpp | ||
ConstructExpr.cpp | ||
DeclRefExpr.cpp | ||
ImplicitCtor.cpp | ||
InitListExprPostOrder.cpp | ||
InitListExprPostOrderNoQueue.cpp | ||
InitListExprPreOrder.cpp | ||
InitListExprPreOrderNoQueue.cpp | ||
IntegerLiteral.cpp | ||
LambdaDefaultCapture.cpp | ||
LambdaExpr.cpp | ||
NestedNameSpecifiers.cpp | ||
ParenExpr.cpp | ||
TemplateArgumentLocTraverser.cpp |