[Patch, fortran] PR116733: Generic processing of assumed rank objects (f202y)

Thomas Koenig tkoenig@netcologne.de
Mon Sep 23 14:15:05 GMT 2024


Am 23.09.24 um 11:02 schrieb Paul Richard Thomas:
> Hi All,
> 
> The moment I saw the DIN4 proposal for "Generic processing of assumed 
> rank objects", I thought that this was a highly intuitive and 
> implementable proposal. I implemented a test version in June and had 
> some correspondence with Reinhold Bader about it shortly before he 
> passed away.
> 
> Malcolm Cohen wrote J3/24-136r1 in response to this and I have posted a 
> comment in PR116733 addressing the the extent to which the attached 
> patch addresses his remarks.

I think your approaches are sound.

> Before this patch goes through the approval process, we have to consider 
> how experimental F202y features can be carried forward. I was badly 
> bitten by failing to synchronise the array descriptor reform branch to 
> the extent that I gave up on it and adopted the simplified reform that 
> is now in place. Given the likely timescale before the full adoption of 
> the F202y standard, this is a considerable risk for 
> experimental features, given the variability of active maintainers:
>

That is correct. We (well, Nicolas) also saw the bit rot on the
native coarray branch.

> What I propose is the following:
> (i) For audit purposes, I have opened PR116732, which should be blocked 
> by PRs for each experimental F202y feature;

I have added PR 116025 to this.

> (ii) These PRs should represent a complete audit trail for each feature; and
> (iii) All such experimental features should be enabled on mainline by 
> --std=f202y, which is equivalent to -std=f2023+f202y.

As far as the -funsigned patch goes: I would like to keep the option
itself, but also enable it with -std=f202y.

> The attached patch enables pointer assignment and associate, both with 
> rank remapping, plus the reshape intrinsics. which was not part of the 
> DIN4 proposal.
> 
> The ChangeLog entries do a pretty complete job of describing the patch.
> 
> Regtests correctly. OK for mainline?

As a general remark: What we currently have are extensions, and we
should try to describe them so a user who is not familiar with the
J3 documents or our PRs and commit messages should be able to use
the features.  I am certainly not there yet with the work on UNSIGNED,
but we should work on that so the documentation is fairly complete
when gcc15 is released.

As for the patch itself: It looks good do me in principle. It still
needs some test cases (or did git omit these from your patch?
I've been bitten by that :-).  One typo:

+      gfc_error ("The data-target at %L ia an assumed rank object and 
so the "

s/ia/is/

So, OK in principle with reasonable test coverage, but if you could hold
for a few days before committing so others can also comment, that would
be good.

Best regards

	Thomas



More information about the Fortran mailing list