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