================
@@ -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
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to