[Bug fortran/80766] New: [7 Regression] ICE with type bound procedures returning an array
vladimir.fuka at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon May 15 15:50:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80766
Bug ID: 80766
Summary: [7 Regression] ICE with type bound procedures
returning an array
Product: gcc
Version: 7.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: vladimir.fuka at gmail dot com
Target Milestone: ---
The following:
module m1
type :: base
contains
procedure :: fun
end type
type, extends(base) :: child
end type
contains
function fun(o) result(res)
real :: res(3)
class(base) :: o
res = 0
end function
end module
module m2
contains
subroutine sub(o)
use m1
class(child) :: o
real :: res(3)
res = o%fun()
end subroutine
end module
causes:
> gfortran-7 -cpp ice12.f90 -c
ice12.f90:30:0:
res = o%fun()
internal compiler error: in fold_convert_loc, at fold-const.c:2303
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.opensuse.org/> for instructions.
in gfortran 7.1.1 (from the OpenSUSE GCC devel repository)
It does not ICE if the subroutine is external or in module m1. It does not ICE
if the base is used instead of child. It does not ICE if the function returns a
scalar.
More information about the Gcc-bugs
mailing list