koops added inline comments.
================ Comment at: clang/lib/Sema/SemaOpenMP.cpp:6181-6190 + checkNestingOfRegions(*this, DSAStack, Kind, DirName, CancelRegion, + BindKind, StartLoc); Kind = OMPD_for; DSAStack->setCurrentDirective(OMPD_for); DSAStack->setMappedDirective(OMPD_loop); PrevMappedDirective = OMPD_loop; break; ---------------- ABataev wrote: > Need to drop these extra calls of checkNestingOfRegions(), all check must be > handled in the single call. Can we do it? 1) Default binding in "#pragma omp loop" is handled in the beginning of mapLoopConstruct. #pragma omp parallel .... #pragma omp loop ... indicates "omp loop" will be "omp loop bind(parallel)". So, I cannot call checkNestingOfRegions() before call to mapLoopConstruct() 2) In mapLoopConstruct the directive/construct of "omp loop" is changed to other directives like "omp for". So, it is not possible to call checkNestingOfRegions() after the call to mapLoopConstruct. Because of the above 2 reasons the current code seems correct. Please let me know if you have any alternative in mind. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158266/new/ https://reviews.llvm.org/D158266 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits