This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran 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] PR78737 - [OOP] linking error with deferred, undefined user-defined derived-type I/O


Hi Paul, hi all,

2016-12-12 21:04 GMT+01:00 Janus Weil <janus@gcc.gnu.org>:
> As commented several times in bugzilla, my feeling is that the
> solution for this PR would be to utilize the vtable machinery, in
> order to generate a truly polymorphic call to the DTIO procedure.

in order to elaborate what I have in mind, I'm attaching a draft patch
which implements polymorphic DTIO in the most straightforward manner I
could come up with. I have not regtested it yet, but at least it
removes the link failure on comment 0 and 6 in the PR and most
importantly it generates the correct output for comment 18, which none
of the previous attempts have accomplished.

I'd be grateful for any comments, in particular whether I'm on the
right track here or whether I'm misinterpreting the F03 standard in
any way ...

(Btw, it seems that Paul's dtio_20.f90 works already on current trunk,
so it's not very well suited to test for the problem at hand.)

Cheers,
Janus

PS: A quick check of the dtio_* tests shows ICEs on dtio_7.f90 and
dtio_13.f90. I'll look into those tomorrow.

Attachment: pr78737.diff
Description: Text document


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