diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-07-25 03:56:55 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-07-25 03:56:55 +0000 |
commit | 2589b9808e2a08ee51b2b0e03164303d2b74c6ed (patch) | |
tree | d28722ede9a70e83bfdbc53f339c7d618fa3aa46 /clang/test/CXX/expr/expr.prim/expr.prim.lambda/p23.cpp | |
parent | c42d243ace4933afbc1e2922dc7d326e1bdfe69f (diff) | |
download | bcm5719-llvm-2589b9808e2a08ee51b2b0e03164303d2b74c6ed.tar.gz bcm5719-llvm-2589b9808e2a08ee51b2b0e03164303d2b74c6ed.zip |
PR12057: Allow variadic template pack expansions to cross lambda boundaries.
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
Diffstat (limited to 'clang/test/CXX/expr/expr.prim/expr.prim.lambda/p23.cpp')
-rw-r--r-- | clang/test/CXX/expr/expr.prim/expr.prim.lambda/p23.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p23.cpp b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p23.cpp index 174db257c89..82fc04a48fb 100644 --- a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p23.cpp +++ b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p23.cpp @@ -9,8 +9,8 @@ void print(T first, Ts... rest) { } template<typename... Ts> -void unsupported(Ts ...values) { - auto unsup = [values] {}; // expected-error{{unexpanded function parameter pack capture is unsupported}} +void unexpanded_capture(Ts ...values) { + auto unexp = [values] {}; // expected-error{{initializer contains unexpanded parameter pack 'values'}} } template<typename... Ts> |