Hi Janne,
FWIW, by changing your example to use unformatted I/O, it works correctly.
Not for me (again, on gcc110): program main character(len=2_8**33), parameter :: a = "" write (10) a end program main with strace results in open("fort.10", O_RDWR|O_CREAT|O_CLOEXEC, 0666) = 3 fstat(3, {st_mode=S_IFREG|0664, st_size=8, ...}) = 0 write(3, "\0\0\0\0\0\0\0\0", 8) = 8 ftruncate(3, 8) = 0 close(3) = 0 Regards Thomas