On Mon, Jul 21, 2014 at 5:43 AM, Alexey Bataev <[email protected]> wrote:
> Updated version after last review. Unfortunately, I don't think it is > possible to pass captured expression as a VariableLengthArray *. I have to > capture expr of VariableLengthArray * and then cast it to > SizeExpr->getType() type to make lambda capture this type, not > VariableLengthArray *. I have to pass actual value of SizeExpr to the > Lambda in this field, because it is defined only in calling function and in > Lambda it can be received only in one of captured fields. I don't understand what you're saying. What I'm suggesting is storing the VariableLengthArray* in the InitializerOrBitWidth field on FieldDecl, instead of storing the array bound there. > http://reviews.llvm.org/D4368 > > Files: > include/clang/AST/Decl.h > include/clang/AST/LambdaCapture.h > include/clang/Basic/DiagnosticSemaKinds.td > lib/AST/Decl.cpp > lib/AST/Expr.cpp > lib/AST/ExprCXX.cpp > lib/AST/StmtPrinter.cpp > lib/AST/StmtProfile.cpp > lib/CodeGen/CGDebugInfo.cpp > lib/CodeGen/CGExprCXX.cpp > lib/CodeGen/CodeGenFunction.cpp > lib/Sema/SemaDecl.cpp > lib/Sema/SemaExpr.cpp > lib/Sema/TreeTransform.h > test/CodeGenCXX/instantiate-typeof-vla.cpp > test/SemaTemplate/instantiate-typeof.cpp > tools/libclang/IndexBody.cpp >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
