ABataev added a comment.

Still: Did you think about implementing it in the compiler instead of the 
runtime?



================
Comment at: clang/include/clang/AST/OpenMPClause.h:4676-4677
     explicit MappableComponent() = default;
-    explicit MappableComponent(Expr *AssociatedExpression,
+    explicit MappableComponent(llvm::PointerIntPair<Expr *, 1, bool>
+                                   AssociatedExpressionNonContiguousPr,
                                ValueDecl *AssociatedDeclaration)
----------------
I would suggest to pass `Expr *` and `bool` as separate parameters here rather 
than as `PointerIntPair` 


================
Comment at: clang/include/clang/AST/OpenMPClause.h:4690
+
+    bool getNonContiguous() const {
+      return AssociatedExpressionNonContiguousPr.getInt();
----------------
`isNonContiguous()`


================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:16356
   OMPClauseMappableExprCommon::MappableExprComponentList &Components;
+  bool IsNonContiguous;
   bool NoDiagnose = false;
----------------
Add default initializer


================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:16540-16544
+      if (IsPointer && !AllowAnotherPtr) {
+        SemaRef.Diag(ELoc, diag::err_omp_section_length_undefined) << true;
+      } else {
+        IsNonContiguous = true;
+      }
----------------
Remove braces here, they are not needed.


================
Comment at: clang/lib/Serialization/ASTWriter.cpp:6575
     Record.AddStmt(M.getAssociatedExpression());
+    Record.push_back(M.getNonContiguous());
     Record.AddDeclRef(M.getAssociatedDeclaration());
----------------
There is a member function `writeBool`


================
Comment at: clang/lib/Serialization/ASTWriter.cpp:6600
     Record.AddStmt(M.getAssociatedExpression());
+    Record.push_back(M.getNonContiguous());
     Record.AddDeclRef(M.getAssociatedDeclaration());
----------------
Same, use `writeBool`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79972/new/

https://reviews.llvm.org/D79972



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to