From: Jakub Jelinek Date: Mon, 25 Jun 2018 16:53:11 +0000 (+0200) Subject: backport: parser.c (cp_parser_omp_declare): Change return type to bool from void... X-Git-Tag: releases/gcc-6.5.0~247 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76f00d8bd4ef2f9c1a7e731331fc1d5ee1c0c3c2;p=thirdparty%2Fgcc.git backport: parser.c (cp_parser_omp_declare): Change return type to bool from void, return true for declare simd. Backported from mainline 2017-11-23 Jakub Jelinek * 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 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8f7ffacdf716..b4bdd1d4c00f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,6 +1,13 @@ 2018-06-25 Jakub Jelinek Backported from mainline + 2017-11-23 Jakub Jelinek + + * 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 PR c++/82781 diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 89be90a783cb..09d78aefe501 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -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 % or % " "or %"); 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);