[Bug c++/84338] [8 Regression] sizeof...() returns always 1 in variadic lambda inside a template

2018-02-13 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84338

--- Comment #3 from Jason Merrill  ---
Author: jason
Date: Tue Feb 13 14:22:01 2018
New Revision: 257626

URL: https://gcc.gnu.org/viewcvs?rev=257626=gcc=rev
Log:
PR c++/84338 - wrong variadic sizeof.

* pt.c (argument_pack_select_arg): Like the macro, but look through
a pack expansion.
(tsubst, tsubst_copy, dependent_template_arg_p): Use it.
(extract_fnparm_pack): Do make_pack_expansion.
(extract_locals_r): Do strip a pack expansion.
* cp-tree.h (ARGUMENT_PACK_SELECT_ARG): Remove.

Added:
trunk/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic13.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/pt.c

[Bug c++/84338] [8 Regression] sizeof...() returns always 1 in variadic lambda inside a template

2018-02-13 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84338

Jason Merrill  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Jason Merrill  ---
Fixed.

[Bug c++/84338] [8 Regression] sizeof...() returns always 1 in variadic lambda inside a template

2018-02-12 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84338

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org

[Bug c++/84338] [8 Regression] sizeof...() returns always 1 in variadic lambda inside a template

2018-02-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84338

Jakub Jelinek  changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-02-12
 CC||jakub at gcc dot gnu.org,
   ||jason at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek  ---
Started with r251433.

[Bug c++/84338] [8 Regression] sizeof...() returns always 1 in variadic lambda inside a template

2018-02-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84338

Richard Biener  changed:

   What|Removed |Added

   Keywords||accepts-invalid,
   ||rejects-valid, wrong-code
   Target Milestone|--- |8.0