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

Reply via email to