diff options
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r-- | gcc/fortran/trans-array.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 65ba84c..a4b1cba 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -6947,6 +6947,24 @@ gfc_get_dataptr_offset (stmtblock_t *block, tree parm, tree desc, tree offset, tmp = gfc_build_array_ref (tmp, index, NULL); break; + case REF_INQUIRY: + switch (ref->u.i) + { + case INQUIRY_RE: + tmp = fold_build1_loc (input_location, REALPART_EXPR, + TREE_TYPE (TREE_TYPE (tmp)), tmp); + break; + + case INQUIRY_IM: + tmp = fold_build1_loc (input_location, IMAGPART_EXPR, + TREE_TYPE (TREE_TYPE (tmp)), tmp); + break; + + default: + break; + } + break; + default: gcc_unreachable (); break; |