* parser.c (cp_parser_for_init_statement): Change range-for error
to pedwarn.
From-SVN: r212044
2014-06-26 Jason Merrill <jason@redhat.com>
+ * parser.c (cp_parser_for_init_statement): Change range-for error
+ to pedwarn.
+
N3994 Ranged-based for-loops: The Next Generation
* parser.c (cp_lexer_nth_token_is): New.
(cp_parser_for_init_statement): Allow "for (id : init)".
is_range_for = true;
if (cxx_dialect < cxx11)
{
- error_at (cp_lexer_peek_token (parser->lexer)->location,
- "range-based %<for%> loops are not allowed "
- "in C++98 mode");
+ pedwarn (cp_lexer_peek_token (parser->lexer)->location, 0,
+ "range-based %<for%> loops only available with "
+ "-std=c++11 or -std=gnu++11");
*decl = error_mark_node;
}
}
// Test for range-based for loop error in C++98 mode
-// { dg-do compile }
-// { dg-options "-std=c++98" }
+// { dg-do compile { target { ! c++11 } } }
void test()
{