[PATCH] D18597: [OpenMP] Parsing and sema support for the to clause

Alexey Bataev via cfe-commits cfe-commits at lists.llvm.org
Tue May 24 21:08:52 PDT 2016


ABataev added inline comments.

================
Comment at: lib/Sema/SemaOpenMP.cpp:10218-10220
@@ +10217,5 @@
+    Sema &SemaRef, DSAStackTy *DSAS, OpenMPClauseKind CKind,
+    ArrayRef<Expr *> VarList, SmallVector<Expr *, 4> &Vars,
+    OMPClauseMappableExprCommon::MappableExprComponentLists &ClauseComponents,
+    SmallVector<ValueDecl *, 16> &ClauseBaseDeclarations,
+    SourceLocation StartLoc, OpenMPMapClauseKind MapType = OMPC_MAP_unknown,
----------------
1. Use SmallVectorImpl<Expr *> instead of SmallVector<Expr *, n>.
2. Is it possible to reduce number of arguments of this function by gathering them into a record?

================
Comment at: lib/Sema/SemaOpenMP.cpp:10237-10241
@@ -10210,6 +10236,7 @@
+    assert(RE && "Null expr in omp to/map clause");
     if (isa<DependentScopeDeclRefExpr>(RE)) {
       // It will be analyzed later.
       Vars.push_back(RE);
       continue;
     }
     SourceLocation ELoc = RE->getExprLoc();
----------------
Still think that this check is not required.

================
Comment at: lib/Sema/SemaOpenMP.cpp:10353
@@ +10352,3 @@
+      // from, release, or delete.
+      DKind = DSAS->getCurrentDirective();
+      if (DKind == OMPD_target_exit_data &&
----------------
You already get DKind few lines above, why need to update it?

================
Comment at: test/OpenMP/nesting_of_regions.cpp:136
@@ -135,1 +135,3 @@
   }
+#pragma omp parallel
+  {
----------------
Test 'nesting_of_regions.cpp' should be updated only when adding a new directive, not a clause.


http://reviews.llvm.org/D18597





More information about the cfe-commits mailing list