I am trying to implement following code: --------------------------------------------------------------------------------------------------------- #pragma omp parallel private(i, piold, err) shared(pi, threshold_err) { #pragma omp for reduction(+:pi) schedule (static) for (i = 0; i < 10000000 ; i++){ piold = pi; pi += (((i&1) == false) ? 1.0 : -1.0)/(2*i+1); err = fabs(pi-piold); if ( err < threshold_err){ #pragma omp cancel for } } } ------------------------------------------------------------------------------------------------------------- Although with if statement removed, code takes 11 seconds, while with it in it takes forever and I ave to abort the code. I am using LLVM3.9/CLANG4.0. Is cancel for implemented in LLVM? I use a small code to see that and omp_get_cancellation() returns true for export OMP_CANCELLATION=true directive. Thank you. -Gurunath -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161113/c94136d1/attachment.html>