clang/test/CXX
Vedant Kumar d4e462f654 [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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@342194 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-13 23:28:25 +00:00
..
basic Restore pre-r335182 behavior for naming inherited constructors as 2018-06-22 19:50:19 +00:00
class Related to PR37768: improve diagnostics for class name shadowing. 2018-06-20 21:58:20 +00:00
class.access Diagnose invalid cv-qualifiers for friend decls. 2018-08-03 22:09:44 +00:00
class.derived Add context note to diagnostics that occur while declaring an implicit special member function. 2017-02-23 21:43:43 +00:00
concepts-ts Remove old concepts parsing code 2017-12-07 00:34:20 +00:00
conv Specify an explicit underlying type for this enum to fix Windows 2018-06-29 20:41:23 +00:00
cpp/cpp.predefined P0035R4: add predefined __STDCPP_DEFAULT_NEW_ALIGNMENT__ macro. By default, we 2016-09-30 22:41:36 +00:00
dcl.dcl Add missing temporary materialization conversion on left-hand side of . 2018-07-27 17:13:18 +00:00
dcl.decl [Sema] P0961R1: Relaxing the structured bindings customization point finding rules 2018-08-09 20:11:13 +00:00
drs PR38627: Fix handling of exception specification adjustment for 2018-09-05 22:30:37 +00:00
except PR38141: check whether noexcept-specifications are equivalent in redeclarations 2018-07-12 21:11:25 +00:00
expr [Sema] Remove location from implicit capture init expr 2018-09-13 23:28:25 +00:00
lex Convert test/CXX/lex/lex.literal/lex.string/p4.cpp back to DOS line 2016-01-04 10:17:48 +00:00
modules-ts Bring r325915 back. 2018-02-23 19:30:48 +00:00
over DR1687: When overload resolution selects a built-in operator, implicit 2018-06-27 20:30:34 +00:00
special Fold -Wreturn-stack-address into general initialization lifetime 2018-07-23 21:21:22 +00:00
stmt.stmt Clean up and simplify RequireCompleteType. 2018-08-07 21:35:41 +00:00
temp Improve diagnostic for missing comma in template parameter list. 2018-08-17 19:43:40 +00:00