http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47348
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|substring with len_trim in |wrong string length with
|array constructor |array constructor
--- Comment #3 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-01-19
19:14:04 UTC ---
Reduced test case:
program main
implicit none
character(len=*), parameter :: fmt='(2(A,"|"))'
integer :: i
character(len=4) :: q
q = 'yy'
i = 2
print fmt, (/ trim(q), 'ae' /)//'c'
print fmt, (/ q(1:i), 'ae' /)//'c'
end program main
This prints
yyc|aec|
yy c|ae c|
so the string length of the array constructor is wrong.