With the following example, gfortran has runtime error:
program main
character(len=5) :: s
write(s, '(3I0)') [11, 22, 33]
print '(a)', s
end program main
since the written string is longer than string s.
It would be nice to have a check that will determine such situations (especially when runtime values are used).