================
@@ -3387,7 +3387,14 @@ LValue CodeGenFunction::EmitDeclRefLValue(const
DeclRefExpr *E) {
auto *FD = LambdaCaptureFields.lookup(BD);
return EmitCapturedFieldLValue(*this, FD, CXXABIThisValue);
}
- return EmitLValue(BD->getBinding());
+ // Suppress debug location updates when visiting the binding, since the
+ // binding may emit instructions that would otherwise be associated with
the
+ // binding itself, rather than the expression referencing the binding.
(this
+ // leads to jumpy debug stepping behavior where the location/debugger jump
+ // back to the binding declaration, then back to the expression referencing
+ // the binding)
+ DisableDebugLocationUpdates D(*this);
----------------
Michael137 wrote:
Nice!
https://github.com/llvm/llvm-project/pull/153637
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits