NoQ accepted this revision. NoQ added inline comments. This revision is now accepted and ready to land.
================ Comment at: include/clang/AST/OpenMPClause.h:2102-2103 child_range used_children() { - return child_range(child_iterator(), child_iterator()); + return child_range(reinterpret_cast<Stmt **>(varlist_begin()), + reinterpret_cast<Stmt **>(varlist_end())); } ---------------- So, basically, the first approximation is that all children are used? ================ Comment at: test/Analysis/cfg-openmp.cpp:188 // CHECK-NEXT: [[#TARGET+6]]: [B1.[[#TARGET+5]]] (ImplicitCastExpr, IntegralToBoolean, _Bool) -// CHECK-NEXT: [[#TARGET+7]]: #pragma omp target depend(in : argc) if(cond) +// CHECK-NEXT: [[#TARGET+7]]: fp +// CHECK-NEXT: [[#TARGET+8]]: argc ---------------- ABataev wrote: > In `task` and `target` regions some of the variables might be implicit > firstprivate just like in this case. Aha, yup, i see, so we need to evaluate them again because we're after their lvalues so that to capture them by reference. I guess this kinda sorts out my questions. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64765/new/ https://reviews.llvm.org/D64765 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits