https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82143

--- Comment #3 from janus at gcc dot gnu.org ---
(In reply to kargl from comment #2)
> Actaully, the -fdefault-real* and -fdefault-integer-* options
> should be deprecated.  These options are broken by design,

I don't know what that means. And no one else does, because the documentation
does not say anything about it.


> and probably do not do what one wants.

That depends on what you want, I guess. What they do is documented rather
clearly, isn't it? So, people with reading abilities should be able to use them
without any surprises.


> Use the -freal-4-real-16 (and similar options).

From the documentation of those options it sounds like they only affect
variables with explicit kind declaration, but not those with implicit / default
kind.

If that is true, they are not able to fully replace the unbeloved
-fdefault-real-* options.

If it is not true, obviously the documentation needs to be improved.


> % cat cat a.f90 
> program foo
>    real x
>    x = 1. / 3.
>    print *, x
> end program foo
> %  gfortran6 -static -o z a.f90 && ./z
>   0.333333343    
> % gfortran6 -static -o z -freal-4-real-16 a.f90 && ./z
>   0.333333333333333333333333333333333317

Your test case seems to suggest that the latter of the two aforementioned
options is true. From earlier experiments I believe I remember the opposite,
though. So either the implementation has changed over time, or I'm just
misremembering ...

Reply via email to