* parser.c (cp_parser_lambda_expression): Use nreverse.
authorJason Merrill <jason@redhat.com>
Sun, 17 Mar 2013 02:35:36 +0000 (22:35 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Sun, 17 Mar 2013 02:35:36 +0000 (22:35 -0400)
From-SVN: r196730

gcc/cp/ChangeLog
gcc/cp/parser.c

index 59d6e8aad767499cda6b19a4a49afe441b2de0b8..de8f0307f2dc029f2aad0c83e0587589c6f255d6 100644 (file)
@@ -1,5 +1,7 @@
 2013-03-16  Jason Merrill  <jason@redhat.com>
 
+       * parser.c (cp_parser_lambda_expression): Use nreverse.
+
        PR c++/56447
        PR c++/55532
        * pt.c (instantiate_class_template_1): Instantiate lambda capture
index 0a3740db6dbea593fd1be52747d141b634db03d9..f4149323e4db5dbe9fac32c194f6cf3963d34b0e 100644 (file)
@@ -8195,19 +8195,8 @@ cp_parser_lambda_expression (cp_parser* parser)
       cp_parser_skip_to_end_of_block_or_statement (parser);
 
     /* The capture list was built up in reverse order; fix that now.  */
-    {
-      tree newlist = NULL_TREE;
-      tree elt, next;
-
-      for (elt = LAMBDA_EXPR_CAPTURE_LIST (lambda_expr);
-          elt; elt = next)
-       {
-         next = TREE_CHAIN (elt);
-         TREE_CHAIN (elt) = newlist;
-         newlist = elt;
-       }
-      LAMBDA_EXPR_CAPTURE_LIST (lambda_expr) = newlist;
-    }
+    LAMBDA_EXPR_CAPTURE_LIST (lambda_expr)
+      = nreverse (LAMBDA_EXPR_CAPTURE_LIST (lambda_expr));
 
     if (ok)
       maybe_add_lambda_conv_op (type);