[Bug fortran/88624] New: [Coarray] Rejects allocatable coarray passed as a dummy argument
m.modrzejewski at student dot uw.edu.pl
gcc-bugzilla@gcc.gnu.org
Thu Dec 27 19:37:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88624
Bug ID: 88624
Summary: [Coarray] Rejects allocatable coarray passed as a
dummy argument
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: m.modrzejewski at student dot uw.edu.pl
Target Milestone: ---
The compiler rejects a program where an allocatable coarray is passed to a
subroutine as an allocatable dummy argument, and then passed again as an
argument to another subroutine.
Here's a minimum example which doesn't compile with gfortran 8.2.0:
program test
implicit none
integer, parameter :: F64 = selected_real_kind(p=15, r=307)
real(F64), dimension(:), allocatable :: x[:]
call g(x)
if (this_image()==1) then
print *, x
end if
contains
subroutine g(x)
real(F64), dimension(:), allocatable :: x[:]
allocate(x(10)[*])
call g2(x)
end subroutine g
subroutine g2(x)
real(F64), dimension(:) :: x[*]
integer :: k
do k = 1, 10
x(k) = 2.0_F64 * this_image()
end do
end subroutine g2
end program test
The following error message appears:
$ gfortran-8 -fcoarray=lib example-gfortran.f90 -lcaf_mpi
example-gfortran.f90:13:0:
call g2(x)
internal compiler error: in gfc_conv_procedure_call, at
fortran/trans-expr.c:5866
The compilation completed without any errors when using the flag
-fcoarray=single. The Intel Fortran compiler doesn't see any problem here.
Regards,
Marcin
More information about the Gcc-bugs
mailing list