diff --git a/openmp/runtime/src/kmp_runtime.cpp b/openmp/runtime/src/kmp_runtime.cpp index f0ddadb1f8214..d4a6c68680749 100644 --- a/openmp/runtime/src/kmp_runtime.cpp +++ b/openmp/runtime/src/kmp_runtime.cpp @@ -1521,6 +1521,10 @@ int __kmp_fork_call(ident_t *loc, int gtid, __kmpc_serialized_parallel(loc, gtid); KMP_DEBUG_ASSERT(parent_team->t.t_serialized > 1); +#if OMPD_SUPPORT + parent_team->t.t_pkfn = microtask; +#endif + #if OMPT_SUPPORT void *dummy; void **exit_frame_p; @@ -1733,6 +1737,10 @@ int __kmp_fork_call(ident_t *loc, int gtid, __kmpc_serialized_parallel(loc, gtid); +#if OMPD_SUPPORT + master_th->th.th_serial_team->t.t_pkfn = microtask; +#endif + if (call_context == fork_context_intel) { /* TODO this sucks, use the compiler itself to pass args! :) */ master_th->th.th_serial_team->t.t_ident = loc;