Index: clang/docs/CommandGuide/clang.rst =================================================================== --- clang/docs/CommandGuide/clang.rst +++ clang/docs/CommandGuide/clang.rst @@ -11,7 +11,7 @@ :program:`clang` is a C, C++, and Objective-C compiler which encompasses preprocessing, parsing, optimization, code generation, assembly, and linking. -Depending on which high-level mode setting is passed, Clang will stop before +Depending on which high-level mode setting is passed, clang will stop before doing a full link. While Clang is highly integrated, it is important to understand the stages of compilation, to understand how to invoke it. These stages are: @@ -347,7 +347,7 @@ .. option:: -march= - Specify that Clang should generate code for a specific processor family + Specify that clang should generate code for a specific processor family member and later. For example, if you specify -march=i486, the compiler is allowed to generate instructions that are valid on i486 and later processors, but which may not exist on earlier ones. @@ -393,7 +393,7 @@ .. option:: -g, -gline-tables-only, -gmodules - Control debug information output. Note that Clang debug information works + Control debug information output. Note that clang debug information works best at :option:`-O0`. When more than one option starting with `-g` is specified, the last one wins: @@ -422,20 +422,20 @@ 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 + 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 + Further, clang will only emit type info for a dynamic C++ class in the module that contains the vtable for the class. The :option:`-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 + 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. .. option:: -feliminate-unused-debug-types - By default, Clang does not emit type information for types that are defined + By default, clang does not emit type information for types that are defined but not used in a program. To retain the debug info for these unused types, the negation **-fno-eliminate-unused-debug-types** can be used. @@ -588,7 +588,7 @@ .. option:: -fshow-column, -fshow-source-location, -fcaret-diagnostics, -fdiagnostics-fixit-info, -fdiagnostics-parseable-fixits, -fdiagnostics-print-source-range-info, -fprint-source-range-info, -fdiagnostics-show-option, -fmessage-length - These options control how Clang prints out information about diagnostics + These options control how clang prints out information about diagnostics (errors and warnings). Please see the Clang User's Manual for more information. Preprocessor Options