diff options
Diffstat (limited to 'clang/docs/tools')
-rw-r--r-- | clang/docs/tools/clang.pod | 19 |
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> |