aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/parser.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2011-11-09 17:25:12 -0500
committerJason Merrill <jason@gcc.gnu.org>2011-11-09 17:25:12 -0500
commit59276295d6017de1e98bd9f359771daf0ca7216a (patch)
tree2b78e122fe84146bdbd2bed39bfcc0cfd421fe6f /gcc/cp/parser.c
parentd3e472a32edd8ea33c3c64f7efc622c442bfa4f8 (diff)
downloadgcc-59276295d6017de1e98bd9f359771daf0ca7216a.zip
gcc-59276295d6017de1e98bd9f359771daf0ca7216a.tar.gz
gcc-59276295d6017de1e98bd9f359771daf0ca7216a.tar.bz2
re PR c++/51046 ([C++0x] ICE by unexpanded template param pack in range-based for)
PR c++/51046 * parser.c (cp_parser_range_for): check_for_bare_parameter_packs. From-SVN: r181239
Diffstat (limited to 'gcc/cp/parser.c')
-rw-r--r--gcc/cp/parser.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 3cb6dbf..fc8f3c8 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -9292,6 +9292,8 @@ cp_parser_range_for (cp_parser *parser, tree scope, tree init, tree range_decl)
at instantiation. If not, it is done just ahead. */
if (processing_template_decl)
{
+ if (check_for_bare_parameter_packs (range_expr))
+ range_expr = error_mark_node;
stmt = begin_range_for_stmt (scope, init);
finish_range_for_decl (stmt, range_decl, range_expr);
if (!type_dependent_expression_p (range_expr)