Regression: ICE on "result" keyword

Janus Weil janus@gcc.gnu.org
Sat Oct 6 09:42:00 GMT 2012


Hi Damian,

> 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:

thanks for reporting!


> $ 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

What I get with r192002 (as of 2012-10-02, i.e. slightly newer than
your version) on x86_64-unknown-linux-gnu is this:

    model = model%t()*dt
            1
Error: Operands of binary numeric operator '*' at (1) are
CLASS(integrand)/REAL(4)

So, no ICE, but still a regression. Apparently the type-bound
multiplication operator is not picked up. I can also confirm that it
works without the RESULT variable.

Cheers,
Janus



More information about the Fortran mailing list