diff options
Diffstat (limited to 'gcc/c/c-parser.c')
-rw-r--r-- | gcc/c/c-parser.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c index 21ff25d..a66f43f 100644 --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser.c @@ -14626,6 +14626,7 @@ c_parser_omp_clause_order (c_parser *parser, tree list) tree c; const char *p; bool unconstrained = false; + bool reproducible = false; matching_parens parens; if (!parens.require_open (parser)) @@ -14636,7 +14637,9 @@ c_parser_omp_clause_order (c_parser *parser, tree list) p = IDENTIFIER_POINTER (c_parser_peek_token (parser)->value); if (strcmp (p, "unconstrained") == 0) unconstrained = true; - else if (strcmp (p, "reproducible") != 0) + else if (strcmp (p, "reproducible") == 0) + reproducible = true; + else { c_parser_error (parser, "expected %<reproducible%> or " "%<unconstrained%>"); @@ -14661,6 +14664,7 @@ c_parser_omp_clause_order (c_parser *parser, tree list) check_no_duplicate_clause (list, OMP_CLAUSE_ORDER, "order"); c = build_omp_clause (loc, OMP_CLAUSE_ORDER); OMP_CLAUSE_ORDER_UNCONSTRAINED (c) = unconstrained; + OMP_CLAUSE_ORDER_REPRODUCIBLE (c) = reproducible; OMP_CLAUSE_CHAIN (c) = list; return c; |