From 70bda912fb2087a0bfd2cee92e7c8c13e6948833 Mon Sep 17 00:00:00 2001 From: Jonathan Peyton Date: Fri, 6 Nov 2015 20:32:44 +0000 Subject: Fix for zero chunk size Setting dynamic schedule with chunk size 0 via omp_set_schedule(dynamic,0) and then using "schedule (runtime)" causes infinite loop because for the chunked dynamic schedule we didn't correct zero chunk to the default (1). llvm-svn: 252338 --- openmp/runtime/src/kmp_dispatch.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'openmp/runtime/src') diff --git a/openmp/runtime/src/kmp_dispatch.cpp b/openmp/runtime/src/kmp_dispatch.cpp index a1d0fc44f2b..b0d472c40ec 100644 --- a/openmp/runtime/src/kmp_dispatch.cpp +++ b/openmp/runtime/src/kmp_dispatch.cpp @@ -1060,6 +1060,9 @@ __kmp_dispatch_init( break; case kmp_sch_static_chunked : case kmp_sch_dynamic_chunked : + if ( pr->u.p.parm1 <= 0 ) { + pr->u.p.parm1 = KMP_DEFAULT_CHUNK; + } KD_TRACE(100,("__kmp_dispatch_init: T#%d kmp_sch_static_chunked/kmp_sch_dynamic_chunked cases\n", gtid)); break; case kmp_sch_trapezoidal : -- cgit v1.2.3