[clang] [OpenACC] Implement Sema work for OpenACC Clauses (PR #87821)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 8 07:38:56 PDT 2024


================
@@ -37,6 +37,32 @@ bool diagnoseConstructAppertainment(SemaOpenACC &S, OpenACCDirectiveKind K,
   }
   return false;
 }
+
+bool doesClauseApplyToDirective(OpenACCDirectiveKind DirectiveKind,
+                                OpenACCClauseKind ClauseKind) {
+  switch (ClauseKind) {
+    // FIXME: For each clause as we implement them, we can add the
+    // 'legalization' list here.
+  default:
+    // Do nothing so we can go to the 'unimplemented' diagnostic instead.
+    return true;
+  }
+  llvm_unreachable("Invalid clause kind");
+}
+
+/// Destruct and deallocate any clauses that aren't going to be used because
+/// they don't have a Construct to attach to.
+void DestroyUnusedClauses(ASTContext &Ctx,
----------------
erichkeane wrote:

It just seemed like a bad idea to 'leak' clauses that aren't added to the AST.  Depending on how many 'bad' constructs there end up being, this could presumably be an unfortunate amount of memory.

https://github.com/llvm/llvm-project/pull/87821


More information about the cfe-commits mailing list