summaryrefslogtreecommitdiffstats
path: root/openmp/runtime/src
diff options
context:
space:
mode:
authorJonathan Peyton <jonathan.l.peyton@intel.com>2015-07-23 18:58:37 +0000
committerJonathan Peyton <jonathan.l.peyton@intel.com>2015-07-23 18:58:37 +0000
commitc96dcb09148518694528b8d7e9ae4235b4a7f62e (patch)
tree1fe7df813890ccfc8e1f8633969ba7df902cdd4a /openmp/runtime/src
parent2b7d2e91ccbc091c8e447919d7d81f1bced8aa7f (diff)
downloadbcm5719-llvm-c96dcb09148518694528b8d7e9ae4235b4a7f62e.tar.gz
bcm5719-llvm-c96dcb09148518694528b8d7e9ae4235b4a7f62e.zip
Patch out a fatal assertion in OpenMP runtime until preconditions are met
Compiling simple testcase with g++ and linking it to the LLVM OpenMP runtime compiled in debug mode trips an assertion that produces a fatal error. When the assertion is skipped, the program runs successfully to completion and produces the same answer as the sequential code. Intel will restore the assertion with a patch that fixes the issues that cause it to trip. Patch by John Mellor-Crummey Differential Revision: http://reviews.llvm.org/D11269 llvm-svn: 243032
Diffstat (limited to 'openmp/runtime/src')
-rw-r--r--openmp/runtime/src/kmp_runtime.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/openmp/runtime/src/kmp_runtime.c b/openmp/runtime/src/kmp_runtime.c
index 237073d965b..8b90177a32a 100644
--- a/openmp/runtime/src/kmp_runtime.c
+++ b/openmp/runtime/src/kmp_runtime.c
@@ -2089,7 +2089,11 @@ __kmp_fork_call(
if ( __kmp_tasking_mode != tskm_immediate_exec ) {
// Set master's task team to team's task team. Unless this is hot team, it should be NULL.
+#if 0
+ // Patch out an assertion that trips while the runtime seems to operate correctly.
+ // Avoiding the preconditions that cause the assertion to trip has been promised as a forthcoming patch.
KMP_DEBUG_ASSERT(master_th->th.th_task_team == parent_team->t.t_task_team[master_th->th.th_task_state]);
+#endif
KA_TRACE( 20, ( "__kmp_fork_call: Master T#%d pushing task_team %p / team %p, new task_team %p / team %p\n",
__kmp_gtid_from_thread( master_th ), master_th->th.th_task_team,
parent_team, team->t.t_task_team[master_th->th.th_task_state], team ) );
OpenPOWER on IntegriCloud