https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82143
--- Comment #5 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > -fdefault-real-8 promotes some things that are REAL(4) > to REAL(8), and if available it promotes some things from REAL(8) to > REAL(16). Not exactly: -fdefault-real-8 promotes some things that are REAL to REAL(8) and DOUBLE PRECISION to REAL(16). Variables with a KIND (say REAL(4) or REAL(8) are left unchanged. This is the difference with -freal-4-real-8 which converts all the REAL* to REAL(8). The interest of -fdefault-real-8 compared to -freal-4-real-8 is when you use libraries expecting REAL(4) arguments (my use a long time ago was with etime).