From 993c1df11f50a56fb1e841431ba8e0051a478023 Mon Sep 17 00:00:00 2001 From: jason Date: Thu, 15 Feb 2018 18:15:32 +0000 Subject: PR c++/84368 - wrong error with local variable in variadic lambda. * pt.c (tsubst_pack_expansion): Fix handling of non-packs in local_specializations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@257699 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic14.C | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic14.C (limited to 'gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic14.C') diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic14.C b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic14.C new file mode 100644 index 00000000000..76567966293 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic14.C @@ -0,0 +1,17 @@ +// PR c++/84368 +// { dg-do compile { target c++14 } } + +template < typename ... T > +void sink(T ...){} + +template < typename ... T > +void foo(T ... v){ + [](auto ... v){ + auto bar = [](auto, auto){ return 0; }; + sink(bar(v, T{}) ...); + }(v ...); +} + +int main(){ + foo(0); +} -- cgit v1.2.1