------- Comment #14 from dominiq at lps dot ens dot fr 2007-10-21 20:05 ------- Now I understand the strange result I reported in comment #5. What is happening is that there is a second nonprintable character. If I redirect the output to a file I see it (in general ^@).
>From what I understand of the code the substring x(1:len(trim(x))) is not computed correctly by: if (ref->u.ss.start->expr_type != EXPR_CONSTANT || ref->u.ss.end->expr_type != EXPR_CONSTANT) break; probably not computed at all, as noticed by Tobias Schlüter in the patch in http://gcc.gnu.org/ml/fortran/2007-10/msg00212.html However get_array_ctor_all_strlen (block, expr, len); leads to ICE's. I assume that there is somewhere a piece of code able to compute the length of x(1:len(trim(x))), but I did not find it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33254