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