Skip to content

Commit c605be9

Browse files
author
Damian Rouson
committed
Fix character type information
1 parent 6dfd912 commit c605be9

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/libcaf-gfortran-descriptor.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ typedef struct gfc_descriptor_t {
8484
#define GFC_DESCRIPTOR_RANK(desc) (desc)->dtype.rank
8585
#define GFC_DESCRIPTOR_TYPE(desc) (desc)->dtype.type
8686
#define GFC_DESCRIPTOR_SIZE(desc) (desc)->dtype.elem_len
87-
#define GFC_DTYPE_TYPE_SIZE(desc) (desc)->dtype.elem_len
87+
#define GFC_DTYPE_TYPE_SIZE(desc) (( ((desc)->dtype.type << GFC_DTYPE_TYPE_SHIFT) \
88+
| ((desc)->dtype.elem_len << GFC_DTYPE_SIZE_SHIFT) ) & GFC_DTYPE_TYPE_SIZE_MASK)
8889

8990
#else
9091

@@ -167,11 +168,14 @@ typedef struct gfc_descriptor_t {
167168
receives in the dtype component its gf_descriptor_t argument for character(kind=c_char)
168169
and logical(kind=c_bool) data:
169170
*/
170-
#define GFC_DTYPE_CHARACTER 48
171171

172-
#if 0
172+
#ifdef GCC_GE_8
173+
173174
#define GFC_DTYPE_CHARACTER ((BT_CHARACTER << GFC_DTYPE_TYPE_SHIFT) \
174175
| (sizeof(char) << GFC_DTYPE_SIZE_SHIFT))
176+
177+
#else
178+
#define GFC_DTYPE_CHARACTER 48
175179
#endif
176180

177181

0 commit comments

Comments
 (0)