(Class-) array finalization and initialization question
Andre Vehreschild
vehre@gmx.de
Fri Feb 20 11:15:00 GMT 2015
Hi all,
first of all, thank you for all your help.
Next you are absolutely right: The most recent gfortran needs all elemental
init()-subroutines to be impure. I was accidentally using an old version of the
trunk gfortran. The mistake clearly was in between the ears in front of the
monitor. Attached is the corrected test program for all interested.
From the results I got so far:
ifort (13.0.1 20121010, thanks Paul): No result.
nagfort (6.0(Hibiya) Build 1034, thanks Harald): This looks reasonable and in
the way I interpret the F2008 standard. Does anyone object to this, so
that gfortran should do the same?
pgfortran (14.10-0 64-bit, thanks Harald): The counts are IMHO to low, but the
resulting array is equal to nagfort's result, therefore I like the
array result.
cray fortran (no version given, thanks Salvatore): I doubt we should go for
these counts/results. Looks like the implementation of f2008 features
in the compiler is still very basic.
So I am willing to make gfortran behave like the nagfort one. Mostly because
that is the way I think the standard is to be interpreted (just for reference:
F2008, 5.3.10, §3). Any objections?
On Thu, 19 Feb 2015 22:28:25 +0100 Tobias Burnus <burnus@net-b.de> wrote:
<<< snip >>>
> Hence, the procedure cannot be PURE - or the dummy argument not
> polymorphic. If one has a nonpolymorphic dummy argument, one can check
> the pureness of the finalizer at compile time. (Do we actually do this?)
While waiting for any objections, I will check, if I can find anything in the
gfortran code that looks like this check.
Regards,
Andre
--
Andre Vehreschild * Email: vehre ad gmx dot de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fintest.f08
Type: application/octet-stream
Size: 5715 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20150220/a19195d5/attachment.obj>
More information about the Fortran
mailing list