This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/79430] [7 Regression] action of statement incorrectly optimised away


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

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kargl at gcc dot gnu.org

--- Comment #7 from kargl at gcc dot gnu.org ---
(In reply to Jürgen Reuter from comment #6)
> (In reply to Dominique d'Humieres from comment #5)
> > What does --with-precision=extended?
> 
> It sets the default precision of real and complex floats (kind type
> parameter) to 80 bit instead of 64 bit (double) or 128bit (quadruple)
> precision according to:
> 
>   !!! available REAL kinds               ! prec.  ! ISO     ! C
>   integer, parameter :: single    =  4   !  1.. 6 ! real32  ! c_float      
>   integer, parameter :: double    =  8   !  7..15 ! real64  ! c_double     
>   integer, parameter :: extended  = 10   ! 16..18 ! real128 ! c_long_double
>   integer, parameter :: quadruple = 16   ! 19..33 ! -1      ! c_float128 
> 
>   integer, parameter :: default           = extended

Your use of terminology is unclear.  The default real type in
Fortran is REAL.  Real has a default real kind type value of 4.
This means that REAL == REAL(4), which is 32 bits.  If you are
using some configure magic to map REAL to REAL(10), your version
of gfortran is too broken to save.

Also note, I just fixed gfortran so that your table above is wrong.
If the four real types with kind = 4, 8, 10, and 16 are available.
Then the mapping is REAL(4) == REAL32, REAL(8) == REAL64, and 
REAL(16) == REAL128.  

If a clever user messes up what default precision means, then
that clever user gets what they deserve.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]