Index: runtime/src/i18n/en_US.txt =================================================================== --- runtime/src/i18n/en_US.txt +++ runtime/src/i18n/en_US.txt @@ -325,6 +325,8 @@ # %1, -- name of ignored variable, %2 -- name of variable with higher priority. OBSOLETE "%1$s: overrides %3$s specified before" # %1, %2 -- name and value of the overriding variable, %3 -- name of overriden variable. +OmptOutdatedWorkshare "OMPT: Cannot determine workshare type; using the default (loop) instead. " + "This is should be fixed in an up-to-date compiler." # --- OpenMP errors detected at runtime --- # Index: runtime/src/kmp_csupport.cpp =================================================================== --- runtime/src/kmp_csupport.cpp +++ runtime/src/kmp_csupport.cpp @@ -1761,7 +1761,7 @@ ompt_work_type_t ompt_work_type; ompt_team_info_t *team_info = __ompt_get_teaminfo(0, NULL); ompt_task_info_t *task_info = __ompt_get_task_info_object(0); - // Determine workshare type + // Determine workshare type if (loc != NULL) { if ((loc->flags & KMP_IDENT_WORK_LOOP) != 0) { ompt_work_type = ompt_work_loop; @@ -1770,8 +1770,8 @@ } else if ((loc->flags & KMP_IDENT_WORK_DISTRIBUTE) != 0) { ompt_work_type = ompt_work_distribute; } else { - KMP_ASSERT2(0, - "__kmpc_for_static_fini: can't determine workshare type"); + ompt_work_type = ompt_work_loop; + KMP_WARNING(OmptOutdatedWorkshare); } KMP_DEBUG_ASSERT(ompt_work_type); } Index: runtime/src/kmp_sched.cpp =================================================================== --- runtime/src/kmp_sched.cpp +++ runtime/src/kmp_sched.cpp @@ -68,7 +68,7 @@ ompt_task_info_t *task_info = NULL; ompt_work_type_t ompt_work_type; - if (ompt_enabled.enabled) { + if (ompt_enabled.ompt_callback_work) { // Only fully initialize variables needed by OMPT if OMPT is enabled. team_info = __ompt_get_teaminfo(0, NULL); task_info = __ompt_get_task_info_object(0); @@ -81,8 +81,8 @@ } else if ((loc->flags & KMP_IDENT_WORK_DISTRIBUTE) != 0) { ompt_work_type = ompt_work_distribute; } else { - KMP_ASSERT2(0, - "__kmpc_for_static_init: can't determine workshare type"); + ompt_work_type = ompt_work_loop; + KMP_WARNING(OmptOutdatedWorkshare); } KMP_DEBUG_ASSERT(ompt_work_type); }