OSDN Git Service

PR c++/51496
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Dec 2011 18:55:06 +0000 (18:55 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Dec 2011 18:55:06 +0000 (18:55 +0000)
* parser.c (cp_parser_omp_for_loop): When determining whether
to use cp_parser_omp_for_incr or cp_parser_expression and when
calling cp_parser_omp_for_incr, use real_decl instead of decl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182257 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 7db2598..3f04054 100644 (file)
@@ -1,3 +1,10 @@
+2011-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/51496
+       * parser.c (cp_parser_omp_for_loop): When determining whether
+       to use cp_parser_omp_for_incr or cp_parser_expression and when
+       calling cp_parser_omp_for_incr, use real_decl instead of decl.
+
 2011-12-12  Torvald Riegel  <triegel@redhat.com>
 
        * semantics.c (finish_transaction_stmt, build_transaction_expr):
@@ -9,7 +16,7 @@
        (cp_parser_noexcept_specification_opt): ...here.  Allow for parsing
        non-constexpr noexcept arguments.
        (cp_parser_transaction, cp_parser_transaction_expression): Parse
-    and handle noexcept-specifications.
+       and handle noexcept-specifications.
        (cp_parser_function_transaction): Adapt to finish_transaction_stmt
        change.
        * pt.c (tsubst_expr): Adapt to new noexcept parameters when
index a0aa2a1..2bd91ec 100644 (file)
@@ -26354,11 +26354,11 @@ cp_parser_omp_for_loop (cp_parser *parser, tree clauses, tree *par_clauses)
        {
          /* If decl is an iterator, preserve the operator on decl
             until finish_omp_for.  */
-         if (decl
+         if (real_decl
              && ((processing_template_decl
-                  && !POINTER_TYPE_P (TREE_TYPE (decl)))
-                 || CLASS_TYPE_P (TREE_TYPE (decl))))
-           incr = cp_parser_omp_for_incr (parser, decl);
+                  && !POINTER_TYPE_P (TREE_TYPE (real_decl)))
+                 || CLASS_TYPE_P (TREE_TYPE (real_decl))))
+           incr = cp_parser_omp_for_incr (parser, real_decl);
          else
            incr = cp_parser_expression (parser, false, NULL);
        }