From c505ab6733997775b4aa9cd64cca455b79a7a371 Mon Sep 17 00:00:00 2001 From: Jonathan Peyton Date: Thu, 16 Jun 2016 20:18:31 +0000 Subject: Fix for crash in task dependencies With single thread using __kmpc_omp_wait_deps segfaults in OpenMP runtime. Offloading with depend also encounters this problem when we generate kmpc_omp_wait_deps instead of kmpc_omp_task_with_deps. Patch by Alex Duran Differential Revision: http://reviews.llvm.org/D21384 llvm-svn: 272949 --- openmp/runtime/src/kmp_taskdeps.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'openmp') diff --git a/openmp/runtime/src/kmp_taskdeps.cpp b/openmp/runtime/src/kmp_taskdeps.cpp index 90117109078..46ba5df9c8c 100644 --- a/openmp/runtime/src/kmp_taskdeps.cpp +++ b/openmp/runtime/src/kmp_taskdeps.cpp @@ -552,7 +552,7 @@ __kmpc_omp_wait_deps ( ident_t *loc_ref, kmp_int32 gtid, kmp_int32 ndeps, kmp_de // - if the dephash is not yet created it means we have nothing to wait for bool ignore = current_task->td_flags.team_serial || current_task->td_flags.tasking_ser || current_task->td_flags.final; #if OMP_45_ENABLED - ignore = ignore && thread->th.th_task_team->tt.tt_found_proxy_tasks == FALSE; + ignore = ignore && thread->th.th_task_team != NULL && thread->th.th_task_team->tt.tt_found_proxy_tasks == FALSE; #endif ignore = ignore || current_task->td_dephash == NULL; -- cgit v1.2.3