[Bug fortran/47463] [OOP] ICE in gfc_add_component_ref
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 31 12:08:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47463
--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-01-31 11:03:31 UTC ---
(In reply to comment #5)
> hydro_flow.f90:55.13:
> call this%init(st, gr)
> 1
> Error: Found no matching specific binding for the call to the GENERIC
> 'init' at (1)
That matches Cray's ftn (cf. comment 1):
call this%init(st, gr)
^
ftn-389 crayftn: ERROR INIT_PARAMS, File = hydro_flow.f90, Line = 55, Column =
14
No specific match can be found for the generic subprogram call "INIT".
> Changing this generic call to the corresponding specific type-bound procedure,
I assume s/this%init/this%init_comps/ in that line. With Crayftn I then get the
following, which looks at a glance like a bug in crayftn, though I have not
checked it:
procedure :: init_comps
^
ftn-1130 crayftn: ERROR HYDRO_FLOW, File = hydro_flow.f90, Line = 21, Column =
19
"INIT_COMPS" is specified as a procedure-name in a type bound procedure
statement. It must be a module procedure or an external procedure with an
explicit interface.
subroutine init_comps (this, st, gr)
^
ftn-575 crayftn: ERROR HYDRO_FLOW, File = hydro_flow.f90, Line = 66, Column =
14
"INIT_COMPS" has been used as a subroutine, therefore it must not be declared
as a module procedure subroutine.
> I get:
[ Some gfortran error message, completely different from Crays]
> And the same without type-binding:
> call init_comps(this, st, gr)
> Error: Type mismatch in argument 'this' at (1); passed CLASS(flow_t) to
> CLASS(grid_t)
That version works with Crayftn. It then compiles hydro_flow.f90 - and stops in
hydro_recon.f90 (line 31) for "fl%n" as '"N" is not a component of derived type
"FLOW_T"'
More information about the Gcc-bugs
mailing list