[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#233673: gcc-3.3: Description of -ffloat-store in gcc man page is incorrect



Vincent Lefevre writes:
> Package: gcc-3.3
> Version: 1:3.3.3-1
> Severity: normal
> 
> The gcc man page says:
> 
>     -ffloat-store
>         Do  not  store floating point variables in registers.  This pre-
>         vents undesirable excess precision on machines such as the 68000
>         where  the floating registers (of the 68881) keep more precision
>         than a double is supposed to have.
> 
>         For most programs, the excess precision does only  good,  but  a
>         few  programs  rely  on  the precise definition of IEEE floating
>         point.  Use `-ffloat-store' for such programs.
> 
> The second paragraph is incorrect. The IEEE754 standard has nothing
> to do with that since it allows extended precision for intermediate
> computations. This option just makes gcc more ISO C compliant, since
> the ISO C forbids excess precision after an explicit conversion to
> double (cast or affectation).

gcc-3.4 reads:

       -ffloat-store
           Do not store floating point variables in registers, and inhibit
           other options that might change whether a floating point value is
           taken from a register or memory.

           This option prevents undesirable excess precision on machines such
           as the 68000 where the floating registers (of the 68881) keep more
           precision than a "double" is supposed to have.  Similarly for the
           x86 architecture.  For most programs, the excess precision does
           only good, but a few programs rely on the precise definition of
           IEEE floating point.  Use -ffloat-store for such programs, after
           modifying them to store all pertinent intermediate computations
           into variables.



Reply to: