aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/c-parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/c/c-parser.c')
-rw-r--r--gcc/c/c-parser.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index a7e33b0..88edf36 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -12720,15 +12720,19 @@ c_parser_omp_target (c_parser *parser, enum pragma_context context)
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);
+ {
+ tree stmt = c_parser_omp_teams (loc, parser, p_name,
+ OMP_TARGET_CLAUSE_MASK,
+ cclauses);
+ return stmt != NULL_TREE;
+ }
keep_next_level ();
tree block = c_begin_compound_stmt (true);
tree ret = c_parser_omp_teams (loc, parser, p_name,
OMP_TARGET_CLAUSE_MASK, cclauses);
block = c_end_compound_stmt (loc, block, true);
- if (ret == NULL)
- return ret;
+ if (ret == NULL_TREE)
+ return false;
tree stmt = make_node (OMP_TARGET);
TREE_TYPE (stmt) = void_type_node;
OMP_TARGET_CLAUSES (stmt) = cclauses[C_OMP_CLAUSE_SPLIT_TARGET];
@@ -12739,7 +12743,7 @@ c_parser_omp_target (c_parser *parser, enum pragma_context context)
else if (!flag_openmp) /* flag_openmp_simd */
{
c_parser_skip_to_pragma_eol (parser);
- return NULL_TREE;
+ return false;
}
else if (strcmp (p, "data") == 0)
{