@@ -28,7 +28,12 @@ module prif
2828 public :: prif_init
2929 public :: prif_register_stop_callback, prif_stop_callback_interface
3030 public :: prif_stop, prif_error_stop, prif_fail_image
31- public :: prif_allocate_coarray, prif_allocate, prif_deallocate_coarray, prif_deallocate
31+ public :: prif_allocate_coarray, prif_allocate, prif_deallocate
32+ #if FORCE_PRIF_0_5 || FORCE_PRIF_0_6
33+ public :: prif_deallocate_coarray
34+ #else
35+ public :: prif_deallocate_coarray, prif_deallocate_coarrays
36+ #endif
3237 public :: prif_put, prif_put_indirect, prif_get, prif_get_indirect, prif_put_with_notify, prif_put_with_notify_indirect
3338 public :: prif_put_indirect_with_notify, prif_put_indirect_with_notify_indirect
3439 public :: prif_get_strided, prif_get_strided_indirect, prif_put_strided, prif_put_strided_indirect
@@ -139,7 +144,7 @@ module prif
139144
140145 type, public :: prif_team_type
141146 private
142- type (team_data ), pointer :: info = > null ()
147+ type (prif_team_descriptor ), pointer :: info = > null ()
143148 end type
144149
145150 abstract interface
@@ -214,13 +219,30 @@ module subroutine prif_allocate(size_in_bytes, allocated_memory, stat, errmsg, e
214219 character (len= :), intent (inout ), allocatable , optional :: errmsg_alloc
215220 end subroutine
216221
222+ #if FORCE_PRIF_0_5 || FORCE_PRIF_0_6
217223 module subroutine prif_deallocate_coarray (coarray_handles , stat , errmsg , errmsg_alloc )
218224 implicit none
219225 type (prif_coarray_handle), intent (in ) :: coarray_handles(:)
220226 integer (c_int), intent (out ), optional :: stat
221227 character (len=* ), intent (inout ), optional :: errmsg
222228 character (len= :), intent (inout ), allocatable , optional :: errmsg_alloc
223229 end subroutine
230+ #else
231+ module subroutine prif_deallocate_coarray (coarray_handle , stat , errmsg , errmsg_alloc )
232+ implicit none
233+ type (prif_coarray_handle), intent (in ) :: coarray_handle
234+ integer (c_int), intent (out ), optional :: stat
235+ character (len=* ), intent (inout ), optional :: errmsg
236+ character (len= :), intent (inout ), allocatable , optional :: errmsg_alloc
237+ end subroutine
238+ module subroutine prif_deallocate_coarrays (coarray_handles , stat , errmsg , errmsg_alloc )
239+ implicit none
240+ type (prif_coarray_handle), intent (in ) :: coarray_handles(:)
241+ integer (c_int), intent (out ), optional :: stat
242+ character (len=* ), intent (inout ), optional :: errmsg
243+ character (len= :), intent (inout ), allocatable , optional :: errmsg_alloc
244+ end subroutine
245+ #endif
224246
225247 module subroutine prif_deallocate (mem , stat , errmsg , errmsg_alloc )
226248 implicit none
@@ -1155,14 +1177,14 @@ module subroutine prif_atomic_ref_logical_indirect(image_num, atom_remote_ptr, v
11551177 type (c_ptr) :: reserved
11561178 end type
11571179
1158- type, private :: team_data
1180+ type, private :: prif_team_descriptor
11591181 type (c_ptr) :: gex_team
11601182 type (c_ptr) :: heap_mspace
11611183 integer (c_intptr_t) :: heap_start
11621184 integer (c_size_t) :: heap_size
11631185 integer (c_int64_t) :: team_number
11641186 integer (c_int) :: this_image, num_images
1165- type (team_data ), pointer :: parent_team = > null ()
1187+ type (prif_team_descriptor ), pointer :: parent_team = > null ()
11661188 type (prif_coarray_descriptor), pointer :: coarrays = > null ()
11671189 type (child_team_info), pointer :: child_heap_info = > null ()
11681190 end type
0 commit comments