This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/47224] New: ICE with procedure pointer component
- From: "m.a.hulsen at tue dot nl" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 8 Jan 2011 17:07:57 +0000
- Subject: [Bug fortran/47224] New: ICE with procedure pointer component
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47224
Summary: ICE with procedure pointer component
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: m.a.hulsen@tue.nl
The code below gives:
t.f90: In function âpoisson_natboun_surfaceâ:
t.f90:23:0: internal compiler error: in gfc_walk_variable_expr, at
fortran/trans-array.c:7325
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
Note, that if xg(:) is replaced with xg it compiles normally.
module element_defs_m
use kind_defs_m
type coefficients_t
procedure (dum_vfunc), pointer, nopass :: vfunc => null()
end type coefficients_t
contains
function dum_vfunc ( n, x )
integer, intent(in) :: n
real, intent(in), dimension(:) :: x
real, dimension(n) :: dum_vfunc
dum_vfunc = 0
end function dum_vfunc
end module element_defs_m
module poisson_elements_m
use element_defs_m
implicit none
contains
subroutine poisson_natboun_surface ( coefficients )
type(coefficients_t), intent(in) :: coefficients
real, allocatable, dimension(:) :: xg, normal
real :: a
integer :: ndim = 3
a = dot_product ( normal, coefficients%vfunc ( ndim, xg(:) ) )
end subroutine poisson_natboun_surface
end module poisson_elements_m