diff options
author | dim <dim@FreeBSD.org> | 2010-09-27 19:03:18 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2010-09-27 19:03:18 +0000 |
commit | 3d9c031cfc23f4e72fda525c5941b62635e7abde (patch) | |
tree | b0bc192fd6aeca1ae1955d91b6b55f0132a47afc /usr.bin/clang | |
parent | 400a76c2ba6b2165278b9c942a6c7a48a78f124f (diff) | |
download | FreeBSD-src-3d9c031cfc23f4e72fda525c5941b62635e7abde.zip FreeBSD-src-3d9c031cfc23f4e72fda525c5941b62635e7abde.tar.gz |
Add manpages for clang and tblgen. These were generated from upstream's
tools/clang/docs/tools/clang.pod and docs/CommandGuide/tblgen.pod,
respectively.
Approved-by: rpaulo (mentor)
Diffstat (limited to 'usr.bin/clang')
-rw-r--r-- | usr.bin/clang/clang/Makefile | 1 | ||||
-rw-r--r-- | usr.bin/clang/clang/clang.1 | 500 | ||||
-rw-r--r-- | usr.bin/clang/tblgen/Makefile | 1 | ||||
-rw-r--r-- | usr.bin/clang/tblgen/tblgen.1 | 215 |
4 files changed, 715 insertions, 2 deletions
diff --git a/usr.bin/clang/clang/Makefile b/usr.bin/clang/clang/Makefile index 8397bcf..8af2f13 100644 --- a/usr.bin/clang/clang/Makefile +++ b/usr.bin/clang/clang/Makefile @@ -8,7 +8,6 @@ SRCDIR= tools/clang/tools/driver SRCS= cc1_main.cpp \ cc1as_main.cpp \ driver.cpp -MAN= LINKS= ${BINDIR}/clang ${BINDIR}/clang++ diff --git a/usr.bin/clang/clang/clang.1 b/usr.bin/clang/clang/clang.1 new file mode 100644 index 0000000..99ea82e --- /dev/null +++ b/usr.bin/clang/clang/clang.1 @@ -0,0 +1,500 @@ +.\" $FreeBSD$ +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "CLANG 1" +.TH CLANG 1 "2010-09-27" "Clang 2.8" "Clang Tools Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +clang \- the Clang C, C++, and Objective\-C compiler +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBclang\fR [\fB\-c\fR|\fB\-S\fR|\fB\-E\fR] \fB\-std=\fR\fIstandard\fR \fB\-g\fR + [\fB\-O0\fR|\fB\-O1\fR|\fB\-O2\fR|\fB\-Os\fR|\fB\-O3\fR|\fB\-O4\fR] + \fB\-W\fR\fIwarnings...\fR \fB\-pedantic\fR + \fB\-I\fR\fIdir...\fR \fB\-L\fR\fIdir...\fR + \fB\-D\fR\fImacro[=defn]\fR + \fB\-f\fR\fIfeature-option...\fR + \fB\-m\fR\fImachine-option...\fR + \fB\-o\fR \fIoutput-file\fR + \fB\-stdlib=\fR\fIlibrary\fR + \fIinput-filenames\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBclang\fR 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 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: +.IP "\fBDriver\fR" 4 +.IX Item "Driver" +The \fBclang\fR executable is actually a small driver which controls the overall +execution of other tools such as the compiler, assembler and linker. Typically +you do not need to interact with the driver, but you transparently use it to run +the other tools. +.IP "\fBPreprocessing\fR" 4 +.IX Item "Preprocessing" +This stage handles tokenization of the input source file, macro expansion, +#include expansion and handling of other preprocessor directives. The output of +this stage is typically called a \*(L".i\*(R" (for C), \*(L".ii\*(R" (for \*(C+), \*(L".mi\*(R" (for +Objective-C) , or \*(L".mii\*(R" (for Objective\-\*(C+) file. +.IP "\fBParsing and Semantic Analysis\fR" 4 +.IX Item "Parsing and Semantic Analysis" +This stage parses the input file, translating preprocessor tokens into a parse +tree. Once in the form of a parser tree, it applies semantic analysis to compute +types for expressions as well and determine whether the code is well formed. This +stage is responsible for generating most of the compiler warnings as well as +parse errors. The output of this stage is an \*(L"Abstract Syntax Tree\*(R" (\s-1AST\s0). +.IP "\fBCode Generation and Optimization\fR" 4 +.IX Item "Code Generation and Optimization" +This stage translates an \s-1AST\s0 into low-level intermediate code (known as \*(L"\s-1LLVM\s0 +\&\s-1IR\s0\*(R") and ultimately to machine code. This phase is responsible for optimizing +the generated code and handling target-specfic code generation. The output of +this stage is typically called a \*(L".s\*(R" file or \*(L"assembly\*(R" file. +.Sp +Clang also supports the use of an integrated assembler, in which the code +generator produces object files directly. This avoids the overhead of generating +the \*(L".s\*(R" file and of calling the target assembler. +.IP "\fBAssembler\fR" 4 +.IX Item "Assembler" +This stage runs the target assembler to translate the output of the compiler +into a target object file. The output of this stage is typically called a \*(L".o\*(R" +file or \*(L"object\*(R" file. +.IP "\fBLinker\fR" 4 +.IX Item "Linker" +This stage runs the target linker to merge multiple object files into an +executable or dynamic library. The output of this stage is typically called an +\&\*(L"a.out\*(R", \*(L".dylib\*(R" or \*(L".so\*(R" file. +.PP +The Clang compiler supports a large number of options to control each of these +stages. In addition to compilation of code, Clang also supports other tools: +.PP +\&\fBClang Static Analyzer\fR +.PP +The Clang Static Analyzer is a tool that scans source code to try to find bugs +though code analysis. This tool uses many parts of Clang and is built into the +same driver. +.SH "OPTIONS" +.IX Header "OPTIONS" +.SS "Stage Selection Options" +.IX Subsection "Stage Selection Options" +.IP "\fB\-E\fR" 4 +.IX Item "-E" +Run the preprocessor stage. +.IP "\fB\-fsyntax\-only\fR" 4 +.IX Item "-fsyntax-only" +Run the preprocessor, parser and type checking stages. +.IP "\fB\-S\fR" 4 +.IX Item "-S" +Run the previous stages as well as \s-1LLVM\s0 generation and optimization stages and +target-specific code generation, producing an assembly file. +.IP "\fB\-c\fR" 4 +.IX Item "-c" +Run all of the above, plus the assembler, generating a target \*(L".o\*(R" object file. +.IP "\fBno stage selection option\fR" 4 +.IX Item "no stage selection option" +If no stage selection option is specified, all stages above are run, and the +linker is run to combine the results into an executable or shared library. +.IP "\fB\-\-analyze\fR" 4 +.IX Item "--analyze" +Run the Clang Static Analyzer. +.SS "Language Selection and Mode Options" +.IX Subsection "Language Selection and Mode Options" +.IP "\fB\-x\fR \fIlanguage\fR" 4 +.IX Item "-x language" +Treat subsequent input files as having type \fIlanguage\fR. +.IP "\fB\-std\fR=\fIlanguage\fR" 4 +.IX Item "-std=language" +Specify the language standard to compile for. +.IP "\fB\-stdlib\fR=\fIlanguage\fR" 4 +.IX Item "-stdlib=language" +Specify the \*(C+ standard library to use; supported options are libstdc++ and +libc++. +.IP "\fB\-ansi\fR" 4 +.IX Item "-ansi" +Same as \fB\-std=c89\fR. +.IP "\fB\-ObjC++\fR" 4 +.IX Item "-ObjC++" +Treat source input files as Objective\-\*(C+ inputs. +.IP "\fB\-ObjC\fR" 4 +.IX Item "-ObjC" +Treat source input files as Objective-C inputs. +.IP "\fB\-trigraphs\fR" 4 +.IX Item "-trigraphs" +Enable trigraphs. +.IP "\fB\-ffreestanding\fR" 4 +.IX Item "-ffreestanding" +Indicate that the file should be compiled for a freestanding, not a hosted, +environment. +.IP "\fB\-fno\-builtin\fR" 4 +.IX Item "-fno-builtin" +Disable special handling and optimizations of builtin functions like strlen and +malloc. +.IP "\fB\-fmath\-errno\fR" 4 +.IX Item "-fmath-errno" +Indicate that math functions should be treated as updating errno. +.IP "\fB\-fpascal\-strings\fR" 4 +.IX Item "-fpascal-strings" +Enable support for Pascal-style strings with \*(L"\epfoo\*(R". +.IP "\fB\-fms\-extensions\fR" 4 +.IX Item "-fms-extensions" +Enable support for Microsoft extensions. +.IP "\fB\-fborland\-extensions\fR" 4 +.IX Item "-fborland-extensions" +Enable support for Borland extensions. +.IP "\fB\-fwritable\-strings\fR" 4 +.IX Item "-fwritable-strings" +Make all string literals default to writable. This disables uniquing of +strings and other optimizations. +.IP "\fB\-flax\-vector\-conversions\fR" 4 +.IX Item "-flax-vector-conversions" +Allow loose type checking rules for implicit vector conversions. +.IP "\fB\-fblocks\fR" 4 +.IX Item "-fblocks" +Enable the \*(L"Blocks\*(R" language feature. +.IP "\fB\-fobjc\-gc\-only\fR" 4 +.IX Item "-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. +.IP "\fB\-fobjc\-gc\fR" 4 +.IX Item "-fobjc-gc" +Indicate that Objective-C code should be compiled in hybrid-GC mode, which works +with both \s-1GC\s0 and non-GC mode. +.IP "\fB\-fobjc\-abi\-version\fR=\fIversion\fR" 4 +.IX Item "-fobjc-abi-version=version" +Select the Objective-C \s-1ABI\s0 version to use. Available versions are 1 (legacy +\&\*(L"fragile\*(R" \s-1ABI\s0), 2 (non-fragile \s-1ABI\s0 1), and 3 (non-fragile \s-1ABI\s0 2). +.IP "\fB\-fobjc\-nonfragile\-abi\-version\fR=\fIversion\fR" 4 +.IX Item "-fobjc-nonfragile-abi-version=version" +Select the Objective-C non-fragile \s-1ABI\s0 version to use by default. This will only +be used as the Objective-C \s-1ABI\s0 when the non-fragile \s-1ABI\s0 is enabled (either via +\&\-fobjc\-nonfragile\-abi, or because it is the platform default). +.IP "\fB\-fobjc\-nonfragile\-abi\fR" 4 +.IX Item "-fobjc-nonfragile-abi" +Enable use of the Objective-C non-fragile \s-1ABI\s0. On platforms for which this is +the default \s-1ABI\s0, it can be disabled with \fB\-fno\-objc\-nonfragile\-abi\fR. +.SS "Target Selection Options" +.IX Subsection "Target Selection Options" +Clang fully supports cross compilation as an inherent part of its design. +Depending on how your version of Clang is configured, it may have support for +a number of cross compilers, or may only support a native target. +.IP "\fB\-arch\fR \fIarchitecture\fR" 4 +.IX Item "-arch architecture" +Specify the architecture to build for. +.IP "\fB\-mmacosx\-version\-min\fR=\fIversion\fR" 4 +.IX Item "-mmacosx-version-min=version" +When building for Mac \s-1OS/X\s0, specify the minimum version supported by your +application. +.IP "\fB\-miphoneos\-version\-min\fR" 4 +.IX Item "-miphoneos-version-min" +When building for iPhone \s-1OS\s0, specify the minimum version supported by your +application. +.IP "\fB\-march\fR=\fIcpu\fR" 4 +.IX Item "-march=cpu" +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. +.SS "Code Generation Options" +.IX Subsection "Code Generation Options" +.IP "\fB\-O0\fR \fB\-O1\fR \fB\-O2\fR \fB\-Os\fR \fB\-O3\fR \fB\-O4\fR" 4 +.IX Item "-O0 -O1 -O2 -Os -O3 -O4" +Specify which optimization level to use. \fB\-O0\fR means \*(L"no optimization\*(R": this +level compiles the fastest and generates the most debuggable code. \fB\-O2\fR is a +moderate level of optimization which enables most optimizations. \fB\-Os\fR is like +\&\fB\-O2\fR with extra optimizations to reduce code size. \fB\-O3\fR is like \fB\-O2\fR, +except that it enables optimizations that take longer to perform or that may +generate larger code (in an attempt to make the program run faster). On +supported platforms, \fB\-O4\fR enables link-time optimization; object files are +stored in the \s-1LLVM\s0 bitcode file format and whole program optimization is done at +link time. \fB\-O1\fR is somewhere between \fB\-O0\fR and \fB\-O2\fR. +.IP "\fB\-g\fR" 4 +.IX Item "-g" +Generate debug information. Note that Clang debug information works best at +\&\fB\-O0\fR. At higher optimization levels, only line number information is +currently available. +.IP "\fB\-fexceptions\fR" 4 +.IX Item "-fexceptions" +Enable generation of unwind information, this allows exceptions to be thrown +through Clang compiled stack frames. This is on by default in x86\-64. +.IP "\fB\-ftrapv\fR" 4 +.IX Item "-ftrapv" +Generate code to catch integer overflow errors. Signed integer overflow is +undefined in C, with this flag, extra code is generated to detect this and abort +when it happens. +.IP "\fB\-fvisibility\fR" 4 +.IX Item "-fvisibility" +This flag sets the default visibility level. +.IP "\fB\-fcommon\fR" 4 +.IX Item "-fcommon" +This flag specifies that variables without initializers get common linkage. It +can be disabled with \fB\-fno\-common\fR. +.IP "\fB\-flto\fR \fB\-emit\-llvm\fR" 4 +.IX Item "-flto -emit-llvm" +Generate output files in \s-1LLVM\s0 formats, suitable for link time optimization. When +used with \fB\-S\fR this generates \s-1LLVM\s0 intermediate language assembly files, +otherwise this generates \s-1LLVM\s0 bitcode format object files (which may be passed +to the linker depending on the stage selection options). +.SS "Driver Options" +.IX Subsection "Driver Options" +.IP "\fB\-###\fR" 4 +.IX Item "-###" +Print the commands to run for this compilation. +.IP "\fB\-\-help\fR" 4 +.IX Item "--help" +Display available options. +.IP "\fB\-Qunused\-arguments\fR" 4 +.IX Item "-Qunused-arguments" +Don't emit warning for unused driver arguments. +.IP "\fB\-Wa,\fR\fIargs\fR" 4 +.IX Item "-Wa,args" +Pass the comma separated arguments in \fIargs\fR to the assembler. +.IP "\fB\-Wl,\fR\fIargs\fR" 4 +.IX Item "-Wl,args" +Pass the comma separated arguments in \fIargs\fR to the linker. +.IP "\fB\-Wp,\fR\fIargs\fR" 4 +.IX Item "-Wp,args" +Pass the comma separated arguments in \fIargs\fR to the preprocessor. +.IP "\fB\-Xanalyzer\fR \fIarg\fR" 4 +.IX Item "-Xanalyzer arg" +Pass \fIarg\fR to the static analyzer. +.IP "\fB\-Xassembler\fR \fIarg\fR" 4 +.IX Item "-Xassembler arg" +Pass \fIarg\fR to the assembler. +.IP "\fB\-Xclang\fR \fIarg\fR" 4 +.IX Item "-Xclang arg" +Pass \fIarg\fR to the clang compiler frontend. +.IP "\fB\-Xlinker\fR \fIarg\fR" 4 +.IX Item "-Xlinker arg" +Pass \fIarg\fR to the linker. +.IP "\fB\-mllvm\fR \fIarg\fR" 4 +.IX Item "-mllvm arg" +Pass \fIarg\fR to the \s-1LLVM\s0 backend. +.IP "\fB\-Xpreprocessor\fR \fIarg\fR" 4 +.IX Item "-Xpreprocessor arg" +Pass \fIarg\fR to the preprocessor. +.IP "\fB\-o\fR \fIfile\fR" 4 +.IX Item "-o file" +Write output to \fIfile\fR. +.IP "\fB\-print\-file\-name\fR=\fIfile\fR" 4 +.IX Item "-print-file-name=file" +Print the full library path of \fIfile\fR. +.IP "\fB\-print\-libgcc\-file\-name\fR" 4 +.IX Item "-print-libgcc-file-name" +Print the library path for \*(L"libgcc.a\*(R". +.IP "\fB\-print\-prog\-name\fR=\fIname\fR" 4 +.IX Item "-print-prog-name=name" +Print the full program path of \fIname\fR. +.IP "\fB\-print\-search\-dirs\fR" 4 +.IX Item "-print-search-dirs" +Print the paths used for finding libraries and programs. +.IP "\fB\-save\-temps\fR" 4 +.IX Item "-save-temps" +Save intermediate compilation results. +.IP "\fB\-integrated\-as\fR \fB\-no\-integrated\-as\fR" 4 +.IX Item "-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 +dependent. +.IP "\fB\-time\fR" 4 +.IX Item "-time" +Time individual commands. +.IP "\fB\-ftime\-report\fR" 4 +.IX Item "-ftime-report" +Print timing summary of each stage of compilation. +.IP "\fB\-v\fR" 4 +.IX Item "-v" +Show commands to run and use verbose output. +.SS "Diagnostics Options" +.IX Subsection "Diagnostics Options" +.IP "\fB\-fshow\-column\fR \fB\-fshow\-source\-location\fR \fB\-fcaret\-diagnostics\fR \fB\-fdiagnostics\-fixit\-info\fR \fB\-fdiagnostics\-parseable\-fixits\fR \fB\-fdiagnostics\-print\-source\-range\-info\fR \fB\-fprint\-source\-range\-info\fR \fB\-fdiagnostics\-show\-option\fR \fB\-fmessage\-length\fR" 4 +.IX Item "-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 (errors +and warnings). Please see the Clang User's Manual for more information. +.SS "Preprocessor Options" +.IX Subsection "Preprocessor Options" +.IP "\fB\-D\fR\fImacroname=value\fR" 4 +.IX Item "-Dmacroname=value" +Adds an implicit #define into the predefines buffer which is read before the +source file is preprocessed. +.IP "\fB\-U\fR\fImacroname\fR" 4 +.IX Item "-Umacroname" +Adds an implicit #undef into the predefines buffer which is read before the +source file is preprocessed. +.IP "\fB\-include\fR \fIfilename\fR" 4 +.IX Item "-include filename" +Adds an implicit #include into the predefines buffer which is read before the +source file is preprocessed. +.IP "\fB\-I\fR\fIdirectory\fR" 4 +.IX Item "-Idirectory" +Add the specified directory to the search path for include files. +.IP "\fB\-F\fR\fIdirectory\fR" 4 +.IX Item "-Fdirectory" +Add the specified directory to the search path for framework include files. +.IP "\fB\-nostdinc\fR" 4 +.IX Item "-nostdinc" +Do not search the standard system directories for include files. +.IP "\fB\-nobuiltininc\fR" 4 +.IX Item "-nobuiltininc" +Do not search clang's builtin directory for include files. +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +.IP "\fB\s-1TMPDIR\s0\fR, \fB\s-1TEMP\s0\fR, \fB\s-1TMP\s0\fR" 4 +.IX Item "TMPDIR, TEMP, TMP" +These environment variables are checked, in order, for the location to +write temporary files used during the compilation process. +.IP "\fB\s-1CPATH\s0\fR" 4 +.IX Item "CPATH" +If this environment variable is present, it is treated as a delimited +list of paths to be added to the default system include path list. The +delimiter is the platform dependent delimitor, as used in the \fI\s-1PATH\s0\fR +environment variable. +.Sp +Empty components in the environment variable are ignored. +.IP "\fBC_INCLUDE_PATH\fR, \fB\s-1OBJC_INCLUDE_PATH\s0\fR, \fB\s-1CPLUS_INCLUDE_PATH\s0\fR, \fB\s-1OBJCPLUS_INCLUDE_PATH\s0\fR" 4 +.IX Item "C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH" +These environment variables specify additional paths, as for \s-1CPATH\s0, +which are only used when processing the appropriate language. +.IP "\fB\s-1MACOSX_DEPLOYMENT_TARGET\s0\fR" 4 +.IX Item "MACOSX_DEPLOYMENT_TARGET" +If \-mmacosx\-version\-min is unspecified, the default deployment target +is read from this environment variable. This option only affects darwin +targets. +.SH "BUGS" +.IX Header "BUGS" +To report bugs, please visit <http://llvm.org/bugs/>. Most bug reports should +include preprocessed source files (use the \fB\-E\fR option) and the full output of +the compiler, along with information to reproduce. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +.Vb 1 +\& as(1), ld(1) +.Ve +.SH "AUTHOR" +.IX Header "AUTHOR" +Maintained by the Clang / \s-1LLVM\s0 Team (<http://clang.llvm.org>). diff --git a/usr.bin/clang/tblgen/Makefile b/usr.bin/clang/tblgen/Makefile index 83741d0..18fce4e 100644 --- a/usr.bin/clang/tblgen/Makefile +++ b/usr.bin/clang/tblgen/Makefile @@ -39,7 +39,6 @@ SRCS= ARMDecoderEmitter.cpp \ TableGenBackend.cpp \ X86DisassemblerTables.cpp \ X86RecognizableInstr.cpp -MAN= LLVM_REQUIRES_EH= LIBDEPS=llvmsupport llvmsystem diff --git a/usr.bin/clang/tblgen/tblgen.1 b/usr.bin/clang/tblgen/tblgen.1 new file mode 100644 index 0000000..6ac2072 --- /dev/null +++ b/usr.bin/clang/tblgen/tblgen.1 @@ -0,0 +1,215 @@ +.\" $FreeBSD$ +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "TBLGEN 1" +.TH TBLGEN 1 "2010-06-19" "LLVM 2.8" "LLVM Command Guide" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +tblgen \- Target Description To C++ Code Generator +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBtblgen\fR [\fIoptions\fR] [\fIfilename\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBtblgen\fR translates from target description (.td) files into \*(C+ code that can +be included in the definition of an \s-1LLVM\s0 target library. Most users of \s-1LLVM\s0 will +not need to use this program. It is only for assisting with writing an \s-1LLVM\s0 +target backend. +.PP +The input and output of \fBtblgen\fR is beyond the scope of this short +introduction. Please see the \fICodeGeneration\fR page in the \s-1LLVM\s0 documentation. +.PP +The \fIfilename\fR argument specifies the name of a Target Description (.td) file +to read as input. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print a summary of command line options. +.IP "\fB\-o\fR \fIfilename\fR" 4 +.IX Item "-o filename" +Specify the output file name. If \fIfilename\fR is \f(CW\*(C`\-\*(C'\fR, then \fBtblgen\fR +sends its output to standard output. +.IP "\fB\-I\fR \fIdirectory\fR" 4 +.IX Item "-I directory" +Specify where to find other target description files for inclusion. The +\&\fIdirectory\fR value should be a full or partial path to a directory that contains +target description files. +.IP "\fB\-asmwriternum\fR \fIN\fR" 4 +.IX Item "-asmwriternum N" +Make \-gen\-asm\-writer emit assembly writer number \fIN\fR. +.IP "\fB\-class\fR \fIclass Name\fR" 4 +.IX Item "-class class Name" +Print the enumeration list for this class. +.IP "\fB\-print\-records\fR" 4 +.IX Item "-print-records" +Print all records to standard output (default). +.IP "\fB\-print\-enums\fR" 4 +.IX Item "-print-enums" +Print enumeration values for a class +.IP "\fB\-gen\-emitter\fR" 4 +.IX Item "-gen-emitter" +Generate machine code emitter. +.IP "\fB\-gen\-register\-enums\fR" 4 +.IX Item "-gen-register-enums" +Generate the enumeration values for all registers. +.IP "\fB\-gen\-register\-desc\fR" 4 +.IX Item "-gen-register-desc" +Generate a register info description for each register. +.IP "\fB\-gen\-register\-desc\-header\fR" 4 +.IX Item "-gen-register-desc-header" +Generate a register info description header for each register. +.IP "\fB\-gen\-instr\-enums\fR" 4 +.IX Item "-gen-instr-enums" +Generate enumeration values for instructions. +.IP "\fB\-gen\-instr\-desc\fR" 4 +.IX Item "-gen-instr-desc" +Generate instruction descriptions. +.IP "\fB\-gen\-asm\-writer\fR" 4 +.IX Item "-gen-asm-writer" +Generate the assembly writer. +.IP "\fB\-gen\-dag\-isel\fR" 4 +.IX Item "-gen-dag-isel" +Generate a \s-1DAG\s0 (Directed Acycle Graph) instruction selector. +.IP "\fB\-gen\-subtarget\fR" 4 +.IX Item "-gen-subtarget" +Generate subtarget enumerations. +.IP "\fB\-gen\-intrinsic\fR" 4 +.IX Item "-gen-intrinsic" +Generate intrinsic information. +.IP "\fB\-version\fR" 4 +.IX Item "-version" +Show the version number of this program. +.SH "EXIT STATUS" +.IX Header "EXIT STATUS" +If \fBtblgen\fR succeeds, it will exit with 0. Otherwise, if an error +occurs, it will exit with a non-zero value. +.SH "AUTHORS" +.IX Header "AUTHORS" +Maintained by The \s-1LLVM\s0 Team (<http://llvm.org>). |