Skip to content

Commit a9a72a0

Browse files
author
apple-llvm-mt
committed
Merge libcxx: Mark papers P1458, P1459, P1462 and P1464 as complete. No changed needed to either the library or the tests.
apple-llvm-split-dir: libcxx/
2 parents 090b984 + d72ebee commit a9a72a0

File tree

19 files changed

+598
-96
lines changed

19 files changed

+598
-96
lines changed

libcxx/www/cxx2a_status.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,11 @@ <h3>Paper Status</h3>
150150
<tr><td><a href="https://wg21.link/P1252R2">P1252R2</a></td><td>LWG</td><td>Ranges Design Cleanup</td><td>Kona</td><td></td><td></td></tr>
151151
<tr><td><a href="https://wg21.link/P1286R2">P1286R2</a></td><td>CWG</td><td>Contra CWG DR1778</td><td>Kona</td><td></td><td></td></tr>
152152
<tr><td><a href="https://wg21.link/P1357R1">P1357R1</a></td><td>LWG</td><td>Traits for [Un]bounded Arrays</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
153-
<tr><td><a href="https://wg21.link/P1458R1">P1458R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 16 - Language support library</td><td>Kona</td><td></td><td></td></tr>
154-
<tr><td><a href="https://wg21.link/P1459R1">P1459R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 18 - Diagnostics library</td><td>Kona</td><td></td><td></td></tr>
155-
<tr><td><a href="https://wg21.link/P1462R1">P1462R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 20 - Strings library</td><td>Kona</td><td></td><td></td></tr>
153+
<tr><td><a href="https://wg21.link/P1458R1">P1458R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 16 - Language support library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
154+
<tr><td><a href="https://wg21.link/P1459R1">P1459R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 18 - Diagnostics library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
155+
<tr><td><a href="https://wg21.link/P1462R1">P1462R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 20 - Strings library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
156156
<tr><td><a href="https://wg21.link/P1463R1">P1463R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 21 - Containers library</td><td>Kona</td><td></td><td></td></tr>
157-
<tr><td><a href="https://wg21.link/P1464R1">P1464R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 22 - Iterators library</td><td>Kona</td><td></td><td></td></tr>
157+
<tr><td><a href="https://wg21.link/P1464R1">P1464R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 22 - Iterators library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
158158

159159
<!-- <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> -->
160160
</table>

lldb/cmake/modules/LLDBConfig.cmake

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ endif()
128128
# addresses them, but it can be improved and extended on an as-needed basis.
129129
function(find_python_libs_windows)
130130
if ("${PYTHON_HOME}" STREQUAL "")
131-
message("LLDB embedded Python on Windows requires specifying a value for PYTHON_HOME. Python support disabled.")
131+
message(WARNING "LLDB embedded Python on Windows requires specifying a value for PYTHON_HOME. Python support disabled.")
132132
set(LLDB_DISABLE_PYTHON 1 PARENT_SCOPE)
133133
return()
134134
endif()
@@ -140,12 +140,12 @@ function(find_python_libs_windows)
140140
REGEX "^#define[ \t]+PY_VERSION[ \t]+\"[^\"]+\"")
141141
string(REGEX REPLACE "^#define[ \t]+PY_VERSION[ \t]+\"([^\"+]+)[+]?\".*" "\\1"
142142
PYTHONLIBS_VERSION_STRING "${python_version_str}")
143-
message("-- Found Python version ${PYTHONLIBS_VERSION_STRING}")
143+
message(STATUS "Found Python version ${PYTHONLIBS_VERSION_STRING}")
144144
string(REGEX REPLACE "([0-9]+)[.]([0-9]+)[.][0-9]+" "python\\1\\2" PYTHONLIBS_BASE_NAME "${PYTHONLIBS_VERSION_STRING}")
145145
unset(python_version_str)
146146
else()
147-
message("Unable to find ${PYTHON_INCLUDE_DIR}/patchlevel.h, Python installation is corrupt.")
148-
message("Python support will be disabled for this build.")
147+
message(WARNING "Unable to find ${PYTHON_INCLUDE_DIR}/patchlevel.h, Python installation is corrupt.")
148+
message(WARNING "Python support will be disabled for this build.")
149149
set(LLDB_DISABLE_PYTHON 1 PARENT_SCOPE)
150150
return()
151151
endif()
@@ -165,13 +165,13 @@ function(find_python_libs_windows)
165165

166166
foreach(component PYTHON_EXE;PYTHON_LIB;PYTHON_DLL)
167167
if(NOT EXISTS ${${component}})
168-
message("unable to find ${component}")
168+
message(WARNING "unable to find ${component}")
169169
unset(${component})
170170
endif()
171171
endforeach()
172172

173173
if (NOT PYTHON_EXE OR NOT PYTHON_LIB OR NOT PYTHON_DLL)
174-
message("Unable to find all Python components. Python support will be disabled for this build.")
174+
message(WARNING "Unable to find all Python components. Python support will be disabled for this build.")
175175
set(LLDB_DISABLE_PYTHON 1 PARENT_SCOPE)
176176
return()
177177
endif()
@@ -181,10 +181,10 @@ function(find_python_libs_windows)
181181
set (PYTHON_DLL ${PYTHON_DLL} PARENT_SCOPE)
182182
set (PYTHON_INCLUDE_DIR ${PYTHON_INCLUDE_DIR} PARENT_SCOPE)
183183

184-
message("-- LLDB Found PythonExecutable: ${PYTHON_EXE}")
185-
message("-- LLDB Found PythonLibs: ${PYTHON_LIB}")
186-
message("-- LLDB Found PythonDLL: ${PYTHON_DLL}")
187-
message("-- LLDB Found PythonIncludeDirs: ${PYTHON_INCLUDE_DIR}")
184+
message(STATUS "LLDB Found PythonExecutable: ${PYTHON_EXE}")
185+
message(STATUS "LLDB Found PythonLibs: ${PYTHON_LIB}")
186+
message(STATUS "LLDB Found PythonDLL: ${PYTHON_DLL}")
187+
message(STATUS "LLDB Found PythonIncludeDirs: ${PYTHON_INCLUDE_DIR}")
188188
endfunction(find_python_libs_windows)
189189

190190
if (NOT LLDB_DISABLE_PYTHON)

lldb/cmake/modules/LLDBStandalone.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
9595
Please install Python or specify the PYTHON_EXECUTABLE CMake variable.")
9696
endif()
9797
else()
98-
message("-- Found PythonInterp: ${PYTHON_EXECUTABLE}")
98+
message(STATUS "Found PythonInterp: ${PYTHON_EXECUTABLE}")
9999
endif()
100100

101101
set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}")

lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ NativeProcessNetBSD::NativeProcessNetBSD(::pid_t pid, int terminal_fd,
140140
NativeDelegate &delegate,
141141
const ArchSpec &arch,
142142
MainLoop &mainloop)
143-
: NativeProcessProtocol(pid, terminal_fd, delegate), m_arch(arch) {
143+
: NativeProcessELF(pid, terminal_fd, delegate), m_arch(arch) {
144144
if (m_terminal_fd != -1) {
145145
Status status = EnsureFDFlags(m_terminal_fd, O_NONBLOCK);
146146
assert(status.Success());

lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -90,58 +90,6 @@ static const RegisterSet g_reg_sets_x86_64[k_num_register_sets] = {
9090
};
9191

9292
#define REG_CONTEXT_SIZE (GetRegisterInfoInterface().GetGPRSize())
93-
94-
const int fpu_present = []() -> int {
95-
int mib[2];
96-
int error;
97-
size_t len;
98-
int val;
99-
100-
len = sizeof(val);
101-
mib[0] = CTL_MACHDEP;
102-
mib[1] = CPU_FPU_PRESENT;
103-
104-
error = sysctl(mib, __arraycount(mib), &val, &len, NULL, 0);
105-
if (error)
106-
errx(EXIT_FAILURE, "sysctl");
107-
108-
return val;
109-
}();
110-
111-
const int osfxsr = []() -> int {
112-
int mib[2];
113-
int error;
114-
size_t len;
115-
int val;
116-
117-
len = sizeof(val);
118-
mib[0] = CTL_MACHDEP;
119-
mib[1] = CPU_OSFXSR;
120-
121-
error = sysctl(mib, __arraycount(mib), &val, &len, NULL, 0);
122-
if (error)
123-
errx(EXIT_FAILURE, "sysctl");
124-
125-
return val;
126-
}();
127-
128-
const int fpu_save = []() -> int {
129-
int mib[2];
130-
int error;
131-
size_t len;
132-
int val;
133-
134-
len = sizeof(val);
135-
mib[0] = CTL_MACHDEP;
136-
mib[1] = CPU_FPU_SAVE;
137-
138-
error = sysctl(mib, __arraycount(mib), &val, &len, NULL, 0);
139-
if (error)
140-
errx(EXIT_FAILURE, "sysctl");
141-
142-
return val;
143-
}();
144-
14593
} // namespace
14694

14795
NativeRegisterContextNetBSD *
@@ -197,7 +145,7 @@ int NativeRegisterContextNetBSD_x86_64::GetSetForNativeRegNum(
197145
if (reg_num <= k_last_gpr_x86_64)
198146
return GPRegSet;
199147
else if (reg_num <= k_last_fpr_x86_64)
200-
return (fpu_present == 1 && osfxsr == 1 && fpu_save >= 1) ? FPRegSet : -1;
148+
return FPRegSet;
201149
else if (reg_num <= k_last_avx_x86_64)
202150
return -1; // AVX
203151
else if (reg_num <= k_last_mpxr_x86_64)

openmp/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,12 @@
6161
#endif
6262

6363
#define __SYNCTHREADS_N(n) asm volatile("bar.sync %0;" : : "r"(n) : "memory");
64+
// Use original __syncthreads if compiled by nvcc or clang >= 9.0.
65+
#if !defined(__clang__) || __clang_major__ >= 9
66+
#define __SYNCTHREADS() __syncthreads()
67+
#else
6468
#define __SYNCTHREADS() __SYNCTHREADS_N(0)
69+
#endif
6570

6671
// arguments needed for L0 parallelism only.
6772
class omptarget_nvptx_SharedArgs {

openmp/libomptarget/plugins/cuda/src/rtl.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -448,9 +448,18 @@ __tgt_target_table *__tgt_rtl_load_binary(int32_t device_id,
448448
DPxPTR(e - HostBegin), e->name, DPxPTR(cuptr));
449449
entry.addr = (void *)cuptr;
450450

451-
if (DeviceInfo.RequiresFlags & OMP_REQ_UNIFIED_SHARED_MEMORY &&
452-
e->flags & OMP_DECLARE_TARGET_LINK) {
453-
// If unified memory is present any target link variables
451+
// Note: In the current implementation declare target variables
452+
// can either be link or to. This means that once unified
453+
// memory is activated via the requires directive, the variable
454+
// can be used directly from the host in both cases.
455+
// TODO: when variables types other than to or link are added,
456+
// the below condition should be changed to explicitely
457+
// check for to and link variables types:
458+
// (DeviceInfo.RequiresFlags & OMP_REQ_UNIFIED_SHARED_MEMORY &&
459+
// (e->flags & OMP_DECLARE_TARGET_LINK ||
460+
// e->flags == OMP_DECLARE_TARGET_TO))
461+
if (DeviceInfo.RequiresFlags & OMP_REQ_UNIFIED_SHARED_MEMORY) {
462+
// If unified memory is present any target link or to variables
454463
// can access host addresses directly. There is no longer a
455464
// need for device copies.
456465
cuMemcpyHtoD(cuptr, e->addr, sizeof(void *));

openmp/runtime/src/dllexports

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ kmpc_set_disp_num_buffers 267
408408
__kmpc_pause_resource 273
409409
__kmpc_task_reduction_modifier_init 274
410410
__kmpc_task_reduction_modifier_fini 275
411-
# __kmpc_task_allow_completion_event 276
411+
__kmpc_task_allow_completion_event 276
412412
__kmpc_taskred_init 277
413413
__kmpc_taskred_modifier_init 278
414414
%endif
@@ -572,6 +572,7 @@ kmp_set_disp_num_buffers 890
572572
omp_pause_resource 756
573573
omp_pause_resource_all 757
574574
omp_get_supported_active_levels 758
575+
omp_fulfill_event 759
575576

576577
omp_null_allocator DATA
577578
omp_default_mem_alloc DATA

openmp/runtime/src/include/50/omp.h.var

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,15 @@
334334
extern void __KAI_KMPC_CONVENTION omp_display_affinity(char const *);
335335
extern size_t __KAI_KMPC_CONVENTION omp_capture_affinity(char *, size_t, char const *);
336336

337+
/* OpenMP 5.0 events */
338+
# if defined(_WIN32)
339+
// On Windows cl and icl do not support 64-bit enum, let's use integer then.
340+
typedef omp_uintptr_t omp_event_handle_t;
341+
# else
342+
typedef enum omp_event_handle_t { KMP_EVENT_MAX_HANDLE = UINTPTR_MAX } omp_event_handle_t;
343+
# endif
344+
extern void __KAI_KMPC_CONVENTION omp_fulfill_event ( omp_event_handle_t event );
345+
337346
/* OpenMP 5.0 Pause Resources */
338347
typedef enum omp_pause_resource_t {
339348
omp_pause_resume = 0,

openmp/runtime/src/include/50/omp_lib.f.var

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545

4646
integer, parameter :: omp_pause_resource_kind = omp_integer_kind
4747
integer, parameter :: omp_depend_kind = int_ptr_kind()
48+
integer, parameter :: omp_event_handle_kind = int_ptr_kind()
4849

4950
end module omp_lib_kinds
5051

@@ -351,6 +352,11 @@
351352
integer (kind=omp_integer_kind) omp_get_supported_active_levels
352353
end function omp_get_supported_active_levels
353354

355+
subroutine omp_fulfill_event(event)
356+
use omp_lib_kinds
357+
integer (kind=omp_event_handle_kind) event
358+
end subroutine omp_fulfill_event
359+
354360
subroutine omp_init_lock(svar)
355361
!DIR$ IF(__INTEL_COMPILER.GE.1400)
356362
!DIR$ attributes known_intrinsic :: omp_init_lock
@@ -705,6 +711,7 @@
705711
!dec$ attributes alias:'OMP_PAUSE_RESOURCE' :: omp_pause_resource
706712
!dec$ attributes alias:'OMP_PAUSE_RESOURCE_ALL' :: omp_pause_resource_all
707713
!dec$ attributes alias:'OMP_GET_SUPPORTED_ACTIVE_LEVELS' :: omp_get_supported_active_levels
714+
!dec$ attributes alias:'OMP_FULFILL_EVENT' :: omp_fulfill_event
708715

709716
!dec$ attributes alias:'OMP_CONTROL_TOOL' :: omp_control_tool
710717
!dec$ attributes alias:'OMP_SET_AFFINITY_FORMAT' :: omp_set_affinity_format
@@ -796,6 +803,7 @@
796803
!dec$ attributes alias:'_OMP_PAUSE_RESOURCE' :: omp_pause_resource
797804
!dec$ attributes alias:'_OMP_PAUSE_RESOURCE_ALL' :: omp_pause_resource_all
798805
!dec$ attributes alias:'_OMP_GET_SUPPORTED_ACTIVE_LEVELS' :: omp_get_supported_active_levels
806+
!dec$ attributes alias:'_OMP_FULFILL_EVENT' :: omp_fulfill_event
799807

800808
!dec$ attributes alias:'_OMP_CONTROL_TOOL' :: omp_control_tool
801809
!dec$ attributes alias:'_OMP_SET_AFFINITY_FORMAT' :: omp_set_affinity_format
@@ -890,6 +898,7 @@
890898
!dec$ attributes alias:'omp_pause_resource_' :: omp_pause_resource
891899
!dec$ attributes alias:'omp_pause_resource_all_' :: omp_pause_resource_all
892900
!dec$ attributes alias:'omp_get_supported_active_levels_' :: omp_get_supported_active_levels
901+
!dec$ attributes alias:'omp_fulfill_event_' :: omp_fulfill_event
893902

894903
!dec$ attributes alias:'omp_set_affinity_format_' :: omp_set_affinity_format
895904
!dec$ attributes alias:'omp_get_affinity_format_' :: omp_get_affinity_format
@@ -983,6 +992,7 @@
983992
!dec$ attributes alias:'_omp_pause_resource_' :: omp_pause_resource
984993
!dec$ attributes alias:'_omp_pause_resource_all_' :: omp_pause_resource_all
985994
!dec$ attributes alias:'_omp_get_supported_active_levels_' :: omp_get_supported_active_levels
995+
!dec$ attributes alias:'_omp_fulfill_event_' :: omp_fulfill_event
986996

987997
!dec$ attributes alias:'_omp_init_lock_'::omp_init_lock
988998
!dec$ attributes alias:'_omp_init_lock_with_hint_'::omp_init_lock_with_hint

openmp/runtime/src/include/50/omp_lib.f90.var

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242

4343
integer, parameter :: omp_pause_resource_kind = omp_integer_kind
4444
integer, parameter :: omp_depend_kind = c_intptr_t
45+
integer, parameter :: omp_event_handle_kind = c_intptr_t
4546

4647
end module omp_lib_kinds
4748

@@ -366,6 +367,11 @@
366367
integer (kind=omp_integer_kind) omp_get_supported_active_levels
367368
end function omp_get_supported_active_levels
368369

370+
subroutine omp_fulfill_event(event) bind(c)
371+
use omp_lib_kinds
372+
integer (kind=omp_event_handle_kind), value :: event
373+
end subroutine omp_fulfill_event
374+
369375
subroutine omp_init_lock(svar) bind(c)
370376
!DIR$ IF(__INTEL_COMPILER.GE.1400)
371377
!DIR$ attributes known_intrinsic :: omp_init_lock

openmp/runtime/src/include/50/omp_lib.h.var

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@
5050
parameter(omp_pause_resource_kind=omp_integer_kind)
5151
integer omp_depend_kind
5252
parameter(omp_depend_kind=int_ptr_kind())
53+
integer omp_event_handle_kind
54+
parameter(omp_event_handle_kind=int_ptr_kind())
5355

5456
integer(kind=omp_integer_kind)openmp_version
5557
parameter(openmp_version=@LIBOMP_OMP_YEAR_MONTH@)
@@ -442,6 +444,11 @@
442444
integer (kind=omp_integer_kind) omp_get_supported_active_levels
443445
end function omp_get_supported_active_levels
444446

447+
subroutine omp_fulfill_event(event) bind(c)
448+
import
449+
integer (kind=omp_event_handle_kind), value :: event
450+
end subroutine omp_fulfill_event
451+
445452
subroutine omp_init_lock(svar) bind(c)
446453
!DIR$ IF(__INTEL_COMPILER.GE.1400)
447454
!DIR$ attributes known_intrinsic :: omp_init_lock
@@ -778,6 +785,7 @@
778785
!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_pause_resource
779786
!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_pause_resource_all
780787
!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_supported_active_levels
788+
!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_fulfill_event
781789
!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_teams
782790
!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_num
783791
!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock
@@ -860,6 +868,7 @@
860868
!$omp declare target(omp_pause_resource )
861869
!$omp declare target(omp_pause_resource_all )
862870
!$omp declare target(omp_get_supported_active_levels )
871+
!$omp declare target(omp_fulfill_event)
863872
!$omp declare target(omp_get_num_teams )
864873
!$omp declare target(omp_get_team_num )
865874
!$omp declare target(omp_init_lock )

openmp/runtime/src/kmp.h

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@
4848
#define TASK_IMPLICIT 0
4949
#define TASK_PROXY 1
5050
#define TASK_FULL 0
51+
#define TASK_DETACHABLE 1
52+
#define TASK_UNDETACHABLE 0
5153

5254
#define KMP_CANCEL_THREADS
5355
#define KMP_THREAD_ATTR
@@ -2269,6 +2271,19 @@ typedef struct kmp_task_affinity_info {
22692271
kmp_int32 reserved : 30;
22702272
} flags;
22712273
} kmp_task_affinity_info_t;
2274+
2275+
typedef enum kmp_event_type_t {
2276+
KMP_EVENT_UNINITIALIZED = 0,
2277+
KMP_EVENT_ALLOW_COMPLETION = 1
2278+
} kmp_event_type_t;
2279+
2280+
typedef struct {
2281+
kmp_event_type_t type;
2282+
kmp_tas_lock_t lock;
2283+
union {
2284+
kmp_task_t *task;
2285+
} ed;
2286+
} kmp_event_t;
22722287
#endif
22732288

22742289
#endif
@@ -2304,7 +2319,8 @@ typedef struct kmp_tasking_flags { /* Total struct must be exactly 32 bits */
23042319
context of the RTL) */
23052320
unsigned priority_specified : 1; /* set if the compiler provides priority
23062321
setting for the task */
2307-
unsigned reserved : 10; /* reserved for compiler use */
2322+
unsigned detachable : 1; /* 1 == can detach */
2323+
unsigned reserved : 9; /* reserved for compiler use */
23082324
#else
23092325
unsigned reserved : 12; /* reserved for compiler use */
23102326
#endif
@@ -2372,6 +2388,9 @@ struct kmp_taskdata { /* aligned during dynamic allocation */
23722388
// GOMP sends in a copy function for copy constructors
23732389
void (*td_copy_func)(void *, void *);
23742390
#endif
2391+
#if OMP_50_ENABLED
2392+
kmp_event_t td_allow_completion_event;
2393+
#endif
23752394
#if OMPT_SUPPORT
23762395
ompt_task_info_t ompt_task_info;
23772396
#endif
@@ -3642,6 +3661,14 @@ extern void __kmp_init_implicit_task(ident_t *loc_ref, kmp_info_t *this_thr,
36423661
int set_curr_task);
36433662
extern void __kmp_finish_implicit_task(kmp_info_t *this_thr);
36443663
extern void __kmp_free_implicit_task(kmp_info_t *this_thr);
3664+
3665+
#ifdef OMP_50_ENABLED
3666+
extern kmp_event_t *__kmpc_task_allow_completion_event(ident_t *loc_ref,
3667+
int gtid,
3668+
kmp_task_t *task);
3669+
extern void __kmp_fulfill_event(kmp_event_t *event);
3670+
#endif
3671+
36453672
int __kmp_execute_tasks_32(kmp_info_t *thread, kmp_int32 gtid,
36463673
kmp_flag_32 *flag, int final_spin,
36473674
int *thread_finished,

0 commit comments

Comments
 (0)