http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54463
--- Comment #6 from Steve Kargl <sgk at troutmask dot apl.washington.edu> 2012-09-05 14:56:36 UTC --- On Wed, Sep 05, 2012 at 10:21:53AM +0000, burnus at gcc dot gnu.org wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54463 > > --- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-09-05 > 10:21:53 UTC --- > > [Comment to my patch:] > (In reply to comment #3) > > What about -freal-4-real-10 -freal-4-real-16 -freal-4-real-8 > > -freal-8-real-10 -freal-8-real-16 and -freal-8-real-4? > > Ugh, those flags are ugly! (Actually, I think you approved that > patch, which I regard as worse than -fdefault-real-8.) Yes, I did approve the patch. Oddly, I regard the -freal-4-real-8 option as a better version of -fdefault-real-8 because it is a complete promotion of real(4) to real(8). With -fdefault-real-8, there are a few "gotcha"s; one in particular gotcha is doing IO because of an alignment issue with a structure used within libgfortran. (Now, that I think about it, I do not recall testing whether the -freal-*-real-* have a similar IO issue.) > The -freal-*-real-* flags completely messes up everything. All of these options (ie, the -fdefault*, -freal-*, and -finteger-*) mess up everything. The correct solution is to fix the Fortran code so that these options are not needed. One way to encourage the user to fix the code is too unconditionally issue a warning that discourages the use of these options. By "unconditionally" I mean that the warning cannot be suppressed (without redirecting stderr to /dev/null). > Of course, I assume that one doesn't mess around with -fdefault-real-8 or > -freal-4-real-10 when compiling BLAS. If one does this, one gets what one > deserves. We've both been around long enough that the inventiveness of the gfortran user base should no longer cause surprise. :-) I personally prefer Dominique's suggestion that we add a a warning in the manual that -fexternal-blas and the -fdefault-* and -freal-* option have a conflict. That being said, you've provided a patch and I won't oppose you committing it.