PR 42385

Janus Weil janus@gcc.gnu.org
Wed Jul 14 17:28:00 GMT 2010


Hi Salvatore,

> Now, in all the test cases in the PR the common thread is to have a
> procedure in the base type whose binding name is different from the
> procedure name, as in OP teset case

I think this is only true for your test case (comment #3), but not for
the two which use operators (comment #0/#1). For those the error also
occurs without having a binding name which is different from the
procedure name. Also the operator cases involve actual polymorphic
calls (which are falsely resolved to 'static' calls), while your test
case involves a non-polymorphic TBP call.

Therefore, I think your comment #3 is indeed a different issue than
comment #0/#1. I'm sorry for setting you on a wrong track here. (If
you prefer, you can open a new PR for your problem).


> Now the point is as follows: in the VTABS the binding => procedure thing
> is resolved correctly, and the binding name appears in the VTAB
> structure dump,  otherwise no overriding would be possible at all;
> however in the static type resolution (i.e. when the type is knonw at
> compile time) the binding-name => procedure-name at the base level is
> not handled correctly.

Right. My first guess is that there could be some logic error in
'resolve_typebound_generic_call'. Will try to find out more ...

Cheers,
Janus



More information about the Fortran mailing list