@@ -73,10 +73,20 @@ typedef enum caf_register_t {
73
73
CAF_REGTYPE_LOCK_ALLOC ,
74
74
CAF_REGTYPE_CRITICAL ,
75
75
CAF_REGTYPE_EVENT_STATIC ,
76
- CAF_REGTYPE_EVENT_ALLOC
76
+ CAF_REGTYPE_EVENT_ALLOC ,
77
+ CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY ,
78
+ CAF_REGTYPE_COARRAY_ALLOC_ALLOCATE_ONLY
77
79
}
78
80
caf_register_t ;
79
81
82
+ /* Describes the action to take on _caf_deregister. Keep in sync with
83
+ gcc/fortran/trans.h. */
84
+ typedef enum caf_deregister_t {
85
+ CAF_DEREGTYPE_COARRAY_DEREGISTER ,
86
+ CAF_DEREGTYPE_COARRAY_DEALLOCATE_ONLY
87
+ }
88
+ caf_deregister_t ;
89
+
80
90
typedef void * caf_token_t ;
81
91
82
92
@@ -203,11 +213,12 @@ int PREFIX (num_images) (int, int);
203
213
#ifdef GCC_GE_7
204
214
void PREFIX (register) (size_t , caf_register_t , caf_token_t * ,
205
215
gfc_descriptor_t * , int * , char * , int );
216
+ void PREFIX (deregister ) (caf_token_t * , int , int * , char * , int );
206
217
#else
207
218
void * PREFIX (register) (size_t , caf_register_t , caf_token_t * ,
208
219
int * , char * , int );
209
- #endif
210
220
void PREFIX (deregister ) (caf_token_t * , int * , char * , int );
221
+ #endif
211
222
212
223
void PREFIX (caf_get ) (caf_token_t , size_t , int , gfc_descriptor_t * ,
213
224
caf_vector_t * , gfc_descriptor_t * , int , int , int );
@@ -231,9 +242,10 @@ void PREFIX(sendget_by_ref) (caf_token_t dst_token, int dst_image_index,
231
242
caf_reference_t * dst_refs , caf_token_t src_token , int src_image_index ,
232
243
caf_reference_t * src_refs , int dst_kind , int src_kind ,
233
244
bool may_require_tmp , int * dst_stat , int * src_stat );
245
+ int PREFIX (is_present ) (caf_token_t , int , caf_reference_t * refs );
234
246
#endif
235
247
236
- void PREFIX (co_broadcast ) (gfc_descriptor_t * , int , int * , char * , int );
248
+ void PREFIX (co_broadcast ) (gfc_descriptor_t * , int , int * , char * , int );
237
249
void PREFIX (co_max ) (gfc_descriptor_t * , int , int * , char * , int , int );
238
250
void PREFIX (co_min ) (gfc_descriptor_t * , int , int * , char * , int , int );
239
251
void PREFIX (co_reduce ) (gfc_descriptor_t * , void * (* opr ) (void * , void * ),
0 commit comments