re PR c/59310 (FAIL: gcc.dg/gomp/openmp-simd-1.c (test for excess errors))
authorJakub Jelinek <jakub@redhat.com>
Wed, 27 Nov 2013 23:42:48 +0000 (00:42 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 27 Nov 2013 23:42:48 +0000 (00:42 +0100)
PR c/59310
* c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
to p_name before calling c_parser_omp_teams instead of after.
(c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
argument.  Remove unused p_name variable.

* parser.c (cp_parser_omp_target): Call keep_next_level only
if flag_openmp.

From-SVN: r205467

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

index 397e5f69979ddf4ebd093c1e75d172f76697121d..5121acdc18724924bbbc59dc968fddd29fd6f89a 100644 (file)
@@ -1,3 +1,11 @@
+2013-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/59310
+       * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
+       to p_name before calling c_parser_omp_teams instead of after.
+       (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
+       argument.  Remove unused p_name variable.
+
 2013-11-27  Aldy Hernandez  <aldyh@redhat.com>
            Jakub Jelinek  <jakub@redhat.com>
 
index 1e3689fe1a54756331b4f3b027b0f4703960e379..141c4ce9cf622d3ca0631f3867cf5cc78532fbd3 100644 (file)
@@ -12529,10 +12529,10 @@ c_parser_omp_target (c_parser *parser, enum pragma_context context)
                              "parallel for simd")];
 
          c_parser_consume_token (parser);
+         strcpy (p_name, "#pragma omp target");
          if (!flag_openmp)  /* flag_openmp_simd  */
            return c_parser_omp_teams (loc, parser, p_name,
                                       OMP_TARGET_CLAUSE_MASK, cclauses);
-         strcpy (p_name, "#pragma omp target");
          keep_next_level ();
          tree block = c_begin_compound_stmt (true);
          tree ret = c_parser_omp_teams (loc, parser, p_name,
@@ -13566,10 +13566,8 @@ c_parser_cilk_all_clauses (c_parser *parser)
    loops.  */
 
 static void
-c_parser_cilk_simd (c_parser *parser ATTRIBUTE_UNUSED)
+c_parser_cilk_simd (c_parser *parser)
 {
-  char p_name[100];
-  strcpy (p_name, "#pragma omp");
   tree clauses = c_parser_cilk_all_clauses (parser);
   tree block = c_begin_compound_stmt (true);
   location_t loc = c_parser_peek_token (parser)->location;
index cbae6c43978fc606240046bbe36252f3318b18f2..dd279d036a0ec338ad00001fe6929164af19e59c 100644 (file)
@@ -1,3 +1,9 @@
+2013-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/59310
+       * parser.c (cp_parser_omp_target): Call keep_next_level only
+       if flag_openmp.
+
 2013-11-27  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR c++/58647
index 7d3eaeebf6a9950ca7a45bed6923ef63c0ed2fa7..bd4ead74dc81910b8dcfca62ac150496adb47d1b 100644 (file)
@@ -29968,10 +29968,10 @@ cp_parser_omp_target (cp_parser *parser, cp_token *pragma_tok,
 
          cp_lexer_consume_token (parser->lexer);
          strcpy (p_name, "#pragma omp target");
-         keep_next_level (true);
          if (!flag_openmp)  /* flag_openmp_simd  */
            return cp_parser_omp_teams (parser, pragma_tok, p_name,
                                        OMP_TARGET_CLAUSE_MASK, cclauses);
+         keep_next_level (true);
          tree sb = begin_omp_structured_block ();
          unsigned save = cp_parser_begin_omp_structured_block (parser);
          tree ret = cp_parser_omp_teams (parser, pragma_tok, p_name,