summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p23.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [c++20] P0780R2: Support pack-expansion of init-captures.Richard Smith2019-05-211-4/+22
| | | | | | | | | | | This permits an init-capture to introduce a new pack: template<typename ...T> auto x = [...a = T()] { /* a is a pack */ }; To support this, the mechanism for allowing ParmVarDecls to be packs has been extended to support arbitrary local VarDecls. llvm-svn: 361300
* Add compat/extension warnings for init captures.Richard Smith2013-09-281-1/+1
| | | | llvm-svn: 191609
* Per latest drafting, switch to implementing init-captures as if by declaringRichard Smith2013-09-281-1/+1
| | | | | | and capturing a variable declaration, and complete the implementation of them. llvm-svn: 191605
* First pass of semantic analysis for init-captures: check the initializer, buildRichard Smith2013-05-161-0/+23
| | | | | | | | | | | | | a FieldDecl from it, and propagate both into the closure type and the LambdaExpr. You can't do much useful with them yet -- you can't use them within the body of the lambda, because we don't have a representation for "the this of the lambda, not the this of the enclosing context". We also don't have support or a representation for a nested capture of an init-capture yet, which was intended to work despite not being allowed by the current standard wording. llvm-svn: 181985
* PR12057: Allow variadic template pack expansions to cross lambda boundaries.Richard Smith2012-07-251-2/+2
| | | | | | | | | | Rather than adding a ContainsUnexpandedParameterPack bit to essentially every AST node, we tunnel the bit directly up to the surrounding lambda expression when we reach a context where an unexpanded pack can not normally appear. Thus any statement or declaration within a lambda can now potentially contain an unexpanded parameter pack. llvm-svn: 160705
* Implement support for lambda capture pack expansions, e.g.,Douglas Gregor2012-02-141-0/+58
[&values...] { print(values...); } llvm-svn: 150497
OpenPOWER on IntegriCloud