On 1/5/23 1:14 PM, Harald Anlauf via Fortran wrote:
Resending as plain text, as the original version did not appear on the fortran
list...
Gesendet: Donnerstag, 05. Januar 2023 um 22:10 Uhr
Von: "Harald Anlauf" <anl...@gmx.de>
An: "Paul Richard Thomas" <paul.richard.tho...@gmail.com>
Cc: "fortran@gcc.gnu.org" <fortran@gcc.gnu.org>, "Alessandro Fanfarillo" <alessandro.fanfari...@gmail.com>, "Andrew
Benson" <aben...@carnegiescience.edu>, "Thomas Koenig" <tkoe...@gcc.gnu.org>, "Damian Rouson"
<damian@archaeologic.codes>
Betreff: Re: [Patch, fortran] PR37336 (Finalization) - [F03] Finish
derived-type finalization
Dear Paul, all,
I had a first look at the patch and the testcases, and I really look forward to getting this into gfortran.
A few questions surfaced when playing with it, which is why am asking for others to comment.
Testcase finalize_38.f90 exhibits a (potential) discrepancy to my expections when playing with options -std=f2018 and -std=gnu (the default).
What is the expected behavior of -std=gnu? My expectation is that -std=gnu always corresponds to the latest implemented standard (currently F2018), except for possibly allowing for GNU-extensions. This might imply that corrigenda to a standard or a newer version may lead (over time) to an adjustment of the behavior. Any opinions on it? Do we need to always test (in the testsuite) for compliance with older standards?
My understanding is that -std=gnu tends to be the least restrictive and
will allow finalize_38.f90 to compile possibly with warnings. The
warnings are to allow the user to know thay are out of current
compliance, but we should not fail on code that was previously compliant
and less we specify -std=f2018 which is more restrictive.
Jerry