From 237b58e244ec8bec92d7d74f2d572b8315060c63 Mon Sep 17 00:00:00 2001 From: msaitoh Date: Fri, 12 Oct 2012 18:41:59 +0000 Subject: [PATCH] Remove OLD manunal to install correct manual. --- external/gpl3/gcc/usr.bin/g++/g++.1 | 12621 -------------------------- external/gpl3/gcc/usr.bin/gcc/gcc.1 | 12621 -------------------------- 2 files changed, 25242 deletions(-) delete mode 100644 external/gpl3/gcc/usr.bin/g++/g++.1 delete mode 100644 external/gpl3/gcc/usr.bin/gcc/gcc.1 diff --git a/external/gpl3/gcc/usr.bin/g++/g++.1 b/external/gpl3/gcc/usr.bin/g++/g++.1 deleted file mode 100644 index 4e3b7ae1a3b7..000000000000 --- a/external/gpl3/gcc/usr.bin/g++/g++.1 +++ /dev/null @@ -1,12621 +0,0 @@ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" 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 "GCC 1" -.TH GCC 1 "2011-06-23" "gcc-4.1.3" "GNU" -.\" 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" -gcc \- GNU project C and C++ compiler -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -gcc [\fB\-c\fR|\fB\-S\fR|\fB\-E\fR] [\fB\-std=\fR\fIstandard\fR] - [\fB\-g\fR] [\fB\-pg\fR] [\fB\-O\fR\fIlevel\fR] - [\fB\-W\fR\fIwarn\fR...] [\fB\-pedantic\fR] - [\fB\-I\fR\fIdir\fR...] [\fB\-L\fR\fIdir\fR...] - [\fB\-D\fR\fImacro\fR[=\fIdefn\fR]...] [\fB\-U\fR\fImacro\fR] - [\fB\-f\fR\fIoption\fR...] [\fB\-m\fR\fImachine-option\fR...] - [\fB\-o\fR \fIoutfile\fR] \fIinfile\fR... -.PP -Only the most useful options are listed here; see below for the -remainder. \fBg++\fR accepts mostly the same options as \fBgcc\fR. -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -When you invoke \s-1GCC\s0, it normally does preprocessing, compilation, -assembly and linking. The \*(L"overall options\*(R" allow you to stop this -process at an intermediate stage. For example, the \fB\-c\fR option -says not to run the linker. Then the output consists of object files -output by the assembler. -.PP -Other options are passed on to one stage of processing. Some options -control the preprocessor and others the compiler itself. Yet other -options control the assembler and linker; most of these are not -documented here, since you rarely need to use any of them. -.PP -Most of the command line options that you can use with \s-1GCC\s0 are useful -for C programs; when an option is only useful with another language -(usually \*(C+), the explanation says so explicitly. If the description -for a particular option does not mention a source language, you can use -that option with all supported languages. -.PP -The \fBgcc\fR program accepts options and file names as operands. Many -options have multi-letter names; therefore multiple single-letter options -may \fInot\fR be grouped: \fB\-dr\fR is very different from \fB\-d\ \-r\fR. -.PP -You can mix options and other arguments. For the most part, the order -you use doesn't matter. Order does matter when you use several options -of the same kind; for example, if you specify \fB\-L\fR more than once, -the directories are searched in the order specified. -.PP -Many options have long names starting with \fB\-f\fR or with -\&\fB\-W\fR\-\-\-for example, -\&\fB\-fstrength\-reduce\fR, \fB\-Wformat\fR and so on. Most of -these have both positive and negative forms; the negative form of -\&\fB\-ffoo\fR would be \fB\-fno\-foo\fR. This manual documents -only one of these two forms, whichever one is not the default. -.SH "OPTIONS" -.IX Header "OPTIONS" -.SS "Option Summary" -.IX Subsection "Option Summary" -Here is a summary of all the options, grouped by type. Explanations are -in the following sections. -.IP "\fIOverall Options\fR" 4 -.IX Item "Overall Options" -\&\fB\-c \-S \-E \-o\fR \fIfile\fR \fB\-combine \-pipe \-pass\-exit\-codes -\&\-x\fR \fIlanguage\fR \fB\-v \-### \-\-help \-\-target\-help \-\-version\fR -.IP "\fIC Language Options\fR" 4 -.IX Item "C Language Options" -\&\fB\-ansi \-std=\fR\fIstandard\fR \fB\-fgnu89\-inline -\&\-aux\-info\fR \fIfilename\fR -\&\fB\-fno\-asm \-fno\-builtin \-fno\-builtin\-\fR\fIfunction\fR -\&\fB\-fhosted \-ffreestanding \-fms\-extensions -\&\-trigraphs \-no\-integrated\-cpp \-traditional \-traditional\-cpp -\&\-fallow\-single\-precision \-fcond\-mismatch -\&\-fsigned\-bitfields \-fsigned\-char -\&\-funsigned\-bitfields \-funsigned\-char\fR -.IP "\fI\*(C+ Language Options\fR" 4 -.IX Item " Language Options" -\&\fB\-fabi\-version=\fR\fIn\fR \fB\-fno\-access\-control \-fcheck\-new -\&\-fconserve\-space \-ffriend\-injection \-fno\-const\-strings -\&\-fno\-elide\-constructors -\&\-fno\-enforce\-eh\-specs -\&\-ffor\-scope \-fno\-for\-scope \-fno\-gnu\-keywords -\&\-fno\-implicit\-templates -\&\-fno\-implicit\-inline\-templates -\&\-fno\-implement\-inlines \-fms\-extensions -\&\-fno\-nonansi\-builtins \-fno\-operator\-names -\&\-fno\-optional\-diags \-fpermissive -\&\-frepo \-fno\-rtti \-fstats \-ftemplate\-depth\-\fR\fIn\fR -\&\fB\-fno\-threadsafe\-statics \-fuse\-cxa\-atexit \-fno\-weak \-nostdinc++ -\&\-fno\-default\-inline \-fvisibility\-inlines\-hidden -\&\-Wabi \-Wctor\-dtor\-privacy -\&\-Wnon\-virtual\-dtor \-Wreorder -\&\-Weffc++ \-Wno\-deprecated \-Wstrict\-null\-sentinel -\&\-Wno\-non\-template\-friend \-Wold\-style\-cast -\&\-Woverloaded\-virtual \-Wno\-pmf\-conversions -\&\-Wsign\-promo\fR -.IP "\fIObjective-C and Objective\-\*(C+ Language Options\fR" 4 -.IX Item "Objective-C and Objective- Language Options" -\&\fB\-fconstant\-string\-class=\fR\fIclass-name\fR -\&\fB\-fgnu\-runtime \-fnext\-runtime -\&\-fno\-nil\-receivers -\&\-fobjc\-call\-cxx\-cdtors -\&\-fobjc\-direct\-dispatch -\&\-fobjc\-exceptions -\&\-fobjc\-gc -\&\-freplace\-objc\-classes -\&\-fzero\-link -\&\-gen\-decls -\&\-Wassign\-intercept -\&\-Wno\-protocol \-Wselector -\&\-Wstrict\-selector\-match -\&\-Wundeclared\-selector\fR -.IP "\fILanguage Independent Options\fR" 4 -.IX Item "Language Independent Options" -\&\fB\-fmessage\-length=\fR\fIn\fR -\&\fB\-fdiagnostics\-show\-location=\fR[\fBonce\fR|\fBevery-line\fR] -\&\fB\-fdiagnostics\-show\-options\fR -.IP "\fIWarning Options\fR" 4 -.IX Item "Warning Options" -\&\fB\-fsyntax\-only \-pedantic \-pedantic\-errors -\&\-w \-Wextra \-Wall \-Waggregate\-return \-Wno\-attributes -\&\-Wc++\-compat \-Wcast\-align \-Wcast\-qual \-Wchar\-subscripts \-Wcomment -\&\-Wconversion \-Wno\-deprecated\-declarations -\&\-Wdisabled\-optimization \-Wno\-div\-by\-zero \-Wno\-endif\-labels -\&\-Werror \-Werror\-implicit\-function\-declaration -\&\-Wfatal\-errors \-Wfloat\-equal \-Wformat \-Wformat=2 -\&\-Wno\-format\-extra\-args \-Wformat\-nonliteral -\&\-Wformat\-security \-Wformat\-y2k -\&\-Wimplicit \-Wimplicit\-function\-declaration \-Wimplicit\-int -\&\-Wimport \-Wno\-import \-Winit\-self \-Winline -\&\-Wno\-int\-to\-pointer\-cast -\&\-Wno\-invalid\-offsetof \-Winvalid\-pch -\&\-Wlarger\-than\-\fR\fIlen\fR \fB\-Wunsafe\-loop\-optimizations \-Wlong\-long -\&\-Wmain \-Wmissing\-braces \-Wmissing\-field\-initializers -\&\-Wmissing\-format\-attribute \-Wmissing\-include\-dirs -\&\-Wmissing\-noreturn -\&\-Wno\-multichar \-Wnonnull \-Wpacked \-Wpadded -\&\-Wparentheses \-Wpointer\-arith \-Wno\-pointer\-to\-int\-cast -\&\-Wredundant\-decls -\&\-Wreturn\-type \-Wsequence\-point \-Wshadow -\&\-Wsign\-compare \-Wstack\-protector -\&\-Wstrict\-aliasing \-Wstrict\-aliasing=2 -\&\-Wswitch \-Wswitch\-default \-Wswitch\-enum -\&\-Wsystem\-headers \-Wtrigraphs \-Wundef \-Wuninitialized -\&\-Wunknown\-pragmas \-Wno\-pragmas \-Wunreachable\-code -\&\-Wunused \-Wunused\-function \-Wunused\-label \-Wunused\-parameter -\&\-Wunused\-value \-Wunused\-variable \-Wvariadic\-macros -\&\-Wvolatile\-register\-var \-Wwrite\-strings\fR -.IP "\fIC\-only Warning Options\fR" 4 -.IX Item "C-only Warning Options" -\&\fB\-Wbad\-function\-cast \-Wmissing\-declarations -\&\-Wmissing\-prototypes \-Wnested\-externs \-Wold\-style\-definition -\&\-Wstrict\-prototypes \-Wtraditional -\&\-Wdeclaration\-after\-statement \-Wpointer\-sign\fR -.IP "\fIDebugging Options\fR" 4 -.IX Item "Debugging Options" -\&\fB\-d\fR\fIletters\fR \fB\-dumpspecs \-dumpmachine \-dumpversion -\&\-fdump\-unnumbered \-fdump\-translation\-unit\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-class\-hierarchy\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-ipa\-all \-fdump\-ipa\-cgraph -\&\-fdump\-tree\-all -\&\-fdump\-tree\-original\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-optimized\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-inlined\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-cfg \-fdump\-tree\-vcg \-fdump\-tree\-alias -\&\-fdump\-tree\-ch -\&\-fdump\-tree\-ssa\fR[\fB\-\fR\fIn\fR] \fB\-fdump\-tree\-pre\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-ccp\fR[\fB\-\fR\fIn\fR] \fB\-fdump\-tree\-dce\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-gimple\fR[\fB\-raw\fR] \fB\-fdump\-tree\-mudflap\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-dom\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-dse\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-phiopt\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-forwprop\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-copyrename\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-nrv \-fdump\-tree\-vect -\&\-fdump\-tree\-sink -\&\-fdump\-tree\-sra\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-salias -\&\-fdump\-tree\-fre\fR[\fB\-\fR\fIn\fR] -\&\fB\-fdump\-tree\-vrp\fR[\fB\-\fR\fIn\fR] -\&\fB\-ftree\-vectorizer\-verbose=\fR\fIn\fR -\&\fB\-fdump\-tree\-storeccp\fR[\fB\-\fR\fIn\fR] -\&\fB\-feliminate\-dwarf2\-dups \-feliminate\-unused\-debug\-types -\&\-feliminate\-unused\-debug\-symbols \-fmem\-report \-fprofile\-arcs -\&\-frandom\-seed=\fR\fIstring\fR \fB\-fsched\-verbose=\fR\fIn\fR -\&\fB\-ftest\-coverage \-ftime\-report \-fvar\-tracking -\&\-g \-g\fR\fIlevel\fR \fB\-gcoff \-gdwarf\-2 -\&\-ggdb \-gstabs \-gstabs+ \-gvms \-gxcoff \-gxcoff+ -\&\-p \-pg \-print\-file\-name=\fR\fIlibrary\fR \fB\-print\-libgcc\-file\-name -\&\-print\-multi\-directory \-print\-multi\-lib -\&\-print\-prog\-name=\fR\fIprogram\fR \fB\-print\-search\-dirs \-Q -\&\-save\-temps \-time\fR -.IP "\fIOptimization Options\fR" 4 -.IX Item "Optimization Options" -\&\fB\-falign\-functions[=\fR\fIn\fR\fB] \-falign\-jumps[=\fR\fIn\fR\fB] -\&\-falign\-labels[=\fR\fIn\fR\fB] \-falign\-loops[=\fR\fIn\fR\fB] -\&\-fmudflap \-fmudflapth \-fmudflapir -\&\-fbranch\-probabilities \-fprofile\-values \-fvpt -\&\-fbranch\-target\-load\-optimize -\&\-fbranch\-target\-load\-optimize2 \-fbtr\-bb\-exclusive -\&\-fcaller\-saves \-fcprop\-registers \-fcse\-follow\-jumps -\&\-fcse\-skip\-blocks \-fcx\-limited\-range \-fdata\-sections -\&\-fdelayed\-branch \-fdelete\-null\-pointer\-checks \-fearly\-inlining -\&\-fexpensive\-optimizations \-ffast\-math \-ffloat\-store -\&\-fforce\-addr \-ffunction\-sections -\&\-fgcse \-fgcse\-lm \-fgcse\-sm \-fgcse\-las \-fgcse\-after\-reload -\&\-floop\-optimize \-fcrossjumping \-fif\-conversion \-fif\-conversion2 -\&\-finline\-functions \-finline\-functions\-called\-once -\&\-finline\-limit=\fR\fIn\fR \fB\-fkeep\-inline\-functions -\&\-fkeep\-static\-consts \-fmerge\-constants \-fmerge\-all\-constants -\&\-fmodulo\-sched \-fno\-branch\-count\-reg -\&\-fno\-default\-inline \-fno\-defer\-pop \-floop\-optimize2 \-fmove\-loop\-invariants -\&\-fno\-function\-cse \-fno\-guess\-branch\-probability -\&\-fno\-inline \-fno\-math\-errno \-fno\-peephole \-fno\-peephole2 -\&\-funsafe\-math\-optimizations \-funsafe\-loop\-optimizations \-ffinite\-math\-only -\&\-fno\-trapping\-math \-fno\-zero\-initialized\-in\-bss -\&\-fomit\-frame\-pointer \-foptimize\-register\-move -\&\-foptimize\-sibling\-calls \-fprefetch\-loop\-arrays -\&\-fprofile\-generate \-fprofile\-use -\&\-fregmove \-frename\-registers -\&\-freorder\-blocks \-freorder\-blocks\-and\-partition \-freorder\-functions -\&\-frerun\-cse\-after\-loop \-frerun\-loop\-opt -\&\-frounding\-math \-fschedule\-insns \-fschedule\-insns2 -\&\-fno\-sched\-interblock \-fno\-sched\-spec \-fsched\-spec\-load -\&\-fsched\-spec\-load\-dangerous -\&\-fsched\-stalled\-insns[=\fR\fIn\fR\fB] \-fsched\-stalled\-insns\-dep[=\fR\fIn\fR\fB] -\&\-fsched2\-use\-superblocks -\&\-fsched2\-use\-traces \-freschedule\-modulo\-scheduled\-loops -\&\-fsignaling\-nans \-fsingle\-precision\-constant -\&\-fstack\-protector \-fstack\-protector\-all -\&\-fstrength\-reduce \-fstrict\-aliasing \-ftracer \-fthread\-jumps -\&\-funroll\-all\-loops \-funroll\-loops \-fpeel\-loops -\&\-fsplit\-ivs\-in\-unroller \-funswitch\-loops -\&\-fvariable\-expansion\-in\-unroller -\&\-ftree\-pre \-ftree\-ccp \-ftree\-dce \-ftree\-loop\-optimize -\&\-ftree\-loop\-linear \-ftree\-loop\-im \-ftree\-loop\-ivcanon \-fivopts -\&\-ftree\-dominator\-opts \-ftree\-dse \-ftree\-copyrename \-ftree\-sink -\&\-ftree\-ch \-ftree\-sra \-ftree\-ter \-ftree\-lrs \-ftree\-fre \-ftree\-vectorize -\&\-ftree\-vect\-loop\-version \-ftree\-salias \-fweb -\&\-ftree\-copy\-prop \-ftree\-store\-ccp \-ftree\-store\-copy\-prop \-ftree\-vrp -\&\-funit\-at\-a\-time \-fwhole\-program -\&\-\-param\fR \fIname\fR\fB=\fR\fIvalue\fR -\&\fB\-O \-O0 \-O1 \-O2 \-O3 \-Os\fR -.IP "\fIPreprocessor Options\fR" 4 -.IX Item "Preprocessor Options" -\&\fB\-A\fR\fIquestion\fR\fB=\fR\fIanswer\fR -\&\fB\-A\-\fR\fIquestion\fR[\fB=\fR\fIanswer\fR] -\&\fB\-C \-dD \-dI \-dM \-dN -\&\-D\fR\fImacro\fR[\fB=\fR\fIdefn\fR] \fB\-E \-H -\&\-idirafter\fR \fIdir\fR -\&\fB\-include\fR \fIfile\fR \fB\-imacros\fR \fIfile\fR -\&\fB\-iprefix\fR \fIfile\fR \fB\-iwithprefix\fR \fIdir\fR -\&\fB\-iwithprefixbefore\fR \fIdir\fR \fB\-isystem\fR \fIdir\fR -\&\fB\-cxx\-isystem\fR \fIdir\fR -\&\fB\-isysroot\fR \fIdir\fR -\&\fB\-M \-MM \-MF \-MG \-MP \-MQ \-MT \-nostdinc -\&\-P \-fworking\-directory \-remap -\&\-trigraphs \-undef \-U\fR\fImacro\fR \fB\-Wp,\fR\fIoption\fR -\&\fB\-Xpreprocessor\fR \fIoption\fR -.IP "\fIAssembler Option\fR" 4 -.IX Item "Assembler Option" -\&\fB\-Wa,\fR\fIoption\fR \fB\-Xassembler\fR \fIoption\fR -.IP "\fILinker Options\fR" 4 -.IX Item "Linker Options" -\&\fIobject-file-name\fR \fB\-l\fR\fIlibrary\fR -\&\fB\-nostartfiles \-nodefaultlibs \-nostdlib \-pie \-rdynamic -\&\-s \-static \-static\-libgcc \-shared \-shared\-libgcc \-symbolic -\&\-Wl,\fR\fIoption\fR \fB\-Xlinker\fR \fIoption\fR -\&\fB\-u\fR \fIsymbol\fR -.IP "\fIDirectory Options\fR" 4 -.IX Item "Directory Options" -\&\fB\-B\fR\fIprefix\fR \fB\-I\fR\fIdir\fR \fB\-iquote\fR\fIdir\fR -\&\fB\-iremap\fR\fIsrc\fR\fB:\fR\fIdst\fR \fB\-L\fR\fIdir\fR -\&\fB\-specs=\fR\fIfile\fR \fB\-I\- \-\-sysroot=\fR\fIdir\fR -.IP "\fITarget Options\fR" 4 -.IX Item "Target Options" -\&\fB\-V\fR \fIversion\fR \fB\-b\fR \fImachine\fR -.IP "\fIMachine Dependent Options\fR" 4 -.IX Item "Machine Dependent Options" -\&\fI\s-1ARC\s0 Options\fR -\&\fB\-EB \-EL -\&\-mmangle\-cpu \-mcpu=\fR\fIcpu\fR \fB\-mtext=\fR\fItext-section\fR -\&\fB\-mdata=\fR\fIdata-section\fR \fB\-mrodata=\fR\fIreadonly-data-section\fR -.Sp -\&\fI\s-1ARM\s0 Options\fR -\&\fB\-mapcs\-frame \-mno\-apcs\-frame -\&\-mabi=\fR\fIname\fR -\&\fB\-mapcs\-stack\-check \-mno\-apcs\-stack\-check -\&\-mapcs\-float \-mno\-apcs\-float -\&\-mapcs\-reentrant \-mno\-apcs\-reentrant -\&\-msched\-prolog \-mno\-sched\-prolog -\&\-mlittle\-endian \-mbig\-endian \-mwords\-little\-endian -\&\-mfloat\-abi=\fR\fIname\fR \fB\-msoft\-float \-mhard\-float \-mfpe -\&\-mthumb\-interwork \-mno\-thumb\-interwork -\&\-mcpu=\fR\fIname\fR \fB\-march=\fR\fIname\fR \fB\-mfpu=\fR\fIname\fR -\&\fB\-mstructure\-size\-boundary=\fR\fIn\fR -\&\fB\-mabort\-on\-noreturn -\&\-mlong\-calls \-mno\-long\-calls -\&\-msingle\-pic\-base \-mno\-single\-pic\-base -\&\-mpic\-register=\fR\fIreg\fR -\&\fB\-mnop\-fun\-dllimport -\&\-mcirrus\-fix\-invalid\-insns \-mno\-cirrus\-fix\-invalid\-insns -\&\-mpoke\-function\-name -\&\-mthumb \-marm -\&\-mtpcs\-frame \-mtpcs\-leaf\-frame -\&\-mcaller\-super\-interworking \-mcallee\-super\-interworking -\&\-mtp=\fR\fIname\fR -.Sp -\&\fI\s-1AVR\s0 Options\fR -\&\fB\-mmcu=\fR\fImcu\fR \fB\-msize \-minit\-stack=\fR\fIn\fR \fB\-mno\-interrupts -\&\-mcall\-prologues \-mno\-tablejump \-mtiny\-stack \-mint8\fR -.Sp -\&\fIBlackfin Options\fR -\&\fB\-momit\-leaf\-frame\-pointer \-mno\-omit\-leaf\-frame\-pointer -\&\-mspecld\-anomaly \-mno\-specld\-anomaly \-mcsync\-anomaly \-mno\-csync\-anomaly -\&\-mlow\-64k \-mno\-low64k \-mid\-shared\-library -\&\-mno\-id\-shared\-library \-mshared\-library\-id=\fR\fIn\fR -\&\fB\-mlong\-calls \-mno\-long\-calls\fR -.Sp -\&\fI\s-1CRIS\s0 Options\fR -\&\fB\-mcpu=\fR\fIcpu\fR \fB\-march=\fR\fIcpu\fR \fB\-mtune=\fR\fIcpu\fR -\&\fB\-mmax\-stack\-frame=\fR\fIn\fR \fB\-melinux\-stacksize=\fR\fIn\fR -\&\fB\-metrax4 \-metrax100 \-mpdebug \-mcc\-init \-mno\-side\-effects -\&\-mstack\-align \-mdata\-align \-mconst\-align -\&\-m32\-bit \-m16\-bit \-m8\-bit \-mno\-prologue\-epilogue \-mno\-gotplt -\&\-melf \-maout \-melinux \-mlinux \-sim \-sim2 -\&\-mmul\-bug\-workaround \-mno\-mul\-bug\-workaround\fR -.Sp -\&\fI\s-1CRX\s0 Options\fR -\&\fB\-mmac \-mpush\-args\fR -.Sp -\&\fIDarwin Options\fR -\&\fB\-all_load \-allowable_client \-arch \-arch_errors_fatal -\&\-arch_only \-bind_at_load \-bundle \-bundle_loader -\&\-client_name \-compatibility_version \-current_version -\&\-dead_strip -\&\-dependency\-file \-dylib_file \-dylinker_install_name -\&\-dynamic \-dynamiclib \-exported_symbols_list -\&\-filelist \-flat_namespace \-force_cpusubtype_ALL -\&\-force_flat_namespace \-headerpad_max_install_names -\&\-image_base \-init \-install_name \-keep_private_externs -\&\-multi_module \-multiply_defined \-multiply_defined_unused -\&\-noall_load \-no_dead_strip_inits_and_terms -\&\-nofixprebinding \-nomultidefs \-noprebind \-noseglinkedit -\&\-pagezero_size \-prebind \-prebind_all_twolevel_modules -\&\-private_bundle \-read_only_relocs \-sectalign -\&\-sectobjectsymbols \-whyload \-seg1addr -\&\-sectcreate \-sectobjectsymbols \-sectorder -\&\-segaddr \-segs_read_only_addr \-segs_read_write_addr -\&\-seg_addr_table \-seg_addr_table_filename \-seglinkedit -\&\-segprot \-segs_read_only_addr \-segs_read_write_addr -\&\-single_module \-static \-sub_library \-sub_umbrella -\&\-twolevel_namespace \-umbrella \-undefined -\&\-unexported_symbols_list \-weak_reference_mismatches -\&\-whatsloaded \-F \-gused \-gfull \-mmacosx\-version\-min=\fR\fIversion\fR -\&\fB\-mone\-byte\-bool\fR -.Sp -\&\fI\s-1DEC\s0 Alpha Options\fR -\&\fB\-mno\-fp\-regs \-msoft\-float \-malpha\-as \-mgas -\&\-mieee \-mieee\-with\-inexact \-mieee\-conformant -\&\-mfp\-trap\-mode=\fR\fImode\fR \fB\-mfp\-rounding\-mode=\fR\fImode\fR -\&\fB\-mtrap\-precision=\fR\fImode\fR \fB\-mbuild\-constants -\&\-mcpu=\fR\fIcpu-type\fR \fB\-mtune=\fR\fIcpu-type\fR -\&\fB\-mbwx \-mmax \-mfix \-mcix -\&\-mfloat\-vax \-mfloat\-ieee -\&\-mexplicit\-relocs \-msmall\-data \-mlarge\-data -\&\-msmall\-text \-mlarge\-text -\&\-mmemory\-latency=\fR\fItime\fR -.Sp -\&\fI\s-1DEC\s0 Alpha/VMS Options\fR -\&\fB\-mvms\-return\-codes\fR -.Sp -\&\fI\s-1FRV\s0 Options\fR -\&\fB\-mgpr\-32 \-mgpr\-64 \-mfpr\-32 \-mfpr\-64 -\&\-mhard\-float \-msoft\-float -\&\-malloc\-cc \-mfixed\-cc \-mdword \-mno\-dword -\&\-mdouble \-mno\-double -\&\-mmedia \-mno\-media \-mmuladd \-mno\-muladd -\&\-mfdpic \-minline\-plt \-mgprel\-ro \-multilib\-library\-pic -\&\-mlinked\-fp \-mlong\-calls \-malign\-labels -\&\-mlibrary\-pic \-macc\-4 \-macc\-8 -\&\-mpack \-mno\-pack \-mno\-eflags \-mcond\-move \-mno\-cond\-move -\&\-moptimize\-membar \-mno\-optimize\-membar -\&\-mscc \-mno\-scc \-mcond\-exec \-mno\-cond\-exec -\&\-mvliw\-branch \-mno\-vliw\-branch -\&\-mmulti\-cond\-exec \-mno\-multi\-cond\-exec \-mnested\-cond\-exec -\&\-mno\-nested\-cond\-exec \-mtomcat\-stats -\&\-mTLS \-mtls -\&\-mcpu=\fR\fIcpu\fR -.Sp -\&\fIH8/300 Options\fR -\&\fB\-mrelax \-mh \-ms \-mn \-mint32 \-malign\-300\fR -.Sp -\&\fI\s-1HPPA\s0 Options\fR -\&\fB\-march=\fR\fIarchitecture-type\fR -\&\fB\-mbig\-switch \-mdisable\-fpregs \-mdisable\-indexing -\&\-mfast\-indirect\-calls \-mgas \-mgnu\-ld \-mhp\-ld -\&\-mfixed\-range=\fR\fIregister-range\fR -\&\fB\-mjump\-in\-delay \-mlinker\-opt \-mlong\-calls -\&\-mlong\-load\-store \-mno\-big\-switch \-mno\-disable\-fpregs -\&\-mno\-disable\-indexing \-mno\-fast\-indirect\-calls \-mno\-gas -\&\-mno\-jump\-in\-delay \-mno\-long\-load\-store -\&\-mno\-portable\-runtime \-mno\-soft\-float -\&\-mno\-space\-regs \-msoft\-float \-mpa\-risc\-1\-0 -\&\-mpa\-risc\-1\-1 \-mpa\-risc\-2\-0 \-mportable\-runtime -\&\-mschedule=\fR\fIcpu-type\fR \fB\-mspace\-regs \-msio \-mwsio -\&\-munix=\fR\fIunix-std\fR \fB\-nolibdld \-static \-threads\fR -.Sp -\&\fIi386 and x86\-64 Options\fR -\&\fB\-mtune=\fR\fIcpu-type\fR \fB\-march=\fR\fIcpu-type\fR -\&\fB\-mfpmath=\fR\fIunit\fR -\&\fB\-masm=\fR\fIdialect\fR \fB\-mno\-fancy\-math\-387 -\&\-mno\-fp\-ret\-in\-387 \-msoft\-float \-msvr3\-shlib -\&\-mno\-wide\-multiply \-mrtd \-malign\-double -\&\-mpreferred\-stack\-boundary=\fR\fInum\fR -\&\fB\-mmmx \-msse \-msse2 \-msse3 \-m3dnow -\&\-mthreads \-mno\-align\-stringops \-minline\-all\-stringops -\&\-mpush\-args \-maccumulate\-outgoing\-args \-m128bit\-long\-double -\&\-m96bit\-long\-double \-mregparm=\fR\fInum\fR \fB\-msseregparm -\&\-momit\-leaf\-frame\-pointer \-mno\-red\-zone \-mno\-tls\-direct\-seg\-refs -\&\-mcmodel=\fR\fIcode-model\fR -\&\fB\-m32 \-m64 \-mlarge\-data\-threshold=\fR\fInum\fR -.Sp -\&\fI\s-1IA\-64\s0 Options\fR -\&\fB\-mbig\-endian \-mlittle\-endian \-mgnu\-as \-mgnu\-ld \-mno\-pic -\&\-mvolatile\-asm\-stop \-mregister\-names \-mno\-sdata -\&\-mconstant\-gp \-mauto\-pic \-minline\-float\-divide\-min\-latency -\&\-minline\-float\-divide\-max\-throughput -\&\-minline\-int\-divide\-min\-latency -\&\-minline\-int\-divide\-max\-throughput -\&\-minline\-sqrt\-min\-latency \-minline\-sqrt\-max\-throughput -\&\-mno\-dwarf2\-asm \-mearly\-stop\-bits -\&\-mfixed\-range=\fR\fIregister-range\fR \fB\-mtls\-size=\fR\fItls-size\fR -\&\fB\-mtune=\fR\fIcpu-type\fR \fB\-mt \-pthread \-milp32 \-mlp64\fR -.Sp -\&\fIM32R/D Options\fR -\&\fB\-m32r2 \-m32rx \-m32r -\&\-mdebug -\&\-malign\-loops \-mno\-align\-loops -\&\-missue\-rate=\fR\fInumber\fR -\&\fB\-mbranch\-cost=\fR\fInumber\fR -\&\fB\-mmodel=\fR\fIcode-size-model-type\fR -\&\fB\-msdata=\fR\fIsdata-type\fR -\&\fB\-mno\-flush\-func \-mflush\-func=\fR\fIname\fR -\&\fB\-mno\-flush\-trap \-mflush\-trap=\fR\fInumber\fR -\&\fB\-G\fR \fInum\fR -.Sp -\&\fIM32C Options\fR -\&\fB\-mcpu=\fR\fIcpu\fR \fB\-msim \-memregs=\fR\fInumber\fR -.Sp -\&\fIM680x0 Options\fR -\&\fB\-m68000 \-m68020 \-m68020\-40 \-m68020\-60 \-m68030 \-m68040 -\&\-m68060 \-mcpu32 \-m5200 \-m68881 \-mbitfield \-mc68000 \-mc68020 -\&\-mnobitfield \-mrtd \-mshort \-msoft\-float \-mpcrel -\&\-malign\-int \-mstrict\-align \-msep\-data \-mno\-sep\-data -\&\-mshared\-library\-id=n \-mid\-shared\-library \-mno\-id\-shared\-library\fR -.Sp -\&\fIM68hc1x Options\fR -\&\fB\-m6811 \-m6812 \-m68hc11 \-m68hc12 \-m68hcs12 -\&\-mauto\-incdec \-minmax \-mlong\-calls \-mshort -\&\-msoft\-reg\-count=\fR\fIcount\fR -.Sp -\&\fIMCore Options\fR -\&\fB\-mhardlit \-mno\-hardlit \-mdiv \-mno\-div \-mrelax\-immediates -\&\-mno\-relax\-immediates \-mwide\-bitfields \-mno\-wide\-bitfields -\&\-m4byte\-functions \-mno\-4byte\-functions \-mcallgraph\-data -\&\-mno\-callgraph\-data \-mslow\-bytes \-mno\-slow\-bytes \-mno\-lsim -\&\-mlittle\-endian \-mbig\-endian \-m210 \-m340 \-mstack\-increment\fR -.Sp -\&\fI\s-1MIPS\s0 Options\fR -\&\fB\-EL \-EB \-march=\fR\fIarch\fR \fB\-mtune=\fR\fIarch\fR -\&\fB\-mips1 \-mips2 \-mips3 \-mips4 \-mips32 \-mips32r2 \-mips64 -\&\-mips16 \-mno\-mips16 \-mabi=\fR\fIabi\fR \fB\-mabicalls \-mno\-abicalls -\&\-mxgot \-mno\-xgot \-mgp32 \-mgp64 \-mfp32 \-mfp64 -\&\-mhard\-float \-msoft\-float \-msingle\-float \-mdouble\-float -\&\-mdsp \-mpaired\-single \-mips3d -\&\-mlong64 \-mlong32 \-msym32 \-mno\-sym32 -\&\-G\fR\fInum\fR \fB\-membedded\-data \-mno\-embedded\-data -\&\-muninit\-const\-in\-rodata \-mno\-uninit\-const\-in\-rodata -\&\-msplit\-addresses \-mno\-split\-addresses -\&\-mexplicit\-relocs \-mno\-explicit\-relocs -\&\-mcheck\-zero\-division \-mno\-check\-zero\-division -\&\-mdivide\-traps \-mdivide\-breaks -\&\-mmemcpy \-mno\-memcpy \-mlong\-calls \-mno\-long\-calls -\&\-mmad \-mno\-mad \-mfused\-madd \-mno\-fused\-madd \-nocpp -\&\-mfix\-r4000 \-mno\-fix\-r4000 \-mfix\-r4400 \-mno\-fix\-r4400 -\&\-mfix\-vr4120 \-mno\-fix\-vr4120 \-mfix\-vr4130 -\&\-mfix\-sb1 \-mno\-fix\-sb1 -\&\-mflush\-func=\fR\fIfunc\fR \fB\-mno\-flush\-func -\&\-mbranch\-likely \-mno\-branch\-likely -\&\-mfp\-exceptions \-mno\-fp\-exceptions -\&\-mvr4130\-align \-mno\-vr4130\-align\fR -.Sp -\&\fI\s-1MMIX\s0 Options\fR -\&\fB\-mlibfuncs \-mno\-libfuncs \-mepsilon \-mno\-epsilon \-mabi=gnu -\&\-mabi=mmixware \-mzero\-extend \-mknuthdiv \-mtoplevel\-symbols -\&\-melf \-mbranch\-predict \-mno\-branch\-predict \-mbase\-addresses -\&\-mno\-base\-addresses \-msingle\-exit \-mno\-single\-exit\fR -.Sp -\&\fI\s-1MN10300\s0 Options\fR -\&\fB\-mmult\-bug \-mno\-mult\-bug -\&\-mam33 \-mno\-am33 -\&\-mam33\-2 \-mno\-am33\-2 -\&\-mreturn\-pointer\-on\-d0 -\&\-mno\-crt0 \-mrelax\fR -.Sp -\&\fI\s-1MT\s0 Options\fR -\&\fB\-mno\-crt0 \-mbacc \-msim -\&\-march=\fR\fIcpu-type\fR\fB \fR -.Sp -\&\fI\s-1PDP\-11\s0 Options\fR -\&\fB\-mfpu \-msoft\-float \-mac0 \-mno\-ac0 \-m40 \-m45 \-m10 -\&\-mbcopy \-mbcopy\-builtin \-mint32 \-mno\-int16 -\&\-mint16 \-mno\-int32 \-mfloat32 \-mno\-float64 -\&\-mfloat64 \-mno\-float32 \-mabshi \-mno\-abshi -\&\-mbranch\-expensive \-mbranch\-cheap -\&\-msplit \-mno\-split \-munix\-asm \-mdec\-asm\fR -.Sp -\&\fIPowerPC Options\fR -See \s-1RS/6000\s0 and PowerPC Options. -.Sp -\&\fI\s-1RS/6000\s0 and PowerPC Options\fR -\&\fB\-mcpu=\fR\fIcpu-type\fR -\&\fB\-mtune=\fR\fIcpu-type\fR -\&\fB\-mpower \-mno\-power \-mpower2 \-mno\-power2 -\&\-mpowerpc \-mpowerpc64 \-mno\-powerpc -\&\-maltivec \-mno\-altivec -\&\-mpowerpc\-gpopt \-mno\-powerpc\-gpopt -\&\-mpowerpc\-gfxopt \-mno\-powerpc\-gfxopt -\&\-mmfcrf \-mno\-mfcrf \-mpopcntb \-mno\-popcntb \-mfprnd \-mno\-fprnd -\&\-mnew\-mnemonics \-mold\-mnemonics -\&\-mfull\-toc \-mminimal\-toc \-mno\-fp\-in\-toc \-mno\-sum\-in\-toc -\&\-m64 \-m32 \-mxl\-compat \-mno\-xl\-compat \-mpe -\&\-malign\-power \-malign\-natural -\&\-msoft\-float \-mhard\-float \-mmultiple \-mno\-multiple -\&\-mstring \-mno\-string \-mupdate \-mno\-update -\&\-mfused\-madd \-mno\-fused\-madd \-mbit\-align \-mno\-bit\-align -\&\-mstrict\-align \-mno\-strict\-align \-mrelocatable -\&\-mno\-relocatable \-mrelocatable\-lib \-mno\-relocatable\-lib -\&\-mtoc \-mno\-toc \-mlittle \-mlittle\-endian \-mbig \-mbig\-endian -\&\-mdynamic\-no\-pic \-maltivec \-mswdiv -\&\-mprioritize\-restricted\-insns=\fR\fIpriority\fR -\&\fB\-msched\-costly\-dep=\fR\fIdependence_type\fR -\&\fB\-minsert\-sched\-nops=\fR\fIscheme\fR -\&\fB\-mcall\-sysv \-mcall\-netbsd -\&\-maix\-struct\-return \-msvr4\-struct\-return -\&\-mabi=\fR\fIabi-type\fR \fB\-msecure\-plt \-mbss\-plt -\&\-misel \-mno\-isel -\&\-misel=yes \-misel=no -\&\-mspe \-mno\-spe -\&\-mspe=yes \-mspe=no -\&\-mvrsave \-mno\-vrsave -\&\-mfloat\-gprs=yes \-mfloat\-gprs=no \-mfloat\-gprs=single \-mfloat\-gprs=double -\&\-mprototype \-mno\-prototype -\&\-msim \-mmvme \-mads \-myellowknife \-memb \-msdata -\&\-msdata=\fR\fIopt\fR \fB\-mvxworks \-mwindiss \-G\fR \fInum\fR \fB\-pthread\fR -.Sp -\&\fIS/390 and zSeries Options\fR -\&\fB\-mtune=\fR\fIcpu-type\fR \fB\-march=\fR\fIcpu-type\fR -\&\fB\-mhard\-float \-msoft\-float \-mlong\-double\-64 \-mlong\-double\-128 -\&\-mbackchain \-mno\-backchain \-mpacked\-stack \-mno\-packed\-stack -\&\-msmall\-exec \-mno\-small\-exec \-mmvcle \-mno\-mvcle -\&\-m64 \-m31 \-mdebug \-mno\-debug \-mesa \-mzarch -\&\-mtpf\-trace \-mno\-tpf\-trace \-mfused\-madd \-mno\-fused\-madd -\&\-mwarn\-framesize \-mwarn\-dynamicstack \-mstack\-size \-mstack\-guard\fR -.Sp -\&\fI\s-1SH\s0 Options\fR -\&\fB\-m1 \-m2 \-m2e \-m3 \-m3e -\&\-m4\-nofpu \-m4\-single\-only \-m4\-single \-m4 -\&\-m4a\-nofpu \-m4a\-single\-only \-m4a\-single \-m4a \-m4al -\&\-m5\-64media \-m5\-64media\-nofpu -\&\-m5\-32media \-m5\-32media\-nofpu -\&\-m5\-compact \-m5\-compact\-nofpu -\&\-mb \-ml \-mdalign \-mrelax -\&\-mbigtable \-mfmovd \-mhitachi \-mrenesas \-mno\-renesas \-mnomacsave -\&\-mieee \-misize \-mpadstruct \-mspace -\&\-mprefergot \-musermode \-multcost=\fR\fInumber\fR \fB\-mdiv=\fR\fIstrategy\fR -\&\fB\-mdivsi3_libfunc=\fR\fIname\fR -\&\fB\-madjust\-unroll \-mindexed\-addressing \-mgettrcost=\fR\fInumber\fR \fB\-mpt\-fixed - \-minvalid\-symbols\fR -.Sp -\&\fI\s-1SPARC\s0 Options\fR -\&\fB\-mcpu=\fR\fIcpu-type\fR -\&\fB\-mtune=\fR\fIcpu-type\fR -\&\fB\-mcmodel=\fR\fIcode-model\fR -\&\fB\-m32 \-m64 \-mapp\-regs \-mno\-app\-regs -\&\-mfaster\-structs \-mno\-faster\-structs -\&\-mfpu \-mno\-fpu \-mhard\-float \-msoft\-float -\&\-mhard\-quad\-float \-msoft\-quad\-float -\&\-mimpure\-text \-mno\-impure\-text \-mlittle\-endian -\&\-mstack\-bias \-mno\-stack\-bias -\&\-munaligned\-doubles \-mno\-unaligned\-doubles -\&\-mv8plus \-mno\-v8plus \-mvis \-mno\-vis -\&\-threads \-pthreads \-pthread\fR -.Sp -\&\fISystem V Options\fR -\&\fB\-Qy \-Qn \-YP,\fR\fIpaths\fR \fB\-Ym,\fR\fIdir\fR -.Sp -\&\fITMS320C3x/C4x Options\fR -\&\fB\-mcpu=\fR\fIcpu\fR \fB\-mbig \-msmall \-mregparm \-mmemparm -\&\-mfast\-fix \-mmpyi \-mbk \-mti \-mdp\-isr\-reload -\&\-mrpts=\fR\fIcount\fR \fB\-mrptb \-mdb \-mloop\-unsigned -\&\-mparallel\-insns \-mparallel\-mpy \-mpreserve\-float\fR -.Sp -\&\fIV850 Options\fR -\&\fB\-mlong\-calls \-mno\-long\-calls \-mep \-mno\-ep -\&\-mprolog\-function \-mno\-prolog\-function \-mspace -\&\-mtda=\fR\fIn\fR \fB\-msda=\fR\fIn\fR \fB\-mzda=\fR\fIn\fR -\&\fB\-mapp\-regs \-mno\-app\-regs -\&\-mdisable\-callt \-mno\-disable\-callt -\&\-mv850e1 -\&\-mv850e -\&\-mv850 \-mbig\-switch\fR -.Sp -\&\fI\s-1VAX\s0 Options\fR -\&\fB\-mg \-mgnu \-munix\fR -.Sp -\&\fIx86\-64 Options\fR -See i386 and x86\-64 Options. -.Sp -\&\fIXstormy16 Options\fR -\&\fB\-msim\fR -.Sp -\&\fIXtensa Options\fR -\&\fB\-mconst16 \-mno\-const16 -\&\-mfused\-madd \-mno\-fused\-madd -\&\-mtext\-section\-literals \-mno\-text\-section\-literals -\&\-mtarget\-align \-mno\-target\-align -\&\-mlongcalls \-mno\-longcalls\fR -.Sp -\&\fIzSeries Options\fR -See S/390 and zSeries Options. -.IP "\fICode Generation Options\fR" 4 -.IX Item "Code Generation Options" -\&\fB\-fcall\-saved\-\fR\fIreg\fR \fB\-fcall\-used\-\fR\fIreg\fR -\&\fB\-ffixed\-\fR\fIreg\fR \fB\-fexceptions -\&\-fnon\-call\-exceptions \-funwind\-tables -\&\-fasynchronous\-unwind\-tables -\&\-finhibit\-size\-directive \-finstrument\-functions -\&\-fno\-common \-fno\-ident -\&\-fpcc\-struct\-return \-fpic \-fPIC \-fpie \-fPIE -\&\-fno\-jump\-tables -\&\-freg\-struct\-return \-fshared\-data \-fshort\-enums -\&\-fshort\-double \-fshort\-wchar -\&\-fverbose\-asm \-fpack\-struct[=\fR\fIn\fR\fB] \-fstack\-check -\&\-fstack\-limit\-register=\fR\fIreg\fR \fB\-fstack\-limit\-symbol=\fR\fIsym\fR -\&\fB\-fno\-stack\-limit \-fargument\-alias \-fargument\-noalias -\&\-fargument\-noalias\-global \-fleading\-underscore -\&\-ftls\-model=\fR\fImodel\fR -\&\fB\-ftrapv \-fwrapv \-fbounds\-check -\&\-fvisibility\fR -.SS "Options Controlling the Kind of Output" -.IX Subsection "Options Controlling the Kind of Output" -Compilation can involve up to four stages: preprocessing, compilation -proper, assembly and linking, always in that order. \s-1GCC\s0 is capable of -preprocessing and compiling several files either into several -assembler input files, or into one assembler input file; then each -assembler input file produces an object file, and linking combines all -the object files (those newly compiled, and those specified as input) -into an executable file. -.PP -For any given input file, the file name suffix determines what kind of -compilation is done: -.IP "\fIfile\fR\fB.c\fR" 4 -.IX Item "file.c" -C source code which must be preprocessed. -.IP "\fIfile\fR\fB.i\fR" 4 -.IX Item "file.i" -C source code which should not be preprocessed. -.IP "\fIfile\fR\fB.ii\fR" 4 -.IX Item "file.ii" -\&\*(C+ source code which should not be preprocessed. -.IP "\fIfile\fR\fB.m\fR" 4 -.IX Item "file.m" -Objective-C source code. Note that you must link with the \fIlibobjc\fR -library to make an Objective-C program work. -.IP "\fIfile\fR\fB.mi\fR" 4 -.IX Item "file.mi" -Objective-C source code which should not be preprocessed. -.IP "\fIfile\fR\fB.mm\fR" 4 -.IX Item "file.mm" -.PD 0 -.IP "\fIfile\fR\fB.M\fR" 4 -.IX Item "file.M" -.PD -Objective\-\*(C+ source code. Note that you must link with the \fIlibobjc\fR -library to make an Objective\-\*(C+ program work. Note that \fB.M\fR refers -to a literal capital M. -.IP "\fIfile\fR\fB.mii\fR" 4 -.IX Item "file.mii" -Objective\-\*(C+ source code which should not be preprocessed. -.IP "\fIfile\fR\fB.h\fR" 4 -.IX Item "file.h" -C, \*(C+, Objective-C or Objective\-\*(C+ header file to be turned into a -precompiled header. -.IP "\fIfile\fR\fB.cc\fR" 4 -.IX Item "file.cc" -.PD 0 -.IP "\fIfile\fR\fB.cp\fR" 4 -.IX Item "file.cp" -.IP "\fIfile\fR\fB.cxx\fR" 4 -.IX Item "file.cxx" -.IP "\fIfile\fR\fB.cpp\fR" 4 -.IX Item "file.cpp" -.IP "\fIfile\fR\fB.CPP\fR" 4 -.IX Item "file.CPP" -.IP "\fIfile\fR\fB.c++\fR" 4 -.IX Item "file.c++" -.IP "\fIfile\fR\fB.C\fR" 4 -.IX Item "file.C" -.PD -\&\*(C+ source code which must be preprocessed. Note that in \fB.cxx\fR, -the last two letters must both be literally \fBx\fR. Likewise, -\&\fB.C\fR refers to a literal capital C. -.IP "\fIfile\fR\fB.mm\fR" 4 -.IX Item "file.mm" -.PD 0 -.IP "\fIfile\fR\fB.M\fR" 4 -.IX Item "file.M" -.PD -Objective\-\*(C+ source code which must be preprocessed. -.IP "\fIfile\fR\fB.mii\fR" 4 -.IX Item "file.mii" -Objective\-\*(C+ source code which should not be preprocessed. -.IP "\fIfile\fR\fB.hh\fR" 4 -.IX Item "file.hh" -.PD 0 -.IP "\fIfile\fR\fB.H\fR" 4 -.IX Item "file.H" -.PD -\&\*(C+ header file to be turned into a precompiled header. -.IP "\fIfile\fR\fB.f\fR" 4 -.IX Item "file.f" -.PD 0 -.IP "\fIfile\fR\fB.for\fR" 4 -.IX Item "file.for" -.IP "\fIfile\fR\fB.FOR\fR" 4 -.IX Item "file.FOR" -.PD -Fixed form Fortran source code which should not be preprocessed. -.IP "\fIfile\fR\fB.F\fR" 4 -.IX Item "file.F" -.PD 0 -.IP "\fIfile\fR\fB.fpp\fR" 4 -.IX Item "file.fpp" -.IP "\fIfile\fR\fB.FPP\fR" 4 -.IX Item "file.FPP" -.PD -Fixed form Fortran source code which must be preprocessed (with the traditional -preprocessor). -.IP "\fIfile\fR\fB.f90\fR" 4 -.IX Item "file.f90" -.PD 0 -.IP "\fIfile\fR\fB.f95\fR" 4 -.IX Item "file.f95" -.PD -Free form Fortran source code which should not be preprocessed. -.IP "\fIfile\fR\fB.F90\fR" 4 -.IX Item "file.F90" -.PD 0 -.IP "\fIfile\fR\fB.F95\fR" 4 -.IX Item "file.F95" -.PD -Free form Fortran source code which must be preprocessed (with the -traditional preprocessor). -.IP "\fIfile\fR\fB.ads\fR" 4 -.IX Item "file.ads" -Ada source code file which contains a library unit declaration (a -declaration of a package, subprogram, or generic, or a generic -instantiation), or a library unit renaming declaration (a package, -generic, or subprogram renaming declaration). Such files are also -called \fIspecs\fR. -.IP "\fIfile\fR\fB.adb\fR" 4 -.IX Item "file.adb" -Ada source code file containing a library unit body (a subprogram or -package body). Such files are also called \fIbodies\fR. -.IP "\fIfile\fR\fB.s\fR" 4 -.IX Item "file.s" -Assembler code. -.IP "\fIfile\fR\fB.S\fR" 4 -.IX Item "file.S" -Assembler code which must be preprocessed. -.IP "\fIother\fR" 4 -.IX Item "other" -An object file to be fed straight into linking. -Any file name with no recognized suffix is treated this way. -.PP -You can specify the input language explicitly with the \fB\-x\fR option: -.IP "\fB\-x\fR \fIlanguage\fR" 4 -.IX Item "-x language" -Specify explicitly the \fIlanguage\fR for the following input files -(rather than letting the compiler choose a default based on the file -name suffix). This option applies to all following input files until -the next \fB\-x\fR option. Possible values for \fIlanguage\fR are: -.Sp -.Vb 9 -\& c c\-header c\-cpp\-output -\& c++ c++\-header c++\-cpp\-output -\& objective\-c objective\-c\-header objective\-c\-cpp\-output -\& objective\-c++ objective\-c++\-header objective\-c++\-cpp\-output -\& assembler assembler\-with\-cpp -\& ada -\& f95 f95\-cpp\-input -\& java -\& treelang -.Ve -.IP "\fB\-x none\fR" 4 -.IX Item "-x none" -Turn off any specification of a language, so that subsequent files are -handled according to their file name suffixes (as they are if \fB\-x\fR -has not been used at all). -.IP "\fB\-pass\-exit\-codes\fR" 4 -.IX Item "-pass-exit-codes" -Normally the \fBgcc\fR program will exit with the code of 1 if any -phase of the compiler returns a non-success return code. If you specify -\&\fB\-pass\-exit\-codes\fR, the \fBgcc\fR program will instead return with -numerically highest error produced by any phase that returned an error -indication. -.PP -If you only want some of the stages of compilation, you can use -\&\fB\-x\fR (or filename suffixes) to tell \fBgcc\fR where to start, and -one of the options \fB\-c\fR, \fB\-S\fR, or \fB\-E\fR to say where -\&\fBgcc\fR is to stop. Note that some combinations (for example, -\&\fB\-x cpp-output \-E\fR) instruct \fBgcc\fR to do nothing at all. -.IP "\fB\-c\fR" 4 -.IX Item "-c" -Compile or assemble the source files, but do not link. The linking -stage simply is not done. The ultimate output is in the form of an -object file for each source file. -.Sp -By default, the object file name for a source file is made by replacing -the suffix \fB.c\fR, \fB.i\fR, \fB.s\fR, etc., with \fB.o\fR. -.Sp -Unrecognized input files, not requiring compilation or assembly, are -ignored. -.IP "\fB\-S\fR" 4 -.IX Item "-S" -Stop after the stage of compilation proper; do not assemble. The output -is in the form of an assembler code file for each non-assembler input -file specified. -.Sp -By default, the assembler file name for a source file is made by -replacing the suffix \fB.c\fR, \fB.i\fR, etc., with \fB.s\fR. -.Sp -Input files that don't require compilation are ignored. -.IP "\fB\-E\fR" 4 -.IX Item "-E" -Stop after the preprocessing stage; do not run the compiler proper. The -output is in the form of preprocessed source code, which is sent to the -standard output. -.Sp -Input files which don't require preprocessing are ignored. -.IP "\fB\-o\fR \fIfile\fR" 4 -.IX Item "-o file" -Place output in file \fIfile\fR. This applies regardless to whatever -sort of output is being produced, whether it be an executable file, -an object file, an assembler file or preprocessed C code. -.Sp -If \fB\-o\fR is not specified, the default is to put an executable -file in \fIa.out\fR, the object file for -\&\fI\fIsource\fI.\fIsuffix\fI\fR in \fI\fIsource\fI.o\fR, its -assembler file in \fI\fIsource\fI.s\fR, a precompiled header file in -\&\fI\fIsource\fI.\fIsuffix\fI.gch\fR, and all preprocessed C source on -standard output. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -Print (on standard error output) the commands executed to run the stages -of compilation. Also print the version number of the compiler driver -program and of the preprocessor and the compiler proper. -.IP "\fB\-###\fR" 4 -.IX Item "-###" -Like \fB\-v\fR except the commands are not executed and all command -arguments are quoted. This is useful for shell scripts to capture the -driver-generated command lines. -.IP "\fB\-pipe\fR" 4 -.IX Item "-pipe" -Use pipes rather than temporary files for communication between the -various stages of compilation. This fails to work on some systems where -the assembler is unable to read from a pipe; but the \s-1GNU\s0 assembler has -no trouble. -.IP "\fB\-combine\fR" 4 -.IX Item "-combine" -If you are compiling multiple source files, this option tells the driver -to pass all the source files to the compiler at once (for those -languages for which the compiler can handle this). This will allow -intermodule analysis (\s-1IMA\s0) to be performed by the compiler. Currently the only -language for which this is supported is C. If you pass source files for -multiple languages to the driver, using this option, the driver will invoke -the compiler(s) that support \s-1IMA\s0 once each, passing each compiler all the -source files appropriate for it. For those languages that do not support -\&\s-1IMA\s0 this option will be ignored, and the compiler will be invoked once for -each source file in that language. If you use this option in conjunction -with \fB\-save\-temps\fR, the compiler will generate multiple -pre-processed files -(one for each source file), but only one (combined) \fI.o\fR or -\&\fI.s\fR file. -.IP "\fB\-\-help\fR" 4 -.IX Item "--help" -Print (on the standard output) a description of the command line options -understood by \fBgcc\fR. If the \fB\-v\fR option is also specified -then \fB\-\-help\fR will also be passed on to the various processes -invoked by \fBgcc\fR, so that they can display the command line options -they accept. If the \fB\-Wextra\fR option is also specified then command -line options which have no documentation associated with them will also -be displayed. -.IP "\fB\-\-target\-help\fR" 4 -.IX Item "--target-help" -Print (on the standard output) a description of target specific command -line options for each tool. -.IP "\fB\-\-version\fR" 4 -.IX Item "--version" -Display the version number and copyrights of the invoked \s-1GCC\s0. -.SS "Compiling \*(C+ Programs" -.IX Subsection "Compiling Programs" -\&\*(C+ source files conventionally use one of the suffixes \fB.C\fR, -\&\fB.cc\fR, \fB.cpp\fR, \fB.CPP\fR, \fB.c++\fR, \fB.cp\fR, or -\&\fB.cxx\fR; \*(C+ header files often use \fB.hh\fR or \fB.H\fR; and -preprocessed \*(C+ files use the suffix \fB.ii\fR. \s-1GCC\s0 recognizes -files with these names and compiles them as \*(C+ programs even if you -call the compiler the same way as for compiling C programs (usually -with the name \fBgcc\fR). -.PP -However, \*(C+ programs often require class libraries as well as a -compiler that understands the \*(C+ language\-\-\-and under some -circumstances, you might want to compile programs or header files from -standard input, or otherwise without a suffix that flags them as \*(C+ -programs. You might also like to precompile a C header file with a -\&\fB.h\fR extension to be used in \*(C+ compilations. \fBg++\fR is a -program that calls \s-1GCC\s0 with the default language set to \*(C+, and -automatically specifies linking against the \*(C+ library. On many -systems, \fBg++\fR is also installed with the name \fBc++\fR. -.PP -When you compile \*(C+ programs, you may specify many of the same -command-line options that you use for compiling programs in any -language; or command-line options meaningful for C and related -languages; or options that are meaningful only for \*(C+ programs. -.SS "Options Controlling C Dialect" -.IX Subsection "Options Controlling C Dialect" -The following options control the dialect of C (or languages derived -from C, such as \*(C+, Objective-C and Objective\-\*(C+) that the compiler -accepts: -.IP "\fB\-ansi\fR" 4 -.IX Item "-ansi" -In C mode, support all \s-1ISO\s0 C90 programs. In \*(C+ mode, -remove \s-1GNU\s0 extensions that conflict with \s-1ISO\s0 \*(C+. -.Sp -This turns off certain features of \s-1GCC\s0 that are incompatible with \s-1ISO\s0 -C90 (when compiling C code), or of standard \*(C+ (when compiling \*(C+ code), -such as the \f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`typeof\*(C'\fR keywords, and -predefined macros such as \f(CW\*(C`unix\*(C'\fR and \f(CW\*(C`vax\*(C'\fR that identify the -type of system you are using. It also enables the undesirable and -rarely used \s-1ISO\s0 trigraph feature. For the C compiler, -it disables recognition of \*(C+ style \fB//\fR comments as well as -the \f(CW\*(C`inline\*(C'\fR keyword. -.Sp -The alternate keywords \f(CW\*(C`_\|_asm_\|_\*(C'\fR, \f(CW\*(C`_\|_extension_\|_\*(C'\fR, -\&\f(CW\*(C`_\|_inline_\|_\*(C'\fR and \f(CW\*(C`_\|_typeof_\|_\*(C'\fR continue to work despite -\&\fB\-ansi\fR. You would not want to use them in an \s-1ISO\s0 C program, of -course, but it is useful to put them in header files that might be included -in compilations done with \fB\-ansi\fR. Alternate predefined macros -such as \f(CW\*(C`_\|_unix_\|_\*(C'\fR and \f(CW\*(C`_\|_vax_\|_\*(C'\fR are also available, with or -without \fB\-ansi\fR. -.Sp -The \fB\-ansi\fR option does not cause non-ISO programs to be -rejected gratuitously. For that, \fB\-pedantic\fR is required in -addition to \fB\-ansi\fR. -.Sp -The macro \f(CW\*(C`_\|_STRICT_ANSI_\|_\*(C'\fR is predefined when the \fB\-ansi\fR -option is used. Some header files may notice this macro and refrain -from declaring certain functions or defining certain macros that the -\&\s-1ISO\s0 standard doesn't call for; this is to avoid interfering with any -programs that might use these names for other things. -.Sp -Functions which would normally be built in but do not have semantics -defined by \s-1ISO\s0 C (such as \f(CW\*(C`alloca\*(C'\fR and \f(CW\*(C`ffs\*(C'\fR) are not built-in -functions with \fB\-ansi\fR is used. -.IP "\fB\-std=\fR" 4 -.IX Item "-std=" -Determine the language standard. This option is currently only -supported when compiling C or \*(C+. A value for this option must be -provided; possible values are -.RS 4 -.IP "\fBc89\fR" 4 -.IX Item "c89" -.PD 0 -.IP "\fBiso9899:1990\fR" 4 -.IX Item "iso9899:1990" -.PD -\&\s-1ISO\s0 C90 (same as \fB\-ansi\fR). -.IP "\fBiso9899:199409\fR" 4 -.IX Item "iso9899:199409" -\&\s-1ISO\s0 C90 as modified in amendment 1. -.IP "\fBc99\fR" 4 -.IX Item "c99" -.PD 0 -.IP "\fBc9x\fR" 4 -.IX Item "c9x" -.IP "\fBiso9899:1999\fR" 4 -.IX Item "iso9899:1999" -.IP "\fBiso9899:199x\fR" 4 -.IX Item "iso9899:199x" -.PD -\&\s-1ISO\s0 C99. Note that this standard is not yet fully supported; see -<\fBhttp://gcc.gnu.org/gcc\-4.1/c99status.html\fR> for more information. The -names \fBc9x\fR and \fBiso9899:199x\fR are deprecated. -.IP "\fBgnu89\fR" 4 -.IX Item "gnu89" -Default, \s-1ISO\s0 C90 plus \s-1GNU\s0 extensions (including some C99 features). -.IP "\fBgnu99\fR" 4 -.IX Item "gnu99" -.PD 0 -.IP "\fBgnu9x\fR" 4 -.IX Item "gnu9x" -.PD -\&\s-1ISO\s0 C99 plus \s-1GNU\s0 extensions. When \s-1ISO\s0 C99 is fully implemented in \s-1GCC\s0, -this will become the default. The name \fBgnu9x\fR is deprecated. -.IP "\fBc++98\fR" 4 -.IX Item "c++98" -The 1998 \s-1ISO\s0 \*(C+ standard plus amendments. -.IP "\fBgnu++98\fR" 4 -.IX Item "gnu++98" -The same as \fB\-std=c++98\fR plus \s-1GNU\s0 extensions. This is the -default for \*(C+ code. -.RE -.RS 4 -.Sp -Even when this option is not specified, you can still use some of the -features of newer standards in so far as they do not conflict with -previous C standards. For example, you may use \f(CW\*(C`_\|_restrict_\|_\*(C'\fR even -when \fB\-std=c99\fR is not specified. -.Sp -The \fB\-std\fR options specifying some version of \s-1ISO\s0 C have the same -effects as \fB\-ansi\fR, except that features that were not in \s-1ISO\s0 C90 -but are in the specified version (for example, \fB//\fR comments and -the \f(CW\*(C`inline\*(C'\fR keyword in \s-1ISO\s0 C99) are not disabled. -.RE -.IP "\fB\-fgnu89\-inline\fR" 4 -.IX Item "-fgnu89-inline" -The option \fB\-fgnu89\-inline\fR tells \s-1GCC\s0 to use the traditional -\&\s-1GNU\s0 semantics for \f(CW\*(C`inline\*(C'\fR functions when in C99 mode. - Using this -option is roughly equivalent to adding the \f(CW\*(C`gnu_inline\*(C'\fR function -attribute to all inline functions. -.Sp -This option is accepted by \s-1GCC\s0 versions 4.1.3 and up. In \s-1GCC\s0 versions -prior to 4.3, C99 inline semantics are not supported, and thus this -option is effectively assumed to be present regardless of whether or not -it is specified; the only effect of specifying it explicitly is to -disable warnings about using inline functions in C99 mode. Likewise, -the option \fB\-fno\-gnu89\-inline\fR is not supported in versions of -\&\s-1GCC\s0 before 4.3. It will be supported only in C99 or gnu99 mode, not in -C89 or gnu89 mode. -.Sp -The preprocesor macros \f(CW\*(C`_\|_GNUC_GNU_INLINE_\|_\*(C'\fR and -\&\f(CW\*(C`_\|_GNUC_STDC_INLINE_\|_\*(C'\fR may be used to check which semantics are -in effect for \f(CW\*(C`inline\*(C'\fR functions. -.IP "\fB\-aux\-info\fR \fIfilename\fR" 4 -.IX Item "-aux-info filename" -Output to the given filename prototyped declarations for all functions -declared and/or defined in a translation unit, including those in header -files. This option is silently ignored in any language other than C. -.Sp -Besides declarations, the file indicates, in comments, the origin of -each declaration (source file and line), whether the declaration was -implicit, prototyped or unprototyped (\fBI\fR, \fBN\fR for new or -\&\fBO\fR for old, respectively, in the first character after the line -number and the colon), and whether it came from a declaration or a -definition (\fBC\fR or \fBF\fR, respectively, in the following -character). In the case of function definitions, a K&R\-style list of -arguments followed by their declarations is also provided, inside -comments, after the declaration. -.IP "\fB\-fno\-asm\fR" 4 -.IX Item "-fno-asm" -Do not recognize \f(CW\*(C`asm\*(C'\fR, \f(CW\*(C`inline\*(C'\fR or \f(CW\*(C`typeof\*(C'\fR as a -keyword, so that code can use these words as identifiers. You can use -the keywords \f(CW\*(C`_\|_asm_\|_\*(C'\fR, \f(CW\*(C`_\|_inline_\|_\*(C'\fR and \f(CW\*(C`_\|_typeof_\|_\*(C'\fR -instead. \fB\-ansi\fR implies \fB\-fno\-asm\fR. -.Sp -In \*(C+, this switch only affects the \f(CW\*(C`typeof\*(C'\fR keyword, since -\&\f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`inline\*(C'\fR are standard keywords. You may want to -use the \fB\-fno\-gnu\-keywords\fR flag instead, which has the same -effect. In C99 mode (\fB\-std=c99\fR or \fB\-std=gnu99\fR), this -switch only affects the \f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`typeof\*(C'\fR keywords, since -\&\f(CW\*(C`inline\*(C'\fR is a standard keyword in \s-1ISO\s0 C99. -.IP "\fB\-fno\-builtin\fR" 4 -.IX Item "-fno-builtin" -.PD 0 -.IP "\fB\-fno\-builtin\-\fR\fIfunction\fR" 4 -.IX Item "-fno-builtin-function" -.PD -Don't recognize built-in functions that do not begin with -\&\fB_\|_builtin_\fR as prefix. -.Sp -\&\s-1GCC\s0 normally generates special code to handle certain built-in functions -more efficiently; for instance, calls to \f(CW\*(C`alloca\*(C'\fR may become single -instructions that adjust the stack directly, and calls to \f(CW\*(C`memcpy\*(C'\fR -may become inline copy loops. The resulting code is often both smaller -and faster, but since the function calls no longer appear as such, you -cannot set a breakpoint on those calls, nor can you change the behavior -of the functions by linking with a different library. In addition, -when a function is recognized as a built-in function, \s-1GCC\s0 may use -information about that function to warn about problems with calls to -that function, or to generate more efficient code, even if the -resulting code still contains calls to that function. For example, -warnings are given with \fB\-Wformat\fR for bad calls to -\&\f(CW\*(C`printf\*(C'\fR, when \f(CW\*(C`printf\*(C'\fR is built in, and \f(CW\*(C`strlen\*(C'\fR is -known not to modify global memory. -.Sp -With the \fB\-fno\-builtin\-\fR\fIfunction\fR option -only the built-in function \fIfunction\fR is -disabled. \fIfunction\fR must not begin with \fB_\|_builtin_\fR. If a -function is named this is not built-in in this version of \s-1GCC\s0, this -option is ignored. There is no corresponding -\&\fB\-fbuiltin\-\fR\fIfunction\fR option; if you wish to enable -built-in functions selectively when using \fB\-fno\-builtin\fR or -\&\fB\-ffreestanding\fR, you may define macros such as: -.Sp -.Vb 2 -\& #define abs(n) _\|_builtin_abs ((n)) -\& #define strcpy(d, s) _\|_builtin_strcpy ((d), (s)) -.Ve -.IP "\fB\-fhosted\fR" 4 -.IX Item "-fhosted" -Assert that compilation takes place in a hosted environment. This implies -\&\fB\-fbuiltin\fR. A hosted environment is one in which the -entire standard library is available, and in which \f(CW\*(C`main\*(C'\fR has a return -type of \f(CW\*(C`int\*(C'\fR. Examples are nearly everything except a kernel. -This is equivalent to \fB\-fno\-freestanding\fR. -.IP "\fB\-ffreestanding\fR" 4 -.IX Item "-ffreestanding" -Assert that compilation takes place in a freestanding environment. This -implies \fB\-fno\-builtin\fR. A freestanding environment -is one in which the standard library may not exist, and program startup may -not necessarily be at \f(CW\*(C`main\*(C'\fR. The most obvious example is an \s-1OS\s0 kernel. -This is equivalent to \fB\-fno\-hosted\fR. -.IP "\fB\-fms\-extensions\fR" 4 -.IX Item "-fms-extensions" -Accept some non-standard constructs used in Microsoft header files. -.Sp -Some cases of unnamed fields in structures and unions are only -accepted with this option. -.IP "\fB\-trigraphs\fR" 4 -.IX Item "-trigraphs" -Support \s-1ISO\s0 C trigraphs. The \fB\-ansi\fR option (and \fB\-std\fR -options for strict \s-1ISO\s0 C conformance) implies \fB\-trigraphs\fR. -.IP "\fB\-no\-integrated\-cpp\fR" 4 -.IX Item "-no-integrated-cpp" -Performs a compilation in two passes: preprocessing and compiling. This -option allows a user supplied \*(L"cc1\*(R", \*(L"cc1plus\*(R", or \*(L"cc1obj\*(R" via the -\&\fB\-B\fR option. The user supplied compilation step can then add in -an additional preprocessing step after normal preprocessing but before -compiling. The default is to use the integrated cpp (internal cpp) -.Sp -The semantics of this option will change if \*(L"cc1\*(R", \*(L"cc1plus\*(R", and -\&\*(L"cc1obj\*(R" are merged. -.IP "\fB\-traditional\fR" 4 -.IX Item "-traditional" -.PD 0 -.IP "\fB\-traditional\-cpp\fR" 4 -.IX Item "-traditional-cpp" -.PD -Formerly, these options caused \s-1GCC\s0 to attempt to emulate a pre-standard -C compiler. They are now only supported with the \fB\-E\fR switch. -The preprocessor continues to support a pre-standard mode. See the \s-1GNU\s0 -\&\s-1CPP\s0 manual for details. -.IP "\fB\-fcond\-mismatch\fR" 4 -.IX Item "-fcond-mismatch" -Allow conditional expressions with mismatched types in the second and -third arguments. The value of such an expression is void. This option -is not supported for \*(C+. -.IP "\fB\-funsigned\-char\fR" 4 -.IX Item "-funsigned-char" -Let the type \f(CW\*(C`char\*(C'\fR be unsigned, like \f(CW\*(C`unsigned char\*(C'\fR. -.Sp -Each kind of machine has a default for what \f(CW\*(C`char\*(C'\fR should -be. It is either like \f(CW\*(C`unsigned char\*(C'\fR by default or like -\&\f(CW\*(C`signed char\*(C'\fR by default. -.Sp -Ideally, a portable program should always use \f(CW\*(C`signed char\*(C'\fR or -\&\f(CW\*(C`unsigned char\*(C'\fR when it depends on the signedness of an object. -But many programs have been written to use plain \f(CW\*(C`char\*(C'\fR and -expect it to be signed, or expect it to be unsigned, depending on the -machines they were written for. This option, and its inverse, let you -make such a program work with the opposite default. -.Sp -The type \f(CW\*(C`char\*(C'\fR is always a distinct type from each of -\&\f(CW\*(C`signed char\*(C'\fR or \f(CW\*(C`unsigned char\*(C'\fR, even though its behavior -is always just like one of those two. -.IP "\fB\-fsigned\-char\fR" 4 -.IX Item "-fsigned-char" -Let the type \f(CW\*(C`char\*(C'\fR be signed, like \f(CW\*(C`signed char\*(C'\fR. -.Sp -Note that this is equivalent to \fB\-fno\-unsigned\-char\fR, which is -the negative form of \fB\-funsigned\-char\fR. Likewise, the option -\&\fB\-fno\-signed\-char\fR is equivalent to \fB\-funsigned\-char\fR. -.IP "\fB\-fsigned\-bitfields\fR" 4 -.IX Item "-fsigned-bitfields" -.PD 0 -.IP "\fB\-funsigned\-bitfields\fR" 4 -.IX Item "-funsigned-bitfields" -.IP "\fB\-fno\-signed\-bitfields\fR" 4 -.IX Item "-fno-signed-bitfields" -.IP "\fB\-fno\-unsigned\-bitfields\fR" 4 -.IX Item "-fno-unsigned-bitfields" -.PD -These options control whether a bit-field is signed or unsigned, when the -declaration does not use either \f(CW\*(C`signed\*(C'\fR or \f(CW\*(C`unsigned\*(C'\fR. By -default, such a bit-field is signed, because this is consistent: the -basic integer types such as \f(CW\*(C`int\*(C'\fR are signed types. -.SS "Options Controlling \*(C+ Dialect" -.IX Subsection "Options Controlling Dialect" -This section describes the command-line options that are only meaningful -for \*(C+ programs; but you can also use most of the \s-1GNU\s0 compiler options -regardless of what language your program is in. For example, you -might compile a file \f(CW\*(C`firstClass.C\*(C'\fR like this: -.PP -.Vb 1 -\& g++ \-g \-frepo \-O \-c firstClass.C -.Ve -.PP -In this example, only \fB\-frepo\fR is an option meant -only for \*(C+ programs; you can use the other options with any -language supported by \s-1GCC\s0. -.PP -Here is a list of options that are \fIonly\fR for compiling \*(C+ programs: -.IP "\fB\-fabi\-version=\fR\fIn\fR" 4 -.IX Item "-fabi-version=n" -Use version \fIn\fR of the \*(C+ \s-1ABI\s0. Version 2 is the version of the -\&\*(C+ \s-1ABI\s0 that first appeared in G++ 3.4. Version 1 is the version of -the \*(C+ \s-1ABI\s0 that first appeared in G++ 3.2. Version 0 will always be -the version that conforms most closely to the \*(C+ \s-1ABI\s0 specification. -Therefore, the \s-1ABI\s0 obtained using version 0 will change as \s-1ABI\s0 bugs -are fixed. -.Sp -The default is version 2. -.IP "\fB\-fno\-access\-control\fR" 4 -.IX Item "-fno-access-control" -Turn off all access checking. This switch is mainly useful for working -around bugs in the access control code. -.IP "\fB\-fcheck\-new\fR" 4 -.IX Item "-fcheck-new" -Check that the pointer returned by \f(CW\*(C`operator new\*(C'\fR is non-null -before attempting to modify the storage allocated. This check is -normally unnecessary because the \*(C+ standard specifies that -\&\f(CW\*(C`operator new\*(C'\fR will only return \f(CW0\fR if it is declared -\&\fB\f(BIthrow()\fB\fR, in which case the compiler will always check the -return value even without this option. In all other cases, when -\&\f(CW\*(C`operator new\*(C'\fR has a non-empty exception specification, memory -exhaustion is signalled by throwing \f(CW\*(C`std::bad_alloc\*(C'\fR. See also -\&\fBnew (nothrow)\fR. -.IP "\fB\-fconserve\-space\fR" 4 -.IX Item "-fconserve-space" -Put uninitialized or runtime-initialized global variables into the -common segment, as C does. This saves space in the executable at the -cost of not diagnosing duplicate definitions. If you compile with this -flag and your program mysteriously crashes after \f(CW\*(C`main()\*(C'\fR has -completed, you may have an object that is being destroyed twice because -two definitions were merged. -.Sp -This option is no longer useful on most targets, now that support has -been added for putting variables into \s-1BSS\s0 without making them common. -.IP "\fB\-ffriend\-injection\fR" 4 -.IX Item "-ffriend-injection" -Inject friend functions into the enclosing namespace, so that they are -visible outside the scope of the class in which they are declared. -Friend functions were documented to work this way in the old Annotated -\&\*(C+ Reference Manual, and versions of G++ before 4.1 always worked -that way. However, in \s-1ISO\s0 \*(C+ a friend function which is not declared -in an enclosing scope can only be found using argument dependent -lookup. This option causes friends to be injected as they were in -earlier releases. -.Sp -This option is for compatibility, and may be removed in a future -release of G++. -.IP "\fB\-fno\-const\-strings\fR" 4 -.IX Item "-fno-const-strings" -Give string constants type \f(CW\*(C`char *\*(C'\fR instead of type \f(CW\*(C`const -char *\*(C'\fR. By default, G++ uses type \f(CW\*(C`const char *\*(C'\fR as required by -the standard. Even if you use \fB\-fno\-const\-strings\fR, you cannot -actually modify the value of a string constant. -.Sp -This option might be removed in a future release of G++. For maximum -portability, you should structure your code so that it works with -string constants that have type \f(CW\*(C`const char *\*(C'\fR. -.IP "\fB\-fno\-elide\-constructors\fR" 4 -.IX Item "-fno-elide-constructors" -The \*(C+ standard allows an implementation to omit creating a temporary -which is only used to initialize another object of the same type. -Specifying this option disables that optimization, and forces G++ to -call the copy constructor in all cases. -.IP "\fB\-fno\-enforce\-eh\-specs\fR" 4 -.IX Item "-fno-enforce-eh-specs" -Don't generate code to check for violation of exception specifications -at runtime. This option violates the \*(C+ standard, but may be useful -for reducing code size in production builds, much like defining -\&\fB\s-1NDEBUG\s0\fR. This does not give user code permission to throw -exceptions in violation of the exception specifications; the compiler -will still optimize based on the specifications, so throwing an -unexpected exception will result in undefined behavior. -.IP "\fB\-ffor\-scope\fR" 4 -.IX Item "-ffor-scope" -.PD 0 -.IP "\fB\-fno\-for\-scope\fR" 4 -.IX Item "-fno-for-scope" -.PD -If \fB\-ffor\-scope\fR is specified, the scope of variables declared in -a \fIfor-init-statement\fR is limited to the \fBfor\fR loop itself, -as specified by the \*(C+ standard. -If \fB\-fno\-for\-scope\fR is specified, the scope of variables declared in -a \fIfor-init-statement\fR extends to the end of the enclosing scope, -as was the case in old versions of G++, and other (traditional) -implementations of \*(C+. -.Sp -The default if neither flag is given to follow the standard, -but to allow and give a warning for old-style code that would -otherwise be invalid, or have different behavior. -.IP "\fB\-fno\-gnu\-keywords\fR" 4 -.IX Item "-fno-gnu-keywords" -Do not recognize \f(CW\*(C`typeof\*(C'\fR as a keyword, so that code can use this -word as an identifier. You can use the keyword \f(CW\*(C`_\|_typeof_\|_\*(C'\fR instead. -\&\fB\-ansi\fR implies \fB\-fno\-gnu\-keywords\fR. -.IP "\fB\-fno\-implicit\-templates\fR" 4 -.IX Item "-fno-implicit-templates" -Never emit code for non-inline templates which are instantiated -implicitly (i.e. by use); only emit code for explicit instantiations. -.IP "\fB\-fno\-implicit\-inline\-templates\fR" 4 -.IX Item "-fno-implicit-inline-templates" -Don't emit code for implicit instantiations of inline templates, either. -The default is to handle inlines differently so that compiles with and -without optimization will need the same set of explicit instantiations. -.IP "\fB\-fno\-implement\-inlines\fR" 4 -.IX Item "-fno-implement-inlines" -To save space, do not emit out-of-line copies of inline functions -controlled by \fB#pragma implementation\fR. This will cause linker -errors if these functions are not inlined everywhere they are called. -.IP "\fB\-fms\-extensions\fR" 4 -.IX Item "-fms-extensions" -Disable pedantic warnings about constructs used in \s-1MFC\s0, such as implicit -int and getting a pointer to member function via non-standard syntax. -.IP "\fB\-fno\-nonansi\-builtins\fR" 4 -.IX Item "-fno-nonansi-builtins" -Disable built-in declarations of functions that are not mandated by -\&\s-1ANSI/ISO\s0 C. These include \f(CW\*(C`ffs\*(C'\fR, \f(CW\*(C`alloca\*(C'\fR, \f(CW\*(C`_exit\*(C'\fR, -\&\f(CW\*(C`index\*(C'\fR, \f(CW\*(C`bzero\*(C'\fR, \f(CW\*(C`conjf\*(C'\fR, and other related functions. -.IP "\fB\-fno\-operator\-names\fR" 4 -.IX Item "-fno-operator-names" -Do not treat the operator name keywords \f(CW\*(C`and\*(C'\fR, \f(CW\*(C`bitand\*(C'\fR, -\&\f(CW\*(C`bitor\*(C'\fR, \f(CW\*(C`compl\*(C'\fR, \f(CW\*(C`not\*(C'\fR, \f(CW\*(C`or\*(C'\fR and \f(CW\*(C`xor\*(C'\fR as -synonyms as keywords. -.IP "\fB\-fno\-optional\-diags\fR" 4 -.IX Item "-fno-optional-diags" -Disable diagnostics that the standard says a compiler does not need to -issue. Currently, the only such diagnostic issued by G++ is the one for -a name having multiple meanings within a class. -.IP "\fB\-fpermissive\fR" 4 -.IX Item "-fpermissive" -Downgrade some diagnostics about nonconformant code from errors to -warnings. Thus, using \fB\-fpermissive\fR will allow some -nonconforming code to compile. -.IP "\fB\-frepo\fR" 4 -.IX Item "-frepo" -Enable automatic template instantiation at link time. This option also -implies \fB\-fno\-implicit\-templates\fR. -.IP "\fB\-fno\-rtti\fR" 4 -.IX Item "-fno-rtti" -Disable generation of information about every class with virtual -functions for use by the \*(C+ runtime type identification features -(\fBdynamic_cast\fR and \fBtypeid\fR). If you don't use those parts -of the language, you can save some space by using this flag. Note that -exception handling uses the same information, but it will generate it as -needed. -.IP "\fB\-fstats\fR" 4 -.IX Item "-fstats" -Emit statistics about front-end processing at the end of the compilation. -This information is generally only useful to the G++ development team. -.IP "\fB\-ftemplate\-depth\-\fR\fIn\fR" 4 -.IX Item "-ftemplate-depth-n" -Set the maximum instantiation depth for template classes to \fIn\fR. -A limit on the template instantiation depth is needed to detect -endless recursions during template class instantiation. \s-1ANSI/ISO\s0 \*(C+ -conforming programs must not rely on a maximum depth greater than 17. -.IP "\fB\-fno\-threadsafe\-statics\fR" 4 -.IX Item "-fno-threadsafe-statics" -Do not emit the extra code to use the routines specified in the \*(C+ -\&\s-1ABI\s0 for thread-safe initialization of local statics. You can use this -option to reduce code size slightly in code that doesn't need to be -thread-safe. -.IP "\fB\-fuse\-cxa\-atexit\fR" 4 -.IX Item "-fuse-cxa-atexit" -Register destructors for objects with static storage duration with the -\&\f(CW\*(C`_\|_cxa_atexit\*(C'\fR function rather than the \f(CW\*(C`atexit\*(C'\fR function. -This option is required for fully standards-compliant handling of static -destructors, but will only work if your C library supports -\&\f(CW\*(C`_\|_cxa_atexit\*(C'\fR. -.IP "\fB\-fvisibility\-inlines\-hidden\fR" 4 -.IX Item "-fvisibility-inlines-hidden" -Causes all inlined methods to be marked with -\&\f(CW\*(C`_\|_attribute_\|_ ((visibility ("hidden")))\*(C'\fR so that they do not -appear in the export table of a \s-1DSO\s0 and do not require a \s-1PLT\s0 indirection -when used within the \s-1DSO\s0. Enabling this option can have a dramatic effect -on load and link times of a \s-1DSO\s0 as it massively reduces the size of the -dynamic export table when the library makes heavy use of templates. While -it can cause bloating through duplication of code within each \s-1DSO\s0 where -it is used, often the wastage is less than the considerable space occupied -by a long symbol name in the export table which is typical when using -templates and namespaces. For even more savings, combine with the -\&\fB\-fvisibility=hidden\fR switch. -.IP "\fB\-fno\-weak\fR" 4 -.IX Item "-fno-weak" -Do not use weak symbol support, even if it is provided by the linker. -By default, G++ will use weak symbols if they are available. This -option exists only for testing, and should not be used by end-users; -it will result in inferior code and has no benefits. This option may -be removed in a future release of G++. -.IP "\fB\-nostdinc++\fR" 4 -.IX Item "-nostdinc++" -Do not search for header files in the standard directories specific to -\&\*(C+, but do still search the other standard directories. (This option -is used when building the \*(C+ library.) -.PP -In addition, these optimization, warning, and code generation options -have meanings only for \*(C+ programs: -.IP "\fB\-fno\-default\-inline\fR" 4 -.IX Item "-fno-default-inline" -Do not assume \fBinline\fR for functions defined inside a class scope. - Note that these -functions will have linkage like inline functions; they just won't be -inlined by default. -.IP "\fB\-Wabi\fR (\*(C+ only)" 4 -.IX Item "-Wabi ( only)" -Warn when G++ generates code that is probably not compatible with the -vendor-neutral \*(C+ \s-1ABI\s0. Although an effort has been made to warn about -all such cases, there are probably some cases that are not warned about, -even though G++ is generating incompatible code. There may also be -cases where warnings are emitted even though the code that is generated -will be compatible. -.Sp -You should rewrite your code to avoid these warnings if you are -concerned about the fact that code generated by G++ may not be binary -compatible with code generated by other compilers. -.Sp -The known incompatibilities at this point include: -.RS 4 -.IP "\(bu" 4 -Incorrect handling of tail-padding for bit-fields. G++ may attempt to -pack data into the same byte as a base class. For example: -.Sp -.Vb 2 -\& struct A { virtual void f(); int f1 : 1; }; -\& struct B : public A { int f2 : 1; }; -.Ve -.Sp -In this case, G++ will place \f(CW\*(C`B::f2\*(C'\fR into the same byte -as\f(CW\*(C`A::f1\*(C'\fR; other compilers will not. You can avoid this problem -by explicitly padding \f(CW\*(C`A\*(C'\fR so that its size is a multiple of the -byte size on your platform; that will cause G++ and other compilers to -layout \f(CW\*(C`B\*(C'\fR identically. -.IP "\(bu" 4 -Incorrect handling of tail-padding for virtual bases. G++ does not use -tail padding when laying out virtual bases. For example: -.Sp -.Vb 3 -\& struct A { virtual void f(); char c1; }; -\& struct B { B(); char c2; }; -\& struct C : public A, public virtual B {}; -.Ve -.Sp -In this case, G++ will not place \f(CW\*(C`B\*(C'\fR into the tail-padding for -\&\f(CW\*(C`A\*(C'\fR; other compilers will. You can avoid this problem by -explicitly padding \f(CW\*(C`A\*(C'\fR so that its size is a multiple of its -alignment (ignoring virtual base classes); that will cause G++ and other -compilers to layout \f(CW\*(C`C\*(C'\fR identically. -.IP "\(bu" 4 -Incorrect handling of bit-fields with declared widths greater than that -of their underlying types, when the bit-fields appear in a union. For -example: -.Sp -.Vb 1 -\& union U { int i : 4096; }; -.Ve -.Sp -Assuming that an \f(CW\*(C`int\*(C'\fR does not have 4096 bits, G++ will make the -union too small by the number of bits in an \f(CW\*(C`int\*(C'\fR. -.IP "\(bu" 4 -Empty classes can be placed at incorrect offsets. For example: -.Sp -.Vb 1 -\& struct A {}; -\& -\& struct B { -\& A a; -\& virtual void f (); -\& }; -\& -\& struct C : public B, public A {}; -.Ve -.Sp -G++ will place the \f(CW\*(C`A\*(C'\fR base class of \f(CW\*(C`C\*(C'\fR at a nonzero offset; -it should be placed at offset zero. G++ mistakenly believes that the -\&\f(CW\*(C`A\*(C'\fR data member of \f(CW\*(C`B\*(C'\fR is already at offset zero. -.IP "\(bu" 4 -Names of template functions whose types involve \f(CW\*(C`typename\*(C'\fR or -template template parameters can be mangled incorrectly. -.Sp -.Vb 2 -\& template -\& void f(typename Q::X) {} -\& -\& template