[Bug c++/60065] [c++1y] ICE with auto parameter pack

2014-02-25 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60065

Volker Reichelt reichelt at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |RESOLVED
  Known to work||4.9.0
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0
  Known to fail|4.9.0   |

--- Comment #4 from Volker Reichelt reichelt at gcc dot gnu.org ---
Fixed by Adam's patch.


[Bug c++/60065] [c++1y] ICE with auto parameter pack

2014-02-24 Thread abutcher at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60065

--- Comment #3 from Adam Butcher abutcher at gcc dot gnu.org ---
Author: abutcher
Date: Tue Feb 25 03:47:24 2014
New Revision: 208106

URL: http://gcc.gnu.org/viewcvs?rev=208106root=gccview=rev
Log:
Fix PR c++/60065.

PR c++/60065
* parser.c (cp_parser_direct_declarator): Don't save and
restore num_template_parameter_lists around call to
cp_parser_parameter_declaration_list.
(function_being_declared_is_template_p): New predicate.
(cp_parser_parameter_declaration_list): Use
function_being_declared_is_template_p as predicate for
inspecting current function template parameter list length
rather than num_template_parameter_lists.

PR c++/60065
* g++.dg/cpp1y/pr60065.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/cpp1y/pr60065.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/60065] [c++1y] ICE with auto parameter pack

2014-02-19 Thread abutcher at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60065

Adam Butcher abutcher at gcc dot gnu.org changed:

   What|Removed |Added

 CC||abutcher at gcc dot gnu.org

--- Comment #1 from Adam Butcher abutcher at gcc dot gnu.org ---
I think it is valid.  It should be considered equivalent to:

  template int, typename... T void foo(T... x);

Looks like the generic parameter pack 'auto...' is replacing the template
argument list rather than extending it.  I'll look into it.


[Bug c++/60065] [c++1y] ICE with auto parameter pack

2014-02-19 Thread abutcher at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60065

--- Comment #2 from Adam Butcher abutcher at gcc dot gnu.org ---
Turns out the base template parameter index was not been initialized correctly
so it was trying to convert the 'int' parameter to a pack as well as the
invented template parameter generated for the 'auto'.  See
http://gcc.gnu.org/ml/gcc-patches/2014-02/msg01197.html