summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2017-02-25 18:04:13 +0000
committerjsg <jsg@openbsd.org>2017-02-25 18:04:13 +0000
commit88b92007ea3dd4c11cf11498af6ef58c7b075487 (patch)
tree18514e2734c025b0129b2e8ad8941bde51140aaf
parentProvide libc++abi as shared library as well. Discussed and requested (diff)
downloadwireguard-openbsd-88b92007ea3dd4c11cf11498af6ef58c7b075487.tar.xz
wireguard-openbsd-88b92007ea3dd4c11cf11498af6ef58c7b075487.zip
sync clang.1 with clang.rst
Generated with gmake and py-sphinx installed via cd /usr/src/gnu/llvm/tools/clang/docs && gmake -f Makefile.sphinx man ok patrick@
-rw-r--r--gnu/usr.bin/clang/clang/clang.191
1 files changed, 57 insertions, 34 deletions
diff --git a/gnu/usr.bin/clang/clang/clang.1 b/gnu/usr.bin/clang/clang/clang.1
index 91249d6acb7..3b9d6ee87f0 100644
--- a/gnu/usr.bin/clang/clang/clang.1
+++ b/gnu/usr.bin/clang/clang/clang.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "CLANG" "1" "August 31, 2016" "3.8" "Clang"
+.TH "CLANG" "1" "Feb 26, 2017" "4.0" "Clang"
.SH NAME
clang \- the Clang C, C++, and Objective-C compiler
.
@@ -134,7 +134,13 @@ Specify the language standard to compile for.
.TP
.B \-stdlib=<library>
Specify the C++ standard library to use; supported options are libstdc++ and
-libc++.
+libc++. If not specified, platform default will be used.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-rtlib=<library>
+Specify the compiler runtime library to use; supported options are libgcc and
+compiler\-rt. If not specified, platform default will be used.
.UNINDENT
.INDENT 0.0
.TP
@@ -206,18 +212,6 @@ Enable the "Blocks" language feature.
.UNINDENT
.INDENT 0.0
.TP
-.B \-fobjc\-gc\-only
-Indicate that Objective\-C code should be compiled in GC\-only mode, which only
-works when Objective\-C Garbage Collection is enabled.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-fobjc\-gc
-Indicate that Objective\-C code should be compiled in hybrid\-GC mode, which
-works with both GC and non\-GC mode.
-.UNINDENT
-.INDENT 0.0
-.TP
.B \-fobjc\-abi\-version=version
Select the Objective\-C ABI version to use. Available versions are 1 (legacy
"fragile" ABI), 2 (non\-fragile ABI 1), and 3 (non\-fragile ABI 2).
@@ -232,9 +226,9 @@ default).
.UNINDENT
.INDENT 0.0
.TP
-.B \-fobjc\-nonfragile\-abi
+.B \-fobjc\-nonfragile\-abi, \-fno\-objc\-nonfragile\-abi
Enable use of the Objective\-C non\-fragile ABI. On platforms for which this is
-the default ABI, it can be disabled with \fB\-fno\-objc\-nonfragile\-abi\fP\&.
+the default ABI, it can be disabled with \fI\%\-fno\-objc\-nonfragile\-abi\fP\&.
.UNINDENT
.SS Target Selection Options
.sp
@@ -269,7 +263,7 @@ but which may not exist on earlier ones.
.SS Code Generation Options
.INDENT 0.0
.TP
-.B \-O0, \-O1, \-O2, \-O3, \-Ofast, \-Os, \-Oz, \-O, \-O4
+.B \-O0, \-O1, \-O2, \-O3, \-Ofast, \-Os, \-Oz, \-Og, \-O, \-O4
Specify which optimization level to use:
.INDENT 7.0
.INDENT 3.5
@@ -295,6 +289,9 @@ size.
\fI\%\-Oz\fP Like \fI\%\-Os\fP (and thus \fI\%\-O2\fP), but reduces code
size further.
.sp
+\fI\%\-Og\fP Like \fI\%\-O1\fP\&. In future versions, this option might
+disable different optimizations in order to improve debuggability.
+.sp
\fI\%\-O\fP Equivalent to \fI\%\-O2\fP\&.
.sp
\fI\%\-O4\fP and higher
@@ -308,21 +305,33 @@ Currently equivalent to \fI\%\-O3\fP
.UNINDENT
.INDENT 0.0
.TP
-.B \-g
-Generate debug information. Note that Clang debug information works best at \-O0.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-gmodules
-Generate debug information that contains external references to
-types defined in clang modules or precompiled headers instead of
-emitting redundant debug type information into every object file.
-This option implies \fB\-fmodule\-format=obj\fP\&.
+.B \-g, \-gline\-tables\-only, \-gmodules
+Control debug information output. Note that Clang debug information works
+best at \fI\%\-O0\fP\&. When more than one option starting with \fI\-g\fP is
+specified, the last one wins:
+.INDENT 7.0
+.INDENT 3.5
+\fB\-g\fP Generate debug information.
+.sp
+\fB\-gline\-tables\-only\fP Generate only line table debug information. This
+allows for symbolicated backtraces with inlining information, but does not
+include any information about variables, their locations or types.
+.sp
+\fI\%\-gmodules\fP Generate debug information that contains external
+references to types defined in Clang modules or precompiled headers instead
+of emitting redundant debug type information into every object file. This
+option transparently switches the Clang module format to object file
+containers that hold the Clang module together with the debug information.
+When compiling a program that uses Clang modules or precompiled headers,
+this option produces complete debug information with faster compile
+times and much smaller object files.
.sp
This option should not be used when building static libraries for
distribution to other machines because the debug info will contain
-references to the module cache on the machine the object files in
-the library were built on.
+references to the module cache on the machine the object files in the
+library were built on.
+.UNINDENT
+.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
@@ -361,9 +370,9 @@ This flag sets the default visibility level.
.UNINDENT
.INDENT 0.0
.TP
-.B \-fcommon
+.B \-fcommon, \-fno\-common
This flag specifies that variables without initializers get common linkage.
-It can be disabled with \fB\-fno\-common\fP\&.
+It can be disabled with \fI\%\-fno\-common\fP\&.
.UNINDENT
.INDENT 0.0
.TP
@@ -376,11 +385,17 @@ to choose a more efficient model if possible.
.UNINDENT
.INDENT 0.0
.TP
-.B \-flto, \-emit\-llvm
+.B \-flto, \-flto=full, \-flto=thin, \-emit\-llvm
Generate output files in LLVM formats, suitable for link time optimization.
When used with \fI\%\-S\fP this generates LLVM intermediate language
assembly files, otherwise this generates LLVM bitcode format object files
(which may be passed to the linker depending on the stage selection options).
+.sp
+The default for \fI\%\-flto\fP is "full", in which the
+LLVM bitcode is suitable for monolithic Link Time Optimization (LTO), where
+the linker merges all such modules into a single combined module for
+optimization. With "thin", ThinLTO
+compilation is invoked instead.
.UNINDENT
.SS Driver Options
.INDENT 0.0
@@ -446,7 +461,8 @@ Print the full library path of file.
.INDENT 0.0
.TP
.B \-print\-libgcc\-file\-name
-Print the library path for "libgcc.a".
+Print the library path for the currently used compiler runtime library
+("libgcc.a" or "libclang_rt.builtins.*.a").
.UNINDENT
.INDENT 0.0
.TP
@@ -465,6 +481,13 @@ Save intermediate compilation results.
.UNINDENT
.INDENT 0.0
.TP
+.B \-save\-stats, \-save\-stats=cwd, \-save\-stats=obj
+Save internal code generation (LLVM) statistics to a file in the current
+directory (\fI\%\-save\-stats\fP/"\-save\-stats=cwd") or the directory
+of the output file ("\-save\-state=obj").
+.UNINDENT
+.INDENT 0.0
+.TP
.B \-integrated\-as, \-no\-integrated\-as
Used to enable and disable, respectively, the use of the integrated
assembler. Whether the integrated assembler is on by default is target
@@ -578,6 +601,6 @@ output of the compiler, along with information to reproduce.
.SH AUTHOR
Maintained by the Clang / LLVM Team (<http://clang.llvm.org>)
.SH COPYRIGHT
-2007-2016, The Clang Team
+2007-2017, The Clang Team
.\" Generated by docutils manpage writer.
.