Skip to content

Commit 7158ea2

Browse files
committed
[Issue-292] Compile fix for gcc-6.
1 parent 988effd commit 7158ea2

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

src/mpi/mpi_caf.c

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1926,7 +1926,7 @@ PREFIX (sendget) (caf_token_t token_s, size_t offset_s, int image_index_s,
19261926
gfc_descriptor_t *dest, caf_vector_t *dst_vector,
19271927
caf_token_t token_g, size_t offset_g, int image_index_g,
19281928
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)
19301930
{
19311931
int ierr = 0;
19321932
size_t i, size;
@@ -1955,8 +1955,14 @@ PREFIX (sendget) (caf_token_t token_s, size_t offset_s, int image_index_s,
19551955
dst_remote_image = image_index_s - 1;
19561956

19571957
/* Ensure stat is always set. */
1958+
#ifdef GCC_GE_7
1959+
int * stat = pstat;
19581960
if (stat)
19591961
*stat = 0;
1962+
#else
1963+
/* Gcc prior to 7.0 does not have stat here. */
1964+
int * stat = NULL;
1965+
#endif
19601966

19611967
size = 1;
19621968
for (j = 0; j < dst_rank; ++j)
@@ -2681,7 +2687,7 @@ void
26812687
PREFIX (send) (caf_token_t token, size_t offset, int image_index,
26822688
gfc_descriptor_t *dest, caf_vector_t *dst_vector,
26832689
gfc_descriptor_t *src, int dst_kind, int src_kind,
2684-
bool mrt, int *stat)
2690+
bool mrt, int *pstat)
26852691
{
26862692
int ierr = 0;
26872693
size_t i, size;
@@ -2708,8 +2714,14 @@ PREFIX (send) (caf_token_t token, size_t offset, int image_index,
27082714
const int remote_image = image_index - 1;
27092715

27102716
/* Ensure stat is always set. */
2717+
#ifdef GCC_GE_7
2718+
int * stat = pstat;
27112719
if (stat)
27122720
*stat = 0;
2721+
#else
2722+
/* Gcc prior to 7.0 does not have stat here. */
2723+
int * stat = NULL;
2724+
#endif
27132725

27142726
size = 1;
27152727
for (j = 0; j < dst_rank; ++j)
@@ -3244,7 +3256,7 @@ void
32443256
PREFIX (get) (caf_token_t token, size_t offset, int image_index,
32453257
gfc_descriptor_t *src, caf_vector_t *src_vector,
32463258
gfc_descriptor_t *dest, int src_kind, int dst_kind,
3247-
bool mrt, int *stat)
3259+
bool mrt, int *pstat)
32483260
{
32493261
int ierr = 0;
32503262
size_t i, size;
@@ -3271,8 +3283,14 @@ PREFIX (get) (caf_token_t token, size_t offset, int image_index,
32713283
const int remote_image = image_index - 1;
32723284

32733285
/* Ensure stat is always set. */
3286+
#ifdef GCC_GE_7
3287+
int * stat = pstat;
32743288
if (stat)
32753289
*stat = 0;
3290+
#else
3291+
/* Gcc prior to 7.0 does not have stat here. */
3292+
int * stat = NULL;
3293+
#endif
32763294

32773295
size = 1;
32783296
for (j = 0; j < dst_rank; ++j)

0 commit comments

Comments
 (0)