[PATCH] [PATCH] OpenMP firstprivate clause

Alexey Bataev a.bataev at hotmail.com
Thu Sep 26 22:55:14 PDT 2013


  Hi Wei, thank you for review. See my comments.


================
Comment at: lib/Sema/SemaOpenMP.cpp:667
@@ +666,3 @@
+  bool ErrorFound = false;
+  if (DSAChecker.getImplicitFirstprivate().size() > 0) {
+    if (OMPClause *Implicit =
----------------
Wei Pan wrote:
> !  get...().empty()
Ok, I'll fix it.

================
Comment at: lib/Sema/SemaOpenMP.cpp:692
@@ -646,1 +691,3 @@
+
+  if (ErrorFound) return StmtError();
   return Res;
----------------
Wei Pan wrote:
> The logic could be improved. Program could exit early if it only returns StmtError in the end.
Wei, no, everything is correct. We need to complete semantic analysis for all clauses and directives (to report all possible errors) and exit function only after this analysis. 

================
Comment at: lib/Sema/SemaOpenMP.cpp:1055
@@ +1054,3 @@
+    }
+    if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate &&
+        !(DVar.CKind == OMPC_shared && !DVar.RefExpr &&
----------------
Wei Pan wrote:
> Seem difficult to read what it is checking. In particular, DVar.RefExpr is also checked inside if-then.
Ok, Шэд try to improve the code.


http://llvm-reviews.chandlerc.com/D1694



More information about the cfe-commits mailing list