]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: parser.c (cp_parser_omp_declare): Change return type to bool from void...
authorJakub Jelinek <jakub@redhat.com>
Mon, 25 Jun 2018 16:53:11 +0000 (18:53 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 25 Jun 2018 16:53:11 +0000 (18:53 +0200)
Backported from mainline
2017-11-23  Jakub Jelinek  <jakub@redhat.com>

* parser.c (cp_parser_omp_declare): Change return type to bool from
void, return true for declare simd.
(cp_parser_pragma): Return cp_parser_omp_declare returned value
rather than always false.

From-SVN: r262036

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

index 8f7ffacdf716106796d6c71cc4c0f11da5263772..b4bdd1d4c00f42a7def0fd8dae6d579d02f29466 100644 (file)
@@ -1,6 +1,13 @@
 2018-06-25  Jakub Jelinek  <jakub@redhat.com>
 
        Backported from mainline
+       2017-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * parser.c (cp_parser_omp_declare): Change return type to bool from
+       void, return true for declare simd.
+       (cp_parser_pragma): Return cp_parser_omp_declare returned value
+       rather than always false.
+
        2017-11-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/82781
index 89be90a783cbe7e30d28a720922755a7181440dc..09d78aefe501f4d03d6e98279535b51d1dd37dfc 100644 (file)
@@ -36357,7 +36357,7 @@ cp_parser_omp_declare_reduction (cp_parser *parser, cp_token *pragma_tok,
       initializer-clause[opt] new-line
    #pragma omp declare target new-line  */
 
-static void
+static bool
 cp_parser_omp_declare (cp_parser *parser, cp_token *pragma_tok,
                       enum pragma_context context)
 {
@@ -36371,7 +36371,7 @@ cp_parser_omp_declare (cp_parser *parser, cp_token *pragma_tok,
          cp_lexer_consume_token (parser->lexer);
          cp_parser_omp_declare_simd (parser, pragma_tok,
                                      context);
-         return;
+         return true;
        }
       cp_ensure_no_omp_declare_simd (parser);
       if (strcmp (p, "reduction") == 0)
@@ -36379,23 +36379,24 @@ cp_parser_omp_declare (cp_parser *parser, cp_token *pragma_tok,
          cp_lexer_consume_token (parser->lexer);
          cp_parser_omp_declare_reduction (parser, pragma_tok,
                                           context);
-         return;
+         return false;
        }
       if (!flag_openmp)  /* flag_openmp_simd  */
        {
          cp_parser_skip_to_pragma_eol (parser, pragma_tok);
-         return;
+         return false;
        }
       if (strcmp (p, "target") == 0)
        {
          cp_lexer_consume_token (parser->lexer);
          cp_parser_omp_declare_target (parser, pragma_tok);
-         return;
+         return false;
        }
     }
   cp_parser_error (parser, "expected %<simd%> or %<reduction%> "
                           "or %<target%>");
   cp_parser_require_pragma_eol (parser, pragma_tok);
+  return false;
 }
 
 /* OpenMP 4.5:
@@ -37370,8 +37371,7 @@ cp_parser_pragma (cp_parser *parser, enum pragma_context context, bool *if_p)
       return false;
 
     case PRAGMA_OMP_DECLARE_REDUCTION:
-      cp_parser_omp_declare (parser, pragma_tok, context);
-      return false;
+      return cp_parser_omp_declare (parser, pragma_tok, context);
 
     case PRAGMA_OACC_DECLARE:
       cp_parser_oacc_declare (parser, pragma_tok);