https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77505
Bug ID: 77505 Summary: Negative character length not treated as LEN=0 Product: gcc Version: 5.4.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: urbanjost at comcast dot net Target Milestone: --- From section 4.4.5.2-5 of the f2008 standard, I think negative character lengths should be treated as LEN=0. In the following sample, if I enter a negative value the code gets a segmentation fault using gfortran 5.4.0 on Cygwin, at least. program rabbithole ! 4.4.5.2-5 If the character length parameter value evaluates to a negative value, the length of character entities declared is zero. implicit none character(len=:),allocatable :: text_block(:) integer :: i integer :: ii character(len=10) :: cten='abcdefghij' character(len=20) :: ctwenty='abcdefghijabcdefghij' write(*,*)'DOES A NEGATIVE VALUE ACT LIKE LEN=0? (4.4.5.2-5)' write(*,*)'ENTER NEGATIVE LENGTH ' ! enter a negative number to be mean read(*,*)ii text_block=[ character(len=ii) :: cten, ctwenty ] write(*,*)'WRITE IT' write(*,'(a)')(trim(text_block(i)),i=1,size(text_block)) end program rabbithole Program received signal SIGSEGV: Segmentation fault - invalid memory reference. Backtrace for this error: #0 0xFFFFFFFFFFFFFFFF #1 0xFFFFFFFFFFFFFFFF #2 0xFFFFFFFFFFFFFFFF #3 0xFFFFFFFFFFFFFFFF #4 0xFFFFFFFFFFFFFFFF #5 0xFFFFFFFFFFFFFFFF #6 0xFFFFFFFFFFFFFFFF #7 0xFFFFFFFFFFFFFFFF #8 0xFFFFFFFFFFFFFFFF #9 0xFFFFFFFFFFFFFFFF #10 0xFFFFFFFFFFFFFFFF #11 0xFFFFFFFFFFFFFFFF #12 0xFFFFFFFFFFFFFFFF #13 0xFFFFFFFFFFFFFFFF /home/urbanjs/.twm/scripts_daily/quiet: line 8: 23784 Segmentation fault (core dumped) $COMMAND CYGWIN_NT-10.0 buzz 2.6.0(0.304/5/3) 2016-08-31 14:32 x86_64 Cygwin GNU Fortran (GCC) 5.4.0 Copyright (C) 2015 Free Software Foundation, Inc.