https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80945
--- Comment #1 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- 1. write also fails (no surprise there) 2. ca is OK, ca(1:3) is not. $ cat u.f90 program main implicit none integer:: i integer, parameter:: N = 10 character(len=:), dimension(:),allocatable:: ca character(len=50):: buffer allocate(character(len=N):: ca(3)) buffer = "foo bar xyzzy" ca(1) = "foo" ca(2) = "bar" ca(3) = "xyzzy" write (*, '(3A5)') ca write (*, '(3A5)') ca(1:3) end program $ gfortran u.f90 && ./a.out foo bar xyzzy Program received signal SIGSEGV: Segmentation fault - invalid memory reference. Backtrace for this error: #0 0x7f38e528406f in ??? #1 0x7f38e5384440 in ??? #2 0x7f38e5eeb67c in formatted_transfer_scalar_write at ../../../gcc-7/libgfortran/io/transfer.c:2059 #3 0x7f38e5eeb81c in formatted_transfer at ../../../gcc-7/libgfortran/io/transfer.c:2279 #4 0x400d03 in ??? #5 0x400d55 in ??? #6 0x7f38e526f540 in ??? #7 0x400839 in ??? at ../sysdeps/x86_64/start.S:120 #8 0xffffffffffffffff in ??? Speicherzugriffsfehler (Speicherabzug geschrieben)