From f7961441f509b11a8eadc4daf48fa47078963f23 Mon Sep 17 00:00:00 2001 From: rguenth Date: Thu, 7 Mar 2013 08:54:49 +0000 Subject: [PATCH] 2013-03-07 Richard Biener * doc/invoke.texi (fwhole-program): Discourage use in combination with -flto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196518 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/doc/invoke.texi | 14 +++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d9a8e4fffa3..af3dd814b2f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-03-07 Richard Biener + + * doc/invoke.texi (fwhole-program): Discourage use in combination + with -flto. + 2013-03-06 Jakub Jelinek * config/arm/t-arm (TM_H, OPTIONS_H_EXTRA): Add arm-cores.def. diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 11c34d8781b..d81c78d2ab5 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -8168,15 +8168,11 @@ Enabled by default with @option{-funroll-loops}. Assume that the current compilation unit represents the whole program being compiled. All public functions and variables with the exception of @code{main} and those merged by attribute @code{externally_visible} become static functions -and in effect are optimized more aggressively by interprocedural optimizers. If @command{gold} is used as the linker plugin, @code{externally_visible} attributes are automatically added to functions (not variable yet due to a current @command{gold} issue) that are accessed outside of LTO objects according to resolution file produced by @command{gold}. For other linkers that cannot generate resolution file, explicit @code{externally_visible} attributes are still necessary. -While this option is equivalent to proper use of the @code{static} keyword for -programs consisting of a single file, in combination with option -@option{-flto} this flag can be used to -compile many smaller scale programs since the functions and variables become -local for the whole combined compilation unit, not for the single source file -itself. - -This option implies @option{-fwhole-file} for Fortran programs. +and in effect are optimized more aggressively by interprocedural optimizers. + +In combination with @code{-flto} using this option should not be used. +Instead relying on a linker plugin should provide safer and more precise +information. @item -flto[=@var{n}] @opindex flto -- 2.11.4.GIT