@@ -1926,7 +1926,7 @@ PREFIX (sendget) (caf_token_t token_s, size_t offset_s, int image_index_s,
1926
1926
gfc_descriptor_t * dest , caf_vector_t * dst_vector ,
1927
1927
caf_token_t token_g , size_t offset_g , int image_index_g ,
1928
1928
gfc_descriptor_t * src , caf_vector_t * src_vector ,
1929
- int dst_kind , int src_kind , bool mrt , int * stat )
1929
+ int dst_kind , int src_kind , bool mrt , int * pstat )
1930
1930
{
1931
1931
int ierr = 0 ;
1932
1932
size_t i , size ;
@@ -1955,8 +1955,14 @@ PREFIX (sendget) (caf_token_t token_s, size_t offset_s, int image_index_s,
1955
1955
dst_remote_image = image_index_s - 1 ;
1956
1956
1957
1957
/* Ensure stat is always set. */
1958
+ #ifdef GCC_GE_7
1959
+ int * stat = pstat ;
1958
1960
if (stat )
1959
1961
* stat = 0 ;
1962
+ #else
1963
+ /* Gcc prior to 7.0 does not have stat here. */
1964
+ int * stat = NULL ;
1965
+ #endif
1960
1966
1961
1967
size = 1 ;
1962
1968
for (j = 0 ; j < dst_rank ; ++ j )
@@ -2681,7 +2687,7 @@ void
2681
2687
PREFIX (send ) (caf_token_t token , size_t offset , int image_index ,
2682
2688
gfc_descriptor_t * dest , caf_vector_t * dst_vector ,
2683
2689
gfc_descriptor_t * src , int dst_kind , int src_kind ,
2684
- bool mrt , int * stat )
2690
+ bool mrt , int * pstat )
2685
2691
{
2686
2692
int ierr = 0 ;
2687
2693
size_t i , size ;
@@ -2708,8 +2714,14 @@ PREFIX (send) (caf_token_t token, size_t offset, int image_index,
2708
2714
const int remote_image = image_index - 1 ;
2709
2715
2710
2716
/* Ensure stat is always set. */
2717
+ #ifdef GCC_GE_7
2718
+ int * stat = pstat ;
2711
2719
if (stat )
2712
2720
* stat = 0 ;
2721
+ #else
2722
+ /* Gcc prior to 7.0 does not have stat here. */
2723
+ int * stat = NULL ;
2724
+ #endif
2713
2725
2714
2726
size = 1 ;
2715
2727
for (j = 0 ; j < dst_rank ; ++ j )
@@ -3244,7 +3256,7 @@ void
3244
3256
PREFIX (get ) (caf_token_t token , size_t offset , int image_index ,
3245
3257
gfc_descriptor_t * src , caf_vector_t * src_vector ,
3246
3258
gfc_descriptor_t * dest , int src_kind , int dst_kind ,
3247
- bool mrt , int * stat )
3259
+ bool mrt , int * pstat )
3248
3260
{
3249
3261
int ierr = 0 ;
3250
3262
size_t i , size ;
@@ -3271,8 +3283,14 @@ PREFIX (get) (caf_token_t token, size_t offset, int image_index,
3271
3283
const int remote_image = image_index - 1 ;
3272
3284
3273
3285
/* Ensure stat is always set. */
3286
+ #ifdef GCC_GE_7
3287
+ int * stat = pstat ;
3274
3288
if (stat )
3275
3289
* stat = 0 ;
3290
+ #else
3291
+ /* Gcc prior to 7.0 does not have stat here. */
3292
+ int * stat = NULL ;
3293
+ #endif
3276
3294
3277
3295
size = 1 ;
3278
3296
for (j = 0 ; j < dst_rank ; ++ j )
0 commit comments