[Bug fortran/32129] ICE: Procedure call with array-section-actual to scalar dummy
fxcoudert at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Nov 21 13:52:00 GMT 2007
------- Comment #4 from fxcoudert at gcc dot gnu dot org 2007-11-21 13:51 -------
I think this is valid code. The reduced testcase is:
$ cat y.f90
program testCode
implicit none
type vec
real, dimension(1) :: coords
end type
integer :: i
real, dimension(1,1), parameter :: vy = 1.
i = 1
call Sub(vec(vy(:,i)))
contains
subroutine Sub(xin)
type(vec) :: xin
intent(in) xin
print*, xin
end subroutine
end program
$ gfortran y.f90
y.f90: In function ÂtestcodeÂ:
y.f90:9: internal compiler error: in gfc_trans_call, at
fortran/trans-stmt.c:321
But it also happens with external functions:
$ cat y2.f90
implicit none
type vec
integer, dimension(1) :: coords
end type
integer :: i
integer, dimension(1,1), parameter :: vy = 0
i = 1
call shape(vec(vy(:,i)))
end program
$ gfortran y2.f90
y2.f90: In function ÂMAIN__Â:
y2.f90:8: internal compiler error: in gfc_trans_call, at
fortran/trans-stmt.c:321
And it's actually a nice area for bugs to creep in:
$ cat y3.f90
integer, parameter :: vy(1,1) = 0
type vec
integer :: coords(1)
end type
integer :: i
i = 1
print *, shape(vec(vy(:,i)))
end program
$ gfortran y3.f90
y3.f90: In function ÂMAIN__Â:
y3.f90:7: internal compiler error: Bad IO basetype (1)
$ cat y4.f90
implicit none
type vec
integer, dimension(1) :: coords
end type
integer :: i
integer, dimension(1,1), parameter :: vy = 0
i = 1
print *, shape(vec(vy(:,i)))
end program
$ gfortran y4.f90
y2.f90: In function ÂMAIN__Â:
y2.f90:8: internal compiler error: in gfc_typenode_for_spec, at
fortran/trans-types.c:841
--
fxcoudert at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fxcoudert at gcc dot gnu dot
| |org
Keywords|ice-on-invalid-code |ice-on-valid-code
Last reconfirmed|2007-05-31 11:57:03 |2007-11-21 13:51:56
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32129
More information about the Gcc-bugs
mailing list