[Patch, Fortran, committed] PR 54832
Janus Weil
janus@gcc.gnu.org
Sat Oct 6 14:05:00 GMT 2012
> This is now:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54832
... which I have just fixed by an (obvious and regtested) patch:
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192160
Thanks again for reporting this,
Janus
> 2012/10/6 Rouson, Damian <rouson@sandia.gov>:
>> The Gfortran 4.8.0 20120930 ICE shown below appears to stem from the
>> "result" keyword used in the first interface body. The code works fine
>> with gfortran 4.7.2. This is a simplified version of code from my book:
>>
>> $ cat integrand.F90
>> module integrand_module
>>
>> type ,abstract :: integrand
>> contains
>> procedure(t_interface), deferred :: t
>> procedure(assign_interface), deferred :: assign
>> procedure(times_interface), deferred :: times
>> generic :: operator(*) => times
>> generic :: assignment(=) => assign
>> end type
>>
>> abstract interface
>> function t_interface(this) result(dState_dt)
>> import :: integrand
>> class(integrand) ,intent(in) :: this
>> class(integrand) ,allocatable :: dState_dt
>> end function
>> function times_interface(lhs,rhs)
>> import :: integrand
>> class(integrand) ,intent(in) :: lhs
>> class(integrand) ,allocatable :: times_interface
>> real, intent(in) :: rhs
>> end function
>> subroutine assign_interface(lhs,rhs)
>> import :: integrand
>> class(integrand) ,intent(in) :: rhs
>> class(integrand) ,intent(inout) :: lhs
>> end subroutine
>> end interface
>>
>> contains
>> subroutine integrate(model,dt)
>> class(integrand) :: model
>> real dt
>> model = model%t()*dt
>> end subroutine
>> end module
>> $ gfortran -c integrand.F90
>> integrand.F90: In function 'integrate':
>> integrand.F90:35:0: internal compiler error: in gfc_conv_expr, at
>> fortran/trans-expr.c:5862
>> model = model%t()*dt
>> ^
>>
>> integrand.F90:35:0: internal compiler error: Abort trap: 6
>> gfortran: internal compiler error: Abort trap: 6 (program f951)
>> Abort trap: 6
>> remote-ca41:gnu-regression rouson$ gfortran --version
>> GNU Fortran (MacPorts gcc48 4.8-20120930_1) 4.8.0 20120930 (experimental)
>> Copyright (C) 2012 Free Software Foundation, Inc.
>>
>>
>>
More information about the Fortran
mailing list