summaryrefslogtreecommitdiffstats
path: root/clang/docs/tools
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2014-01-07 01:19:08 +0000
committerAdrian Prantl <aprantl@apple.com>2014-01-07 01:19:08 +0000
commita763447124ba107870865b1c7ba8ad97f0cf78d8 (patch)
tree7265d3d7bb8bfc79362b21bdb1e9bd280fa98932 /clang/docs/tools
parent0b8e3b2cb41e105a39b9d9b21d6ece18942581cb (diff)
downloadbcm5719-llvm-a763447124ba107870865b1c7ba8ad97f0cf78d8.tar.gz
bcm5719-llvm-a763447124ba107870865b1c7ba8ad97f0cf78d8.zip
Implement a new -fstandalone-debug option. rdar://problem/15685848
It controls everything that -flimit-debug-info used to, plus the vtable type optimization. The old -fno-limit-debug-info option is now an alias to -fstandalone-debug and vice versa. Standalone is the default on Darwin until dtrace is updated to work with non-standalone debug info (rdar://problem/15758808). Note: I kept the LimitedDebugInfo name in CodeGenOptions::DebugInfoKind because NoStandaloneDebugInfo sounded even more confusing. llvm-svn: 198655
Diffstat (limited to 'clang/docs/tools')
-rw-r--r--clang/docs/tools/clang.pod19
1 files changed, 13 insertions, 6 deletions
diff --git a/clang/docs/tools/clang.pod b/clang/docs/tools/clang.pod
index c051005c904..1f3a3ec0ac6 100644
--- a/clang/docs/tools/clang.pod
+++ b/clang/docs/tools/clang.pod
@@ -312,12 +312,19 @@ Currently equivalent to B<-O3>
Generate debug information. Note that Clang debug information works best at
B<-O0>.
-=item B<-flimit-debug-info> B<-fno-limit-debug-info>
-
-By default Clang does not emit type definitions for types that are not
-needed by the module and could be replaced with a forward
-declaration. By specifying B<-fno-limit-debug-info> this optimization
-can be turned off. Note that Clang will never emit type information
+=item B<-fstandalone-debug> B<-fno-standalone-debug>
+
+Clang supports a number of optimizations to reduce the size of debug
+information in the binary. They work based on the assumption that the
+debug type information can be spread out over multiple compilation
+units. For instance, Clang will not emit type definitions for types
+that are not needed by a module and could be replaced with a forward
+declaration. Further, Clang will only emit type info for a dynamic
+C++ class in the module that contains the vtable for the class.
+
+The B<-fstandalone-debug> option turns off these optimizations. This
+is useful when working with 3rd-party libraries that don't come with
+debug information. Note that Clang will never emit type information
for types that are not referenced at all by the program.
=item B<-fexceptions>
OpenPOWER on IntegriCloud