This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, Fortran] PR 41873 & 41556


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]