aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2014-07-11 17:10:49 -0400
committerJason Merrill <jason@gcc.gnu.org>2014-07-11 17:10:49 -0400
commit54c61de798fe4654a15c830adc140e32b4c2da74 (patch)
treef52aadc6dc0b5fe0a1c448cc475f9bd578f3d7fe
parent0b83e6882437a80458a7435cf434fbdccb37fa60 (diff)
downloadgcc-54c61de798fe4654a15c830adc140e32b4c2da74.zip
gcc-54c61de798fe4654a15c830adc140e32b4c2da74.tar.gz
gcc-54c61de798fe4654a15c830adc140e32b4c2da74.tar.bz2
* doc/invoke.texi: Document -fno-use-all-virtuals.
From-SVN: r212468
-rw-r--r--gcc/doc/invoke.texi13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index a83f6c6..029ee85 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -189,7 +189,8 @@ in the following sections.
-fno-pretty-templates @gol
-frepo -fno-rtti -fstats -ftemplate-backtrace-limit=@var{n} @gol
-ftemplate-depth=@var{n} @gol
--fno-threadsafe-statics -fuse-cxa-atexit -fno-weak -nostdinc++ @gol
+-fno-threadsafe-statics -fno-use-all-virtuals -fuse-cxa-atexit @gol
+-fno-weak -nostdinc++ @gol
-fvisibility-inlines-hidden @gol
-fvtable-verify=@var{std|preinit|none} @gol
-fvtv-counts -fvtv-debug @gol
@@ -2318,6 +2319,16 @@ ABI for thread-safe initialization of local statics. You can use this
option to reduce code size slightly in code that doesn't need to be
thread-safe.
+@item -fno-use-all-virtuals
+@opindex fno-use-all-virtuals
+By default, G++ now treats all virtual functions declared in a
+translation unit as odr-used, so they will be instantiated or
+synthesized if possible even if they are not needed for the final
+output. This is done so that such functions can be inlined after
+devirtualization changes an indirect call into a direct call. If this
+instantiation and synthesis prevents your code from compiling
+successfully, you can disable it with this option.
+
@item -fuse-cxa-atexit
@opindex fuse-cxa-atexit
Register destructors for objects with static storage duration with the