------- Comment #3 from paul dot richard dot thomas at cea dot fr 2006-06-27 14:17 ------- I believe that a frontend problem is involved, even if it is only part of the story. This exhibits the same symptoms as Harald's testcase:
call foo ( (/( 'a',i=1,2 )/) ) end but this works fine: call foo ( (/'a', 'b'/) ) end Both expand the constructor just fine. However the second makes just one call to resolve_expr and leaves with a value for the string length. The first calls resolve_expr twice and has lost the string length between the first and second calls. I am blowed if I can see where this happens for the moment but I am looking furiously! Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28167