[Bug fortran/82143] add a -fdefault-real-16 flag
janus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Sep 8 12:31:00 GMT 2017
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 ...
More information about the Gcc-bugs
mailing list