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 <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: r255713
This commit is contained in:
parent
29d1342c4b
commit
7c11fb2820
|
@ -1,6 +1,13 @@
|
||||||
2017-12-15 Jakub Jelinek <jakub@redhat.com>
|
2017-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Backported from mainline
|
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>
|
2017-11-20 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR c++/82781
|
PR c++/82781
|
||||||
|
|
|
@ -37253,7 +37253,7 @@ cp_parser_omp_declare_reduction (cp_parser *parser, cp_token *pragma_tok,
|
||||||
initializer-clause[opt] new-line
|
initializer-clause[opt] new-line
|
||||||
#pragma omp declare target new-line */
|
#pragma omp declare target new-line */
|
||||||
|
|
||||||
static void
|
static bool
|
||||||
cp_parser_omp_declare (cp_parser *parser, cp_token *pragma_tok,
|
cp_parser_omp_declare (cp_parser *parser, cp_token *pragma_tok,
|
||||||
enum pragma_context context)
|
enum pragma_context context)
|
||||||
{
|
{
|
||||||
|
@ -37267,7 +37267,7 @@ cp_parser_omp_declare (cp_parser *parser, cp_token *pragma_tok,
|
||||||
cp_lexer_consume_token (parser->lexer);
|
cp_lexer_consume_token (parser->lexer);
|
||||||
cp_parser_omp_declare_simd (parser, pragma_tok,
|
cp_parser_omp_declare_simd (parser, pragma_tok,
|
||||||
context);
|
context);
|
||||||
return;
|
return true;
|
||||||
}
|
}
|
||||||
cp_ensure_no_omp_declare_simd (parser);
|
cp_ensure_no_omp_declare_simd (parser);
|
||||||
if (strcmp (p, "reduction") == 0)
|
if (strcmp (p, "reduction") == 0)
|
||||||
|
@ -37275,23 +37275,24 @@ cp_parser_omp_declare (cp_parser *parser, cp_token *pragma_tok,
|
||||||
cp_lexer_consume_token (parser->lexer);
|
cp_lexer_consume_token (parser->lexer);
|
||||||
cp_parser_omp_declare_reduction (parser, pragma_tok,
|
cp_parser_omp_declare_reduction (parser, pragma_tok,
|
||||||
context);
|
context);
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
if (!flag_openmp) /* flag_openmp_simd */
|
if (!flag_openmp) /* flag_openmp_simd */
|
||||||
{
|
{
|
||||||
cp_parser_skip_to_pragma_eol (parser, pragma_tok);
|
cp_parser_skip_to_pragma_eol (parser, pragma_tok);
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
if (strcmp (p, "target") == 0)
|
if (strcmp (p, "target") == 0)
|
||||||
{
|
{
|
||||||
cp_lexer_consume_token (parser->lexer);
|
cp_lexer_consume_token (parser->lexer);
|
||||||
cp_parser_omp_declare_target (parser, pragma_tok);
|
cp_parser_omp_declare_target (parser, pragma_tok);
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cp_parser_error (parser, "expected %<simd%> or %<reduction%> "
|
cp_parser_error (parser, "expected %<simd%> or %<reduction%> "
|
||||||
"or %<target%>");
|
"or %<target%>");
|
||||||
cp_parser_require_pragma_eol (parser, pragma_tok);
|
cp_parser_require_pragma_eol (parser, pragma_tok);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* OpenMP 4.5:
|
/* OpenMP 4.5:
|
||||||
|
@ -38211,8 +38212,7 @@ cp_parser_pragma (cp_parser *parser, enum pragma_context context, bool *if_p)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
case PRAGMA_OMP_DECLARE:
|
case PRAGMA_OMP_DECLARE:
|
||||||
cp_parser_omp_declare (parser, pragma_tok, context);
|
return cp_parser_omp_declare (parser, pragma_tok, context);
|
||||||
return false;
|
|
||||||
|
|
||||||
case PRAGMA_OACC_DECLARE:
|
case PRAGMA_OACC_DECLARE:
|
||||||
cp_parser_oacc_declare (parser, pragma_tok);
|
cp_parser_oacc_declare (parser, pragma_tok);
|
||||||
|
|
Loading…
Reference in New Issue