@@ -9,6 +9,19 @@ module prif
99 c_char, c_int, c_bool, c_intptr_t, c_ptr, &
1010 c_funptr, c_size_t, c_ptrdiff_t, c_null_ptr, c_int64_t
1111
12+ #if CAF_IMPORT_ATOMIC_CONSTANTS
13+ use iso_fortran_env, only: ATOMIC_INT_KIND, ATOMIC_LOGICAL_KIND
14+ #endif
15+ #if CAF_IMPORT_STAT_CONSTANTS
16+ use iso_fortran_env, only: &
17+ STAT_FAILED_IMAGE, STAT_STOPPED_IMAGE, &
18+ STAT_LOCKED, STAT_LOCKED_OTHER_IMAGE, &
19+ STAT_UNLOCKED, STAT_UNLOCKED_FAILED_IMAGE
20+ #endif
21+ #if CAF_IMPORT_TEAM_CONSTANTS
22+ use iso_fortran_env, only: CURRENT_TEAM, INITIAL_TEAM, PARENT_TEAM
23+ #endif
24+
1225 implicit none
1326
1427 private
@@ -50,24 +63,50 @@ module prif
5063 integer (c_int), parameter , public :: PRIF_VERSION_MAJOR = 0
5164 integer (c_int), parameter , public :: PRIF_VERSION_MINOR = 6
5265
53- integer (c_int), parameter , public :: PRIF_ATOMIC_INT_KIND = c_int64_t
54-
55- #if HAVE_SELECTED_LOGICAL_KIND
56- integer (c_int), parameter , public :: PRIF_ATOMIC_LOGICAL_KIND = selected_logical_kind(64 )
66+ #if CAF_IMPORT_ATOMIC_CONSTANTS
67+ integer (c_int), parameter , public :: PRIF_ATOMIC_INT_KIND = ATOMIC_INT_KIND
68+ integer (c_int), parameter , public :: PRIF_ATOMIC_LOGICAL_KIND = ATOMIC_LOGICAL_KIND
5769#else
58- integer (c_int), parameter , public :: PRIF_ATOMIC_LOGICAL_KIND = PRIF_ATOMIC_INT_KIND
70+ integer (c_int), parameter , public :: PRIF_ATOMIC_INT_KIND = c_int64_t
71+
72+ # if HAVE_SELECTED_LOGICAL_KIND
73+ integer (c_int), parameter , public :: PRIF_ATOMIC_LOGICAL_KIND = selected_logical_kind(64 )
74+ # else
75+ integer (c_int), parameter , public :: PRIF_ATOMIC_LOGICAL_KIND = PRIF_ATOMIC_INT_KIND
76+ # endif
5977#endif
6078
79+ #if CAF_IMPORT_TEAM_CONSTANTS
80+ integer (c_int), parameter , public :: &
81+ PRIF_CURRENT_TEAM = CURRENT_TEAM, &
82+ PRIF_INITIAL_TEAM = INITIAL_TEAM, &
83+ PRIF_PARENT_TEAM = PARENT_TEAM
84+ #else
6185 integer (c_int), parameter , public :: &
6286 PRIF_CURRENT_TEAM = 101 , &
6387 PRIF_INITIAL_TEAM = 102 , &
64- PRIF_PARENT_TEAM = 103 , &
88+ PRIF_PARENT_TEAM = 103
89+ #endif
90+
91+ #if CAF_IMPORT_STAT_CONSTANTS
92+ integer (c_int), parameter , public :: &
93+ PRIF_STAT_FAILED_IMAGE = STAT_FAILED_IMAGE, &
94+ PRIF_STAT_LOCKED = STAT_LOCKED, &
95+ PRIF_STAT_LOCKED_OTHER_IMAGE = STAT_LOCKED_OTHER_IMAGE, &
96+ PRIF_STAT_STOPPED_IMAGE = STAT_STOPPED_IMAGE, &
97+ PRIF_STAT_UNLOCKED = STAT_UNLOCKED, &
98+ PRIF_STAT_UNLOCKED_FAILED_IMAGE = STAT_UNLOCKED_FAILED_IMAGE
99+ #else
100+ integer (c_int), parameter , public :: &
65101 PRIF_STAT_FAILED_IMAGE =- 201 , &
66102 PRIF_STAT_LOCKED = 202 , &
67103 PRIF_STAT_LOCKED_OTHER_IMAGE = 203 , &
68104 PRIF_STAT_STOPPED_IMAGE = 204 , &
69105 PRIF_STAT_UNLOCKED = 205 , &
70- PRIF_STAT_UNLOCKED_FAILED_IMAGE = 206 , &
106+ PRIF_STAT_UNLOCKED_FAILED_IMAGE = 206
107+ #endif
108+
109+ integer (c_int), parameter , public :: &
71110 PRIF_STAT_OUT_OF_MEMORY = 301 , &
72111 PRIF_STAT_ALREADY_INIT = 302
73112
0 commit comments