http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47519
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-01-28
20:00:31 UTC ---
Paul, do you think one should do something alike in gfc_trans_allocate and in
the intrinsic scalar/array assignment block?
gfc_conv_intrinsic_len has:
default:
/* Anybody stupid enough to do this deserves inefficient code. */
ss = gfc_walk_expr (arg);
gfc_init_se (&argse, se);
if (ss == gfc_ss_terminator)
gfc_conv_expr (&argse, arg);
else
gfc_conv_expr_descriptor (&argse, arg, ss);
gfc_add_block_to_block (&se->pre, &argse.pre);
gfc_add_block_to_block (&se->post, &argse.post);
len = argse.string_length;