carlo.bertolli marked 2 inline comments as done.

================
Comment at: lib/Sema/SemaOpenMP.cpp:9782-9783
@@ +9781,4 @@
+        Diag(ELoc, diag::err_omp_variable_in_map_and_dsa)
+            << getOpenMPClauseName(DSAStack->isFirstPrivate(VD) ?
+                                   OMPC_firstprivate : OMPC_private)
+            << getOpenMPDirectiveName(DSAStack->getCurrentDirective());
----------------
ABataev wrote:
> Again, `DSAStack->isFirstPrivate(VD) ? OMPC_firstprivate : OMPC_private` can 
> be replaced by simple code like this one `DVar.CKind`
> Also, additional checks must be added to private clauses, which does not 
> allow to privatize variables, that already are mapped. Maybe you need to use 
> new DSA kind `OMPC_map` and mark all mapped variables as one having 
> `OMPC_map` data-sharing attribute?
Done the first part.

About the second part of the comment: please look at lines 7474 and 7230 in the 
new version of the diff. Those are the places where we are looking if a private 
or firstprivate variable was already referenced in a map clause on the same 
construct. Is this what you meant?


Repository:
  rL LLVM

http://reviews.llvm.org/D18203



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

Reply via email to