mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-16 18:40:57 +08:00
re PR c++/47226 ([C++0x] GCC doesn't expand template parameter pack that appears in a lambda-expression)
2017-09-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/47226 * g++.dg/cpp0x/lambda/lambda-variadic4.C: New. * g++.dg/cpp0x/lambda/lambda-variadic5.C: Likewise. From-SVN: r252064
This commit is contained in:
parent
2fc1f4828b
commit
caf3dcdf25
@ -1,3 +1,9 @@
|
||||
2017-09-13 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/47226
|
||||
* g++.dg/cpp0x/lambda/lambda-variadic4.C: New.
|
||||
* g++.dg/cpp0x/lambda/lambda-variadic5.C: Likewise.
|
||||
|
||||
2017-09-13 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/82128
|
||||
|
11
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic4.C
Normal file
11
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic4.C
Normal file
@ -0,0 +1,11 @@
|
||||
// PR c++/47226
|
||||
// { dg-do compile { target c++11 } }
|
||||
|
||||
void slurp(...) { }
|
||||
template<int ...N>
|
||||
void print() {
|
||||
slurp([]() -> int {
|
||||
(void) N; // or something fancy...
|
||||
return 0;
|
||||
}() ...);
|
||||
}
|
19
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic5.C
Normal file
19
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic5.C
Normal file
@ -0,0 +1,19 @@
|
||||
// PR c++/47226
|
||||
// { dg-do compile { target c++11 } }
|
||||
|
||||
template<class T>
|
||||
void print(const T&) {}
|
||||
|
||||
template<class... T>
|
||||
void accept_all(T&&...){}
|
||||
|
||||
template<class... T>
|
||||
void print_all(const T&... t)
|
||||
{
|
||||
accept_all([&]()->int { print(t); return 0; }...);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
print_all(1, true, 'a');
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user