https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84778
Bug ID: 84778
Summary: Issue with character arguments of specified length
(does not compile)
Product: gcc
Version: 7.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: david.applegate at woodplc dot com
Target Milestone: ---
Pass a character "a" into a subroutine with an additional argument integer "b"
which specifies its length. This does not compile if integer "b" is declared
after character "a" in the subroutine. See below
program test
implicit none
integer, parameter :: b = 5
character(len=b) :: a
a = "hello"
write(*,*)a//" from main program"
call testsub(a,b)
contains
subroutine testsub(a,b)
! integer, intent(in) :: b ! if we put declaration of b here instead it
compiles ok
character(len=b), intent(in) :: a
integer, intent(in) :: b
write(*,*)a//" from testsub"
end subroutine testsub
end program test