Skip to content

Commit 35e5402

Browse files
author
Damian Rouson
committed
WIP: fixed compilation errors
1 parent 1fac8ff commit 35e5402

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

src/libcaf-gfortran-descriptor.h

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
3030

3131
#include <stdint.h> /* For int32_t. */
3232

33+
#if __GNUC__ >= 8
34+
#define GCC_GE_8 1
35+
#endif
36+
37+
#if __GNUC__ >= 7
38+
#define GCC_GE_7 1
39+
#endif
40+
3341
/* GNU Fortran's array descriptor. Keep in sync with libgfortran.h. To be
3442
replaced by TS29113's ISO_Fortran_binding.h with CFI_cdesc_t. */
3543

@@ -79,9 +87,10 @@ typedef struct gfc_descriptor_t {
7987
#define GFC_DTYPE_TYPE_MASK 0x70
8088
#define GFC_DTYPE_SIZE_SHIFT 7
8189

82-
#define GFC_DESCRIPTOR_RANK(desc) ((desc)->dtype.rank)
83-
#define GFC_DESCRIPTOR_TYPE(desc) (((desc)->dtype.type)
84-
#define GFC_DESCRIPTOR_SIZE(desc) ((desc)->dtype.elem_len)
90+
#define GFC_DESCRIPTOR_RANK(desc) (desc)->dtype.rank
91+
#define GFC_DESCRIPTOR_TYPE(desc) (desc)->dtype.type
92+
#define GFC_DESCRIPTOR_SIZE(desc) (desc)->dtype.elem_len
93+
#define GFC_DTYPE_TYPE_SIZE(desc) (desc)->dtype.elem_len
8594

8695
#else
8796

@@ -95,15 +104,14 @@ typedef struct gfc_descriptor_t {
95104
#define GFC_DESCRIPTOR_TYPE(desc) (((desc)->dtype & GFC_DTYPE_TYPE_MASK) \
96105
>> GFC_DTYPE_TYPE_SHIFT)
97106
#define GFC_DESCRIPTOR_SIZE(desc) ((desc)->dtype >> GFC_DTYPE_SIZE_SHIFT)
107+
#define GFC_DTYPE_TYPE_SIZE(desc) ((desc)->dtype & GFC_DTYPE_TYPE_SIZE_MASK)
98108

99109
#endif
100110

101111
#define GFC_DTYPE_SIZE_MASK \
102112
((~((ptrdiff_t) 0) >> GFC_DTYPE_SIZE_SHIFT) << GFC_DTYPE_SIZE_SHIFT)
103113
#define GFC_DTYPE_TYPE_SIZE_MASK (GFC_DTYPE_SIZE_MASK | GFC_DTYPE_TYPE_MASK)
104114

105-
#define GFC_DTYPE_TYPE_SIZE(desc) ((desc)->dtype & GFC_DTYPE_TYPE_SIZE_MASK)
106-
107115
#define GFC_DTYPE_INTEGER_1 ((BT_INTEGER << GFC_DTYPE_TYPE_SHIFT) \
108116
| (sizeof(int8_t) << GFC_DTYPE_SIZE_SHIFT))
109117
#define GFC_DTYPE_INTEGER_2 ((BT_INTEGER << GFC_DTYPE_TYPE_SHIFT) \

src/make.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ ifeq ($(compiler),gnu)
4242
MPICC = mpicc
4343
OSHCC = oshcc
4444
FFLAGS_EXTRA = -fcoarray=lib
45-
MPI_EXTRA_FLAGS = -Wall -Wextra -Wno-error=cpp -Wno-error=unused-parameter -DSTRIDED#-DNONBLOCKING_PUT -DCAF_MPI_LOCK_UNLOCK
45+
MPI_EXTRA_FLAGS = -Wall -Wextra -Wno-error=cpp -Wno-error=unused-parameter -DSTRIDED -DUSE_FAILED_IMAGES #-DNONBLOCKING_PUT -DCAF_MPI_LOCK_UNLOCK
4646
MPI_RUN = mpiexec -np 2
4747
else
4848
ifeq ($(compiler),cray)

src/mpi/mpi_caf.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6092,8 +6092,13 @@ PREFIX (sendget_by_ref) (caf_token_t dst_token, int dst_image_index,
60926092
*/
60936093

60946094
dst_rank = size > 1 ? 1 : 0;
6095+
#ifdef GCC_GE_8
6096+
temp_src_desc.base.dtype.elem_len = GFC_DTYPE_INTEGER_4;
6097+
temp_src_desc.base.dtype.rank = dst_rank;
6098+
#else
60956099
temp_src_desc.base.dtype = GFC_DTYPE_INTEGER_4 |
6096-
dst_rank;
6100+
dst_rank;
6101+
#endif
60976102
temp_src_desc.base.offset = 0;
60986103
temp_src_desc.dim[0].lower_bound = 0;
60996104
temp_src_desc.dim[0]._ubound = size - 1;

0 commit comments

Comments
 (0)