https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64504
--- Comment #2 from Andrey Vihrov <andrey.vihrov at gmail dot com> ---
Thanks for a fast reply!
My use case for these two (amongst several others) options together is
competitive programming, in which a contestant is required a write a
one-source-file solution, test it locally and submit it to a grading server.
Debug Mode helps detect mistakes, and -fwhole-program helps find variables or
functions that I defined and intended to use, but forgot to. For example, for
this source:
int unused;
int main()
{
}
"g++ -Wall -fwhole-program x.cpp" gives
x.cpp:1:5: warning: 'unused' defined but not used [-Wunused-variable]
, and there is no warning without -fwhole-program. Of course, I can get the
same effect by making everything "static", but this depends on me remembering
to do it, so this option is better in this regard. -flto doesn't have the same
effect.
If -fwhole-program isn't supported in this case, then it's fair enough. But
then it would be great if the documentation on -fwhole-program was updated to
clarify when the option can be used and when not.