[PATCH] D116261: [Clang][OpenMP] Add support for compare capture in parser

Shilei Tian via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 10 14:27:02 PST 2022

tianshilei1992 marked an inline comment as done.
tianshilei1992 added inline comments.

Comment at: clang/lib/Sema/SemaOpenMP.cpp:11801-11807
+  } else if (AtomicKind == OMPC_compare_capture) {
+    // TODO: For now we emit an error here and in emitOMPAtomicExpr we ignore
+    // code gen.
+    unsigned DiagID = Diags.getCustomDiagID(
+        DiagnosticsEngine::Error,
+        "atomic compare capture is not supported for now");
+    Diag(AtomicKindLoc, DiagID);
ABataev wrote:
> Better to build a node and emit error in codegen. Without it you're unable to create ast-print/dump tests, test for serialization/deserialization etc.
IIUC, `OMPC_compare_capture` will only be used in Sema and CodeGen to tell we actually want `compare_capture` instead of `compare` or `capture`. The corresponding class(es) have no actual use. If I could directly have `OMPC_compare_capture` w/o adding a class, I would like to do it. On the other hand, we already have a node for `compare`, and a node for `capture`, we don't want a node for `compare` and `capture`, especially the spec doesn't say they should be tightly close. That being said, it should not affect other functionality.

  rG LLVM Github Monorepo



More information about the cfe-commits mailing list