(j3.2006) Fw: a question on MERGE and expression evaluation
Fri Nov 19 00:28:06 EST 2010
> Fortran didn't have the IEEE intrinsic module 50 years ago.
It has had functions for approximately that long.
> It starts to appear in Fortran standard only after year 2004, when F03 was published. And F03 compilers are available for no more than 3 years.
No, it was in the IEEE TR which was published in 1998. And compilers with it have been available for over 10 years.
Not to mention that many compilers supported the IEEE standard already, and had done for quite a few years previously.
I remain adamantly opposed to mucking around with the wording of 12.5.3, which is quite irrelevant to this question. The standard DOES NOT REQUIRE COMPLETE EVALUATION OF THAT OPERAND. If the operand is fully evaluated, yes there will be an IEEE exception raised. There is precisely nothing wrong with 12.5.3 here.
And the same thing does in fact go for user functions as well, which is why we have all those words about variables becoming undefined. They are there to allow things like procedure inlining and dead code elimination, and that immediately produces similar effects to what we have here.
................................Malcolm Cohen, Nihon NAG, Tokyo.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the J3