@@ -755,11 +755,11 @@ TYPE_PARSER(construct<OmpSeverityClause>(
755755
756756TYPE_PARSER(construct<OmpMessageClause>(expr))
757757
758- TYPE_PARSER(construct<OmpHoldsClause>(many(maybe(","_tok) >> indirect(expr) )))
758+ TYPE_PARSER(construct<OmpHoldsClause>(indirect(expr)))
759759TYPE_PARSER(construct<OmpAbsentClause>(many(maybe(","_tok) >>
760- construct<OmpDirectiveNameEntry >(OmpDirectiveNameParser{}))))
760+ construct<llvm::omp::Directive >(OmpDirectiveNameParser{}))))
761761TYPE_PARSER(construct<OmpContainsClause>(many(maybe(","_tok) >>
762- construct<OmpDirectiveNameEntry >(OmpDirectiveNameParser{}))))
762+ construct<llvm::omp::Directive >(OmpDirectiveNameParser{}))))
763763
764764TYPE_PARSER("ABSENT" >> construct<OmpClause>(construct<OmpClause::Absent>(
765765 parenthesized(Parser<OmpAbsentClause>{}))) ||
@@ -1295,11 +1295,17 @@ TYPE_PARSER(
12951295 parenthesized(Parser<OmpObjectList>{}), Parser<OmpClauseList>{})) /
12961296 lookAhead(endOmpLine / !statement(allocateStmt)))
12971297
1298+ // Assumes Construct
1299+ TYPE_PARSER(sourced(construct<OpenMPAssumesConstruct>(
1300+ verbatim("ASSUMES"_tok), Parser<OmpClauseList>{})))
1301+
12981302// Declarative constructs
12991303TYPE_PARSER(startOmpLine >>
13001304 withMessage("expected OpenMP construct"_err_en_US,
13011305 sourced(construct<OpenMPDeclarativeConstruct>(
1302- Parser<OpenMPDeclareReductionConstruct>{}) ||
1306+ Parser<OpenMPAssumesConstruct>{}) ||
1307+ construct<OpenMPDeclarativeConstruct>(
1308+ Parser<OpenMPDeclareReductionConstruct>{}) ||
13031309 construct<OpenMPDeclarativeConstruct>(
13041310 Parser<OpenMPDeclareMapperConstruct>{}) ||
13051311 construct<OpenMPDeclarativeConstruct>(
@@ -1320,17 +1326,17 @@ TYPE_PARSER(startOmpLine >>
13201326TYPE_PARSER(sourced(construct<OpenMPAssumeConstruct>(
13211327 verbatim("ASSUME"_tok), Parser<OmpClauseList>{}) /
13221328 endOmpLine))
1323- // Assumes Construct
1324- TYPE_PARSER(sourced(construct<OmpAssumesDirective >(
1325- verbatim("ASSUMES"_tok), Parser<OmpClauseList>{})))
1329+
1330+ TYPE_PARSER(sourced(construct<OmpBeginAssumesDirective >(
1331+ "BEGIN"_tok >> verbatim("ASSUMES"_tok), Parser<OmpClauseList>{})))
13261332
13271333TYPE_PARSER(sourced(construct<OmpEndAssumesDirective>(
13281334 verbatim(startOmpLine >> "END ASSUMES"_tok))))
13291335
13301336TYPE_PARSER(construct<OpenMPAssumesPartConstruct>(block))
13311337
1332- TYPE_PARSER(sourced(construct<OpenMPAssumesConstruct >(
1333- maybe("BEGIN"_tok) >> Parser<OmpAssumesDirective >{} / endOmpLine,
1338+ TYPE_PARSER(sourced(construct<OpenMPBeginAssumesConstruct >(
1339+ Parser<OmpBeginAssumesDirective >{} / endOmpLine,
13341340 Parser<OpenMPAssumesPartConstruct>{},
13351341 Parser<OmpEndAssumesDirective>{} / endOmpLine)))
13361342
@@ -1381,7 +1387,8 @@ TYPE_CONTEXT_PARSER("OpenMP construct"_en_US,
13811387 construct<OpenMPConstruct>(Parser<OpenMPExecutableAllocate>{}),
13821388 construct<OpenMPConstruct>(Parser<OpenMPAllocatorsConstruct>{}),
13831389 construct<OpenMPConstruct>(Parser<OpenMPDeclarativeAllocate>{}),
1384- construct<OpenMPConstruct>(Parser<OpenMPAssumesConstruct>{}),
1390+ construct<OpenMPConstruct>(
1391+ Parser<OpenMPBeginAssumesConstruct>{}),
13851392 construct<OpenMPConstruct>(Parser<OpenMPAssumeConstruct>{}),
13861393 construct<OpenMPConstruct>(Parser<OpenMPCriticalConstruct>{}))))
13871394
0 commit comments