This is the mail archive of the
mailing list for the GCC project.
Re: Patch gcc-4.0 should not apply mathematical associative rules for addition or multiplication
Geoff Keating <firstname.lastname@example.org> writes:
| On 05/10/2004, at 2:08 PM, Dale Johannesen wrote:
| > On 05/10/2004, at 1:12 PM, Gabriel Dos Reis wrote:
| >>> Geoffrey Keating <email@example.com> writes:
| >>> That flag is clearly the right flag to pick. See the explanation
| >>> he gave.
| >>> It contains an example that illustrates the problem too.
| >> Fariborz said
| >>> For different values of "x" this leads to undeserved or absent
| >>> floating point exceptions
| >> So, why not flag_trapping_math? The case involves an infinity,
| >> what about flag_finite_math_only?
| > It is not just exceptions. It is possible that X* (C*C) would
| > overflow, or lose some low-order bits,
| > where (X*C)*C would not, for large C and small X.
| OK. I am not going to re-design Fariborz's patch for him in an e-mail
| exchange. It is clear that the explanation of the patch is inadequate
| to determine whether or not the patch is correct, so the patch is
| rejected. Fariborz, please re-post the patch with a better
| explanation, and addressing the other points I mentioned.
Which other points?
(1) clearly, flag_finite_math_only is not adquate
(2) clearly, flag_trapping_math is not adequate
(3) clearly, testing both is not adequate
I found his explanation rather clear, as to what the root of the
Your reaction is rather difficult to follow.