diff options
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r-- | gcc/fortran/trans-array.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 680d3b4..1c47b24 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -3376,6 +3376,13 @@ gfc_conv_loop_setup (gfc_loopinfo * loop) if (loop->temp_ss != NULL) { gcc_assert (loop->temp_ss->type == GFC_SS_TEMP); + + /* Make absolutely sure that this is a complete type. */ + if (loop->temp_ss->string_length) + loop->temp_ss->data.temp.type + = gfc_get_character_type_len (gfc_default_character_kind, + loop->temp_ss->string_length); + tmp = loop->temp_ss->data.temp.type; len = loop->temp_ss->string_length; n = loop->temp_ss->data.temp.dimen; |