diff options
author | Adrian Prantl <aprantl@apple.com> | 2014-01-07 01:19:08 +0000 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2014-01-07 01:19:08 +0000 |
commit | c44757105021d1429f9430d5ff0da45b02b9f741 (patch) | |
tree | 08e3dcc79fab125389ef5bfc08e0acbbfdf09390 /docs/tools | |
parent | 24b6a6de3562f3808bb0806e8d8df2ffc7766c76 (diff) | |
download | clang-c44757105021d1429f9430d5ff0da45b02b9f741.tar.gz |
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198655 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/tools')
-rw-r--r-- | docs/tools/clang.pod | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/docs/tools/clang.pod b/docs/tools/clang.pod index c051005c90..1f3a3ec0ac 100644 --- a/docs/tools/clang.pod +++ b/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> |