@@ -228,18 +228,18 @@ TYPE_PARSER(sourced(construct<AccBeginBlockDirective>(
228228 sourced (Parser<AccBlockDirective>{}), Parser<AccClauseList>{})))
229229
230230TYPE_PARSER(startAccLine >> sourced (construct<AccEndBlockDirective>(" END" _tok >>
231- sourced ( recovery(Parser<AccBlockDirective>{},
231+ recovery (sourced( Parser<AccBlockDirective>{}) ,
232232 construct<AccBlockDirective>(pure(
233- llvm::acc::Directive::ACCD_data)))))))
233+ llvm::acc::Directive::ACCD_data))))))
234234
235235TYPE_PARSER(construct<OpenACCBlockConstruct>(
236236 Parser<AccBeginBlockDirective>{} / endAccLine, block,
237- // TODO: This still allows mismatched directives.
237+ // NB, This allows mismatched directives, but semantics checks that they match .
238238 recovery (withMessage(" expected OpenACC end block directive" _err_en_US,
239239 attempt (Parser<AccEndBlockDirective>{} / endAccLine)),
240- // TODO: Is there a simpler way to build this?
241- construct<AccEndBlockDirective>(construct< AccBlockDirective>(
242- pure ( llvm::acc::Directive::ACCD_data))))))
240+ construct<AccEndBlockDirective>(
241+ construct<AccBlockDirective>(pure (
242+ llvm::acc::Directive::ACCD_data))))))
243243
244244// Standalone constructs
245245TYPE_PARSER(construct<OpenACCStandaloneConstruct>(
0 commit comments