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(Clause->getClauseKind(),
41 unsigned(Clause->getDefaultKind()));
42 diag(Clause->getBeginLoc(),
"existing 'default' clause specified here",
47 diag(Directive->getBeginLoc(),
48 "OpenMP directive '%0' does not specify 'default' clause, consider "
49 "specifying 'default(none)' clause")
50 << getOpenMPDirectiveName(Directive->getDirectiveKind());