diff options
Diffstat (limited to 'docs/tools/clang.pod')
-rw-r--r-- | docs/tools/clang.pod | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/docs/tools/clang.pod b/docs/tools/clang.pod index a58986c3a6b94..f7d2eaf683cba 100644 --- a/docs/tools/clang.pod +++ b/docs/tools/clang.pod @@ -237,7 +237,7 @@ Specify the architecture to build for. =item B<-mmacosx-version-min>=I<version> -When building for Mac OS/X, specify the minimum version supported by your +When building for Mac OS X, specify the minimum version supported by your application. =item B<-miphoneos-version-min> @@ -310,8 +310,23 @@ Currently equivalent to B<-O3> =item B<-g> Generate debug information. Note that Clang debug information works best at -B<-O0>. At higher optimization levels, only line number information is -currently available. +B<-O0>. + +=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. This is the default on Darwin. Note that Clang +will never emit type information for types that are not referenced at +all by the program. =item B<-fexceptions> @@ -366,7 +381,7 @@ to the linker depending on the stage selection options). =item B<-###> -Print the commands to run for this compilation. +Print (but do not run) the commands to run for this compilation. =item B<--help> |