llvm-project/clang/unittests/Tooling/RecursiveASTVisitorTests
Vedant Kumar 35d303adbf [Sema] Remove location from implicit capture init expr
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
2018-09-13 23:28:25 +00:00
..
Attr.cpp
CXXBoolLiteralExpr.cpp
CXXMemberCall.cpp
CXXOperatorCallExprTraverser.cpp
Class.cpp
ConstructExpr.cpp
DeclRefExpr.cpp [Sema] Remove location from implicit capture init expr 2018-09-13 23:28:25 +00:00
ImplicitCtor.cpp
InitListExprPostOrder.cpp
InitListExprPostOrderNoQueue.cpp
InitListExprPreOrder.cpp
InitListExprPreOrderNoQueue.cpp
IntegerLiteral.cpp
LambdaDefaultCapture.cpp
LambdaExpr.cpp
NestedNameSpecifiers.cpp
ParenExpr.cpp
TemplateArgumentLocTraverser.cpp