[PATCH] Implement capturing for generic lambdas

Richard Smith richard at metafoo.co.uk
Wed Nov 6 20:02:53 PST 2013

  LGTM. Does this mean generic lambdas are done? :)

Comment at: include/clang/Sema/ScopeInfo.h:725
@@ +724,3 @@
+  /// capture such variables. 
+  ///    
+  void markVariableExprAsNonODRUsed(Expr *CapturingVarExpr) {
Faisal Vali wrote:
> This is a very illuminating comment:
> "The problem is that the set of captures for a lambda is part of the ABI
> (since lambda layout can be made visible through inline functions and the
> like), and there are no guarantees as to which cases we'll manage to build
> an lvalue-to-rvalue conversion in, when parsing a template -- some
> seemingly harmless change elsewhere in Sema could cause us to start or stop
> building such a node. So we need a rule that anyone can implement and get
> exactly the same result."
> I'd like to add this here - so as to discourage others from venturing on this potentially fool-hardy errand.
> Thanks!!
Sounds good.


More information about the cfe-commits mailing list