The option -fwhole-programs marks all functions in that file as local to that
file, which facilitates inlining and dead-code elimination.

That of cause assumes that all declarations are properly unified, which should
be the case with -fwhole-file. However, the following Polyhedron testcases fail
  ac, aermod, doduc, gas_dyn, linpk, mdbx, rnflow and test_fpu
at link time as too many functions have been elimated:

$ gfortran -fwhole-program -O1 linpk.f90
/tmp/ccWhxrXN.o: In function `MAIN__':
linpk.f90:(.text+0x759): undefined reference to `daxpy_'
linpk.f90:(.text+0x7c7): undefined reference to `daxpy_'


-- 
           Summary: -fwhole-file -fwhole-program: Wrong decls cause too much
                    to be optimized away
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: burnus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40873

Reply via email to