This is yet another case, where a deferred character length variable loses the character length backend_decl. As previously, converting the expression and using the string_length recovers it successfully.
Regtested on FC31/x86_64 - OK for trunk, followed by 8- and 9-branches after a week or two? Paul 2020-03-08 Paul Thomas <pa...@gcc.gnu.org> PR fortran/93833 * trans-array.c (get_array_ctor_var_strlen): If the character length backend_decl cannot be found, convert the expression and use the string length. Clear up some minor white space issues in the rest of the file. 2020-03-08 Paul Thomas <pa...@gcc.gnu.org> PR fortran/93833 * gfortran.dg/deferred_character_36.f90 : New test.