[Bug fortran/44265] Link error with reference to parameter array in specification expression
dominiq at lps dot ens.fr
gcc-bugzilla@gcc.gnu.org
Mon Jun 6 09:12:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44265
--- Comment #8 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
While trying to package the patch in comment 5, I stumbled on the following
problem in 32 mode: the following code
MODULE Fruits
IMPLICIT NONE
PRIVATE
PUBLIC :: Get
CONTAINS
FUNCTION Get(i) RESULT(s)
CHARACTER(len=7), PARAMETER :: names(3) = [ &
'Apple ', &
'Orange ', &
'Mango ' ];
INTEGER, INTENT(IN) :: i
CHARACTER(LEN_TRIM(names(i))) :: s
!****
s = names(i)
print *, len(s)
END FUNCTION Get
END MODULE Fruits
PROGRAM WheresThatbLinkingConstantGone
USE Fruits
IMPLICIT NONE
integer :: i
i = len(Get(1))
print *, i
END PROGRAM WheresThatbLinkingConstantGone
outputs at run time
5
5
when compiled with -m64, but
5
7
when compiled with -m32 (x86_64-apple-darwin15).
The function Get(i) works as expected when used as a contained proc or through
an interface.
More information about the Gcc-bugs
mailing list