31 const auto *Directive =
32 Result.Nodes.getNodeAs<OMPExecutableDirective>(
"directive");
33 assert(Directive !=
nullptr &&
"Expected to match some directive.");
35 if (
const auto *Clause = Result.Nodes.getNodeAs<OMPDefaultClause>(
"clause")) {
36 diag(Directive->getBeginLoc(),
37 "OpenMP directive '%0' specifies 'default(%1)' clause, consider using "
38 "'default(none)' clause instead")
39 << getOpenMPDirectiveName(Directive->getDirectiveKind())
40 << getOpenMPSimpleClauseTypeName(
41 Clause->getClauseKind(),
42 llvm::to_underlying(Clause->getDefaultKind()));
43 diag(Clause->getBeginLoc(),
"existing 'default' clause specified here",
48 diag(Directive->getBeginLoc(),
49 "OpenMP directive '%0' does not specify 'default' clause, consider "
50 "specifying 'default(none)' clause")
51 << getOpenMPDirectiveName(Directive->getDirectiveKind());