Hi all, I have just committed as obvious a one-line patch to fix a regression which is triggered by -fwhole-file:
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179413 Should I backport to 4.6? And also to 4.5? Moreover, I noticed that http://gcc.gnu.org/onlinedocs/gcc-4.6.1/gfortran/Code-Gen-Options.html#Code-Gen-Options falsely claims that -fwhole-file is not used by default (which it is since 4.6, see http://gcc.gnu.org/gcc-4.6/changes.html). Attached is a small documentation patch to fix this. Ok to apply to trunk and 4.6? Cheers, Janus
Index: gcc/fortran/invoke.texi =================================================================== --- gcc/fortran/invoke.texi (revision 179412) +++ gcc/fortran/invoke.texi (working copy) @@ -1227,10 +1227,8 @@ @item -fwhole-file @opindex @code{fwhole-file} -By default, GNU Fortran parses, resolves and translates each procedure -in a file separately. Using this option modifies this such that the -whole file is parsed and placed in a single front-end tree. During -resolution, in addition to all the usual checks and fixups, references +By default, the whole file is parsed and placed in a single front-end tree. +During resolution, in addition to all the usual checks and fixups, references to external procedures that are in the same file effect resolution of that procedure, if not already done, and a check of the interfaces. The dependences are resolved by changing the order in which the file is @@ -1238,6 +1236,9 @@ is translated before the reference and the duplication of backend tree declarations eliminated. +This default behavior can be modified by @code{-fno-whole-file} to resolve and +translate each procedure in a file separately. + @item -fsecond-underscore @opindex @code{fsecond-underscore} @cindex underscore