https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83522
Bug ID: 83522 Summary: gfortran is sometimes confused between what is an element range and what is a character range Product: gcc Version: 6.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: urbanjost at comcast dot net Target Milestone: --- In the attachment: If I try to print any range of elements of the array other than all of them and do not specify the extent of the character range I get errors. It is somewhat like it is confused as to whether I am specifying the range of elements or the range of characters. Lines commented with double-exclamations cause different kinds of errors, usually ICE; sometimes print the wrong strings or get segmentation faults depending on the LEN value. So if you take the attachment as-is it will run with some lines a lot like the commented lines. Try to uncomment the commented lines and you get ICE when you compile, or various run-time errors; either the wrong output or run-time segfaults. There is a pattern as to what works and what does not, but could not quite figure it out so I left all the cases that failed in the example because I did not want to over-simplify what I was seeing, but ... I think it is all the same problem, but I cannot even compile this program: program testit character(len=:),allocatable :: strings(:) strings=[character(len=2) :: 'AA','BB'] write(*,*)strings(:)(:) ! <<<< COMPILES WITHOUT THE WRITE(3f) end program testit internal compiler error: Segmentation fault gfortran: internal compiler error: Segmentation fault (program f951) Please submit a full bug report, with preprocessed source if appropriate.