https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91544
Bug ID: 91544 Summary: When initializing allocatable character array get "Error: size of variable 'A.0' is too large" Product: gcc Version: 7.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: --- If use a non-constant integer as the length for an allocatable character variable array get a confusing error message. If the integer LINE_LENGTH is a PARAMETER it works. A work-around where the array is first allocated as a zero-size array and then included in the assignment works. Otherwise get an odd compile-time error about "A.0" being too large. program testit implicit none integer :: line_length=50 character(len=:),allocatable :: test_in(:) #ifdef BAD test_in=[ character(len=line_length) :: 'aaa','bb' ] #else allocate(character(len=line_length) :: test_in(0)) test_in=[character(len=line_length) :: test_in,'aaa','bb'] #endif write(*,*)test_in end program testit gfortran -UBAD xx.F90 aaa bb gfortran -DBAD xx.F90 xx.f90:4:0: test_in=[ character(len=line_length) :: 'this is a test' ] Error: size of variable 'A.0' is too large