aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2013-04-22 15:19:55 -0400
committerJason Merrill <jason@gcc.gnu.org>2013-04-22 15:19:55 -0400
commitd3d50a6185a224de3fb02c157cbf447f839d18e6 (patch)
tree1ad698dc021c903b74e8c2bd661327f9c6bd9cdd /gcc/cp
parente361d18df77ed06994441e0b0d0c33409ede5b63 (diff)
downloadgcc-d3d50a6185a224de3fb02c157cbf447f839d18e6.zip
gcc-d3d50a6185a224de3fb02c157cbf447f839d18e6.tar.gz
gcc-d3d50a6185a224de3fb02c157cbf447f839d18e6.tar.bz2
N3648
* parser.c (cp_parser_lambda_introducer): Make lambda capture init pedwarn unconditional except in C++1y mode. From-SVN: r198156
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/parser.c7
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index dffab2c..34f207f 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,9 @@
2013-04-22 Jason Merrill <jason@redhat.com>
+ N3648
+ * parser.c (cp_parser_lambda_introducer): Make lambda capture init
+ pedwarn unconditional except in C++1y mode.
+
* semantics.c (potential_constant_expression_1): Don't crash on
'this' in NSDMI.
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 1893482..1fbc9bd 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -8518,9 +8518,10 @@ cp_parser_lambda_introducer (cp_parser* parser, tree lambda_expr)
{
/* An explicit expression exists. */
cp_lexer_consume_token (parser->lexer);
- pedwarn (input_location, OPT_Wpedantic,
- "ISO C++ does not allow initializers "
- "in lambda expression capture lists");
+ if (cxx_dialect < cxx1y)
+ pedwarn (input_location, 0,
+ "lambda capture initializers "
+ "only available with -std=c++1y or -std=gnu++1y");
capture_init_expr = cp_parser_assignment_expression (parser,
/*cast_p=*/true,
&idk);