]> gcc.gnu.org Git - gcc.git/commit - gcc/cp/pt.c
re PR c++/31138 (ICE with ellipsis)
authorDouglas Gregor <doug.gregor@gmail.com>
Sat, 31 Mar 2007 12:41:30 +0000 (12:41 +0000)
committerDoug Gregor <dgregor@gcc.gnu.org>
Sat, 31 Mar 2007 12:41:30 +0000 (12:41 +0000)
commitd393153e7fb5a4bc1ed79b72c5c6d6c6ccc195b6
tree8fa804b4fffaa8361c5c0a3d4f7d5dd2304adab7
parentd54a92b5f680c62ae4a129aece857a934e167809
re PR c++/31138 (ICE with ellipsis)

2007-03-31  Douglas Gregor  <doug.gregor@gmail.com>

PR c++/31138
PR c++/31140
PR c++/31141
* parser.c (declarator_can_be_parameter_pack): New.
(cp_parser_template_parameter): Only parse the `...' if the
declarator can be a parameter pack.
(cp_parser_parameter_declaration): Ditto. Also, handle when TYPE
is NULL.
* pt.c (find_parameter_packs_r): Look into the bounds on integer
types (they could be used as array bounds).
(check_for_bare_parameter_packs): Deal with TEMPLATE_PARM_INDEX.
(tsubst_pack_expansion): Handle failure to expand parameter
packs.

2007-03-31  Douglas Gregor  <doug.gregor@gmail.com>

* g++.dg/parser/pr31138.C: New.
* g++.dg/parser/pr31140.C: New.
* g++.dg/parser/pr31141.C: New.

From-SVN: r123380
gcc/cp/ChangeLog
gcc/cp/parser.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
This page took 0.059966 seconds and 5 git commands to generate.