ABataev added inline comments.
================
Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:1296-1297
+ : Error<"'#pragma omp end assumes' with no matching '#pragma omp begin
assumes'">;
+def err_expected_assumption_clause
+ : Error<"'%0' directive requires at least one clause">;
+def warn_omp_unknown_assumption_clause_missing_id
----------------
There is `err_omp_no_clause_for_directive` defined in Sema. See
`Sema::ActOnOpenMPTargetDataDirective` how to use it, better to reduce the
number of diagnostics if possible
================
Comment at: clang/lib/Sema/SemaLambda.cpp:999-1002
+ // OpenMP lambdas might get assumumption attributes.
+ if (LangOpts.OpenMP)
+ ActOnFinishedFunctionDefinitionInOpenMPAssumeScope(Method);
+
----------------
Are there any other function-like constructs that also should have markings?
Coroutines maybe?
================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:3203
+ auto *AA = AssumptionAttr::Create(Context, llvm::join(Assumptions, ","),
Loc);
+ // Disable assumes in OpenMP simd mode.
+ if (DKind == llvm::omp::Directive::OMPD_begin_assumes) {
----------------
How this comment relates to the code?
================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:3207
+ } else {
+ assert(DKind == llvm::omp::Directive::OMPD_assumes && "");
+ OMPAssumeGlobal.push_back(AA);
----------------
Add a message in for the assertion
================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:3217
+ while (Ctx->getParent())
+ Ctx = Ctx->getParent();
+ DeclContexts.push_back(Ctx);
----------------
Maybe, better to use `getLexicalParent`? `getParent` returns semantic parent,
while `getLexicalParent` - the lexical parent. Do you need to mark the
declarations in the lexical context or in the semantic context?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91980/new/
https://reviews.llvm.org/D91980
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits