[Patch, Fortran] PR 41873 & 41556

Daniel Kraft d@domob.eu
Thu Nov 5 10:44:00 GMT 2009


Janus Weil wrote:
> Hi all,
> 
> here is a patch for PR 41873, which also fixes a part of PR 41556. The
> problem was that a check, which prevents abstract interfaces from
> being called, falsely triggered an error for deferred type-bound
> procedures with abstract interface.
> 
> My solution to this may be a bit hackish, but it works very good in
> practice: To distinguish both cases I simply check certain fields,
> which are always set for the TBP case, but not for plain abstract
> interfaces.

Shouldn't the gfc_expr / gfc_code be EXPR_COMPCALL or EXEC_COMPCALL for 
TBPs (with or without abstract interface) as possibility to distinguish 
these?

I may be overlooking something here but if it is, I'd strongly prefer 
you do that check instead.

> When working on this PR, I also noticed that the check for calling
> abstract subroutines was missing completely (only functions were
> checked), so I also added this (again distinguishing TBPs).
> 
> The patch regtests without failures on x86_64-unknown-linux-gnu. Ok for trunk?

Considering my comment above, ok.  Thanks for the fix!

Yours,
Daniel

-- 
Done:  Arc-Bar-Cav-Ran-Rog-Sam-Tou-Val-Wiz
To go: Hea-Kni-Mon-Pri



More information about the Fortran mailing list