Guest User

Untitled

a guest
Mar 13th, 2013
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 140.51 KB | None | 0 0
  1. bash-3.2$ gcc --help=optimizers
  2. The following options control optimizations:
  3. -O<number> Set optimization level to <number>
  4. -Ofast Optimize for speed disregarding exact standards
  5. compliance
  6. -Os Optimize for space rather than speed
  7. -falign-functions Align the start of functions
  8. -falign-jumps Align labels which are only reached by jumping
  9. -falign-labels Align all labels
  10. -falign-loops Align the start of loops
  11. -fasynchronous-unwind-tables Generate unwind tables that are exact at each
  12. instruction boundary
  13. -fbranch-count-reg Replace add, compare, branch with branch on count
  14. register
  15. -fbranch-probabilities Use profiling information for branch probabilities
  16. -fbranch-target-load-optimize Perform branch target load optimization before
  17. prologue / epilogue threading
  18. -fbranch-target-load-optimize2 Perform branch target load optimization after
  19. prologue / epilogue threading
  20. -fbtr-bb-exclusive Restrict target load migration not to re-use
  21. registers in any basic block
  22. -fcaller-saves Save registers around function calls
  23. -fcombine-stack-adjustments Looks for opportunities to reduce stack
  24. adjustments and stack references.
  25. -fcommon Do not put uninitialized globals in the common
  26. section
  27. -fcompare-elim Perform comparison elimination after register
  28. allocation has finished
  29. -fconserve-stack Do not perform optimizations increasing
  30. noticeably stack usage
  31. -fcprop-registers Perform a register copy-propagation optimization
  32. pass
  33. -fcrossjumping Perform cross-jumping optimization
  34. -fcse-follow-jumps When running CSE, follow jumps to their targets
  35. -fcx-fortran-rules Complex multiplication and division follow
  36. Fortran rules
  37. -fcx-limited-range Omit range reduction step when performing complex
  38. division
  39. -fdata-sections Place data items into their own section
  40. -fdce Use the RTL dead code elimination pass
  41. -fdefer-pop Defer popping functions args from stack until
  42. later
  43. -fdelayed-branch Attempt to fill delay slots of branch instructions
  44. -fdelete-null-pointer-checks Delete useless null pointer checks
  45. -fdevirtualize Try to convert virtual calls to direct ones.
  46. -fdse Use the RTL dead store elimination pass
  47. -fearly-inlining Perform early inlining
  48. -fexceptions Enable exception handling
  49. -fexpensive-optimizations Perform a number of minor, expensive optimizations
  50. -ffinite-math-only Assume no NaNs or infinities are generated
  51. -ffloat-store Don't allocate floats and doubles in extended-
  52. precision registers
  53. -fforward-propagate Perform a forward propagation pass on RTL
  54. -fgcse Perform global common subexpression elimination
  55. -fgcse-after-reload Perform global common subexpression elimination
  56. after register allocation has finished
  57. -fgcse-las Perform redundant load after store elimination in
  58. global common subexpression elimination
  59. -fgcse-lm Perform enhanced load motion during global common
  60. subexpression elimination
  61. -fgcse-sm Perform store motion after global common
  62. subexpression elimination
  63. -fgraphite-identity Enable Graphite Identity transformation
  64. -fguess-branch-probability Enable guessing of branch probabilities
  65. -fhandle-exceptions This switch lacks documentation
  66. -fif-conversion Perform conversion of conditional jumps to
  67. branchless equivalents
  68. -fif-conversion2 Perform conversion of conditional jumps to
  69. conditional execution
  70. -finline-functions Integrate simple functions into their callers
  71. -finline-functions-called-once Integrate functions called once into their
  72. callers
  73. -finline-small-functions Integrate simple functions into their callers
  74. when code size is known to not growth
  75. -fipa-cp Perform Interprocedural constant propagation
  76. -fipa-cp-clone Perform cloning to make Interprocedural constant
  77. propagation stronger
  78. -fipa-matrix-reorg Perform matrix layout flattening and transposing
  79. based on profiling information.
  80. -fipa-profile Perform interprocedural profile propagation
  81. -fipa-pta Perform interprocedural points-to analysis
  82. -fipa-pure-const Discover pure and const functions
  83. -fipa-reference Discover readonly and non addressable static
  84. variables
  85. -fipa-sra Perform interprocedural reduction of aggregates
  86. -fivopts Optimize induction variables on trees
  87. -fjump-tables Use jump tables for sufficiently large switch
  88. statements
  89. -floop-block Enable Loop Blocking transformation
  90. -floop-flatten Enable Loop Flattening transformation
  91. -floop-interchange Enable Loop Interchange transformation
  92. -floop-parallelize-all Mark all loops as parallel
  93. -floop-strip-mine Enable Loop Strip Mining transformation
  94. -flto-report Report various link-time optimization statistics
  95. -fltrans Run the link-time optimizer in local
  96. transformation (LTRANS) mode.
  97. -fmath-errno Set errno after built-in math functions
  98. -fmerge-all-constants Attempt to merge identical constants and constant
  99. variables
  100. -fmerge-constants Attempt to merge identical constants across
  101. compilation units
  102. -fmodulo-sched Perform SMS based modulo scheduling before the
  103. first scheduling pass
  104. -fmove-loop-invariants Move loop invariant computations out of loops
  105. -fnon-call-exceptions Support synchronous non-call exceptions
  106. -fnothrow-opt Treat a throw() exception specification as
  107. noexcept to improve code size
  108. -fomit-frame-pointer When possible do not generate stack frames
  109. -foptimize-register-move Do the full register move optimization pass
  110. -foptimize-sibling-calls Optimize sibling and tail recursive calls
  111. -fpack-struct Pack structure members together without holes
  112. -fpack-struct=<number> Set initial maximum structure member alignment
  113. -fpeel-loops Perform loop peeling
  114. -fpeephole Enable machine specific peephole optimizations
  115. -fpeephole2 Enable an RTL peephole pass before sched2
  116. -fpredictive-commoning Run predictive commoning optimization.
  117. -fprefetch-loop-arrays Generate prefetch instructions, if available, for
  118. arrays in loops
  119. -freg-struct-return Return small aggregates in registers
  120. -fregmove Enables a register move optimization
  121. -frename-registers Perform a register renaming optimization pass
  122. -freorder-blocks Reorder basic blocks to improve code placement
  123. -freorder-blocks-and-partition Reorder basic blocks and partition into hot
  124. and cold sections
  125. -freorder-functions Reorder functions to improve code placement
  126. -frerun-cse-after-loop Add a common subexpression elimination pass after
  127. loop optimizations
  128. -freschedule-modulo-scheduled-loops Enable/Disable the traditional scheduling
  129. in loops that already passed modulo scheduling
  130. -frounding-math Disable optimizations that assume default FP
  131. rounding behavior
  132. -frtti Generate run time type descriptor information
  133. -fsched-critical-path-heuristic Enable the critical path heuristic in the
  134. scheduler
  135. -fsched-dep-count-heuristic Enable the dependent count heuristic in the
  136. scheduler
  137. -fsched-group-heuristic Enable the group heuristic in the scheduler
  138. -fsched-interblock Enable scheduling across basic blocks
  139. -fsched-last-insn-heuristic Enable the last instruction heuristic in the
  140. scheduler
  141. -fsched-pressure Enable register pressure sensitive insn scheduling
  142. -fsched-rank-heuristic Enable the rank heuristic in the scheduler
  143. -fsched-spec Allow speculative motion of non-loads
  144. -fsched-spec-insn-heuristic Enable the speculative instruction heuristic in
  145. the scheduler
  146. -fsched-spec-load Allow speculative motion of some loads
  147. -fsched-spec-load-dangerous Allow speculative motion of more loads
  148. -fsched-stalled-insns Allow premature scheduling of queued insns
  149. -fsched-stalled-insns-dep Set dependence distance checking in premature
  150. scheduling of queued insns
  151. -fsched2-use-superblocks If scheduling post reload, do superblock
  152. scheduling
  153. -fschedule-insns Reschedule instructions before register allocation
  154. -fschedule-insns2 Reschedule instructions after register allocation
  155. -fsection-anchors Access data in the same section from shared
  156. anchor points
  157. -fsel-sched-pipelining Perform software pipelining of inner loops during
  158. selective scheduling
  159. -fsel-sched-pipelining-outer-loops Perform software pipelining of outer loops
  160. during selective scheduling
  161. -fsel-sched-reschedule-pipelined Reschedule pipelined regions without
  162. pipelining
  163. -fselective-scheduling Schedule instructions using selective scheduling
  164. algorithm
  165. -fselective-scheduling2 Run selective scheduling after reload
  166. -fshort-double Use the same size for double as for float
  167. -fshort-enums Use the narrowest integer type possible for
  168. enumeration types
  169. -fshort-wchar Force the underlying type for "wchar_t" to be
  170. "unsigned short"
  171. -fsignaling-nans Disable optimizations observable by IEEE
  172. signaling NaNs
  173. -fsigned-zeros Disable floating point optimizations that ignore
  174. the IEEE signedness of zero
  175. -fsingle-precision-constant Convert floating point constants to single
  176. precision constants
  177. -fsplit-ivs-in-unroller Split lifetimes of induction variables when loops
  178. are unrolled
  179. -fsplit-wide-types Split wide types into independent registers
  180. -fstrict-aliasing Assume strict aliasing rules apply
  181. -fstrict-enums Assume that values of enumeration type are always
  182. within the minimum range of that type
  183. -fthread-jumps Perform jump threading optimizations
  184. -fno-threadsafe-statics Do not generate thread-safe code for initializing
  185. local statics
  186. -ftoplevel-reorder Reorder top level functions, variables, and asms
  187. -ftrapping-math Assume floating-point operations can trap
  188. -ftrapv Trap for signed overflow in addition, subtraction
  189. and multiplication
  190. -ftree-bit-ccp Enable SSA-BIT-CCP optimization on trees
  191. -ftree-builtin-call-dce Enable conditional dead code elimination for
  192. builtin calls
  193. -ftree-ccp Enable SSA-CCP optimization on trees
  194. -ftree-ch Enable loop header copying on trees
  195. -ftree-copy-prop Enable copy propagation on trees
  196. -ftree-copyrename Replace SSA temporaries with better names in
  197. copies
  198. -ftree-cselim Transform condition stores into unconditional ones
  199. -ftree-dce Enable SSA dead code elimination optimization on
  200. trees
  201. -ftree-dominator-opts Enable dominator optimizations
  202. -ftree-dse Enable dead store elimination
  203. -ftree-forwprop Enable forward propagation on trees
  204. -ftree-fre Enable Full Redundancy Elimination (FRE) on trees
  205. -ftree-loop-distribute-patterns Enable loop distribution for patterns
  206. transformed into a library call
  207. -ftree-loop-distribution Enable loop distribution on trees
  208. -ftree-loop-if-convert Convert conditional jumps in innermost loops to
  209. branchless equivalents
  210. -ftree-loop-if-convert-stores Also if-convert conditional jumps containing
  211. memory writes
  212. -ftree-loop-im Enable loop invariant motion on trees
  213. -ftree-loop-ivcanon Create canonical induction variables in loops
  214. -ftree-loop-optimize Enable loop optimizations on tree level
  215. -ftree-lrs Perform live range splitting during the SSA-
  216. >normal pass
  217. -ftree-phiprop Enable hoisting loads from conditional pointers.
  218. -ftree-pre Enable SSA-PRE optimization on trees
  219. -ftree-pta Perform function-local points-to analysis on
  220. trees.
  221. -ftree-reassoc Enable reassociation on tree level
  222. -ftree-scev-cprop Enable copy propagation of scalar-evolution
  223. information.
  224. -ftree-sink Enable SSA code sinking on trees
  225. -ftree-slp-vectorize Enable basic block vectorization (SLP) on trees
  226. -ftree-sra Perform scalar replacement of aggregates
  227. -ftree-switch-conversion Perform conversions of switch initializations.
  228. -ftree-ter Replace temporary expressions in the SSA->normal
  229. pass
  230. -ftree-vect-loop-version Enable loop versioning when doing loop
  231. vectorization on trees
  232. -ftree-vectorize Enable loop vectorization on trees
  233. -ftree-vrp Perform Value Range Propagation on trees
  234. -funit-at-a-time Compile whole compilation unit at a time
  235. -funroll-all-loops Perform loop unrolling for all loops
  236. -funroll-loops Perform loop unrolling when iteration count is
  237. known
  238. -funsafe-loop-optimizations Allow loop optimizations to assume that the loops
  239. behave in normal way
  240. -funsafe-math-optimizations Allow math optimizations that may violate IEEE or
  241. ISO standards
  242. -funswitch-loops Perform loop unswitching
  243. -funwind-tables Just generate unwind tables for exception handling
  244. -fvar-tracking Perform variable tracking
  245. -fvar-tracking-assignments Perform variable tracking by annotating
  246. assignments
  247. -fvar-tracking-assignments-toggle Toggle -fvar-tracking-assignments
  248. -fvar-tracking-uninit Perform variable tracking and also tag variables
  249. that are uninitialized
  250. -fvariable-expansion-in-unroller Apply variable expansion when loops are
  251. unrolled
  252. -fvect-cost-model Enable use of cost model in vectorization
  253. -fvpt Use expression value profiles in optimizations
  254. -fweb Construct webs and split unrelated uses of single
  255. variable
  256. -fwhole-program Perform whole program optimizations
  257. -fwpa Run the link-time optimizer in whole program
  258. analysis (WPA) mode.
  259. -fwrapv Assume signed arithmetic overflow wraps around
  260.  
  261. bash-3.2$ gcc -v --help
  262. Reading specs from /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/specs
  263. COLLECT_GCC=gcc
  264. COLLECT_LTO_WRAPPER=/opt/csw/libexec/gcc/sparc-sun-solaris2.10/4.6.3/lto-wrapper
  265. Usage: gcc [options] file...
  266. Options:
  267. -pass-exit-codes Exit with highest error code from a phase
  268. --help Display this information
  269. --target-help Display target specific command line options
  270. --help={target|optimizers|warnings|params|[^]{joined|separate|undocumented}}[,...]
  271. Display specific types of command line options
  272. --version Display compiler version information
  273. -dumpspecs Display all of the built in spec strings
  274. -dumpversion Display the version of the compiler
  275. -dumpmachine Display the compiler's target processor
  276. -print-search-dirs Display the directories in the compiler's search path
  277. -print-libgcc-file-name Display the name of the compiler's companion library
  278. -print-file-name=<lib> Display the full path to library <lib>
  279. -print-prog-name=<prog> Display the full path to compiler component <prog>
  280. -print-multi-directory Display the root directory for versions of libgcc
  281. -print-multi-lib Display the mapping between command line options and
  282. multiple library search directories
  283. -print-multi-os-directory Display the relative path to OS libraries
  284. -print-sysroot Display the target libraries directory
  285. -print-sysroot-headers-suffix Display the sysroot suffix used to find headers
  286. -Wa,<options> Pass comma-separated <options> on to the assembler
  287. -Wp,<options> Pass comma-separated <options> on to the preprocessor
  288. -Wl,<options> Pass comma-separated <options> on to the linker
  289. -Xassembler <arg> Pass <arg> on to the assembler
  290. -Xpreprocessor <arg> Pass <arg> on to the preprocessor
  291. -Xlinker <arg> Pass <arg> on to the linker
  292. -save-temps Do not delete intermediate files
  293. -save-temps=<arg> Do not delete intermediate files
  294. -no-canonical-prefixes Do not canonicalize paths when building relative
  295. prefixes to other gcc components
  296. -pipe Use pipes rather than intermediate files
  297. -time Time the execution of each subprocess
  298. -specs=<file> Override built-in specs with the contents of <file>
  299. -std=<standard> Assume that the input sources are for <standard>
  300. --sysroot=<directory> Use <directory> as the root directory for headers
  301. and libraries
  302. -B <directory> Add <directory> to the compiler's search paths
  303. -v Display the programs invoked by the compiler
  304. -### Like -v but options quoted and commands not executed
  305. -E Preprocess only; do not compile, assemble or link
  306. -S Compile only; do not assemble or link
  307. -c Compile and assemble, but do not link
  308. -o <file> Place the output into <file>
  309. -x <language> Specify the language of the following input files
  310. Permissible languages include: c c++ assembler none
  311. 'none' means revert to the default behavior of
  312. guessing the language based on the file's extension
  313.  
  314. Options starting with -g, -f, -m, -O, -W, or --param are automatically
  315. passed on to the various sub-processes invoked by gcc. In order to pass
  316. other options on to these processes the -W<letter> options must be used.
  317.  
  318. Target: sparc-sun-solaris2.10
  319. Configured with: /home/maciej/src/opencsw/pkg/gcc4/trunk/work/solaris10-sparc/build-isa-sparcv8plus/gcc-4.6.3/configure --program-suffix=-4.6 --prefix=/opt/csw --exec_prefix=/opt/csw --bindir=/opt/csw/bin --sbindir=/opt/csw/sbin --libexecdir=/opt/csw/libexec --datadir=/opt/csw/share --sysconfdir=/etc/opt/csw --sharedstatedir=/opt/csw/share --localstatedir=/var/opt/csw --libdir=/opt/csw/lib --infodir=/opt/csw/share/info --includedir=/opt/csw/include --mandir=/opt/csw/share/man --with-gnu-as --with-as=/opt/csw/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-nls --with-included-gettext --with-libiconv-prefix=/opt/csw --with-x --with-mpfr=/opt/csw --with-gmp=/opt/csw --with-ppl=/opt/csw --with-cloog=/opt/csw --enable-cloog-backend=isl --enable-java-awt=xlib --enable-libada --enable-libssp --enable-objc-gc --enable-threads=posix --enable-languages=ada,c,c++,fortran,java,objc --with-system-zlib=/opt/csw --with-cpu=v8
  320. Thread model: posix
  321. gcc version 4.6.3 (GCC)
  322. COLLECT_GCC_OPTIONS='-v' '--help' '-mcpu=v8'
  323.  
  324. /opt/csw/libexec/gcc/sparc-sun-solaris2.10/4.6.3/cc1 -quiet -v -D__sparcv8 help-dummy -quiet -dumpbase help-dummy -mcpu=v8 -auxbase help-dummy -version --help -o /var/tmp//ccwSYPde.s
  325. The following options are specific to just the language Ada:
  326. --no-standard-libraries This switch lacks documentation
  327. -fRTS= This switch lacks documentation
  328. -feliminate-unused-debug-types Perform unused type elimination in debug info
  329. -gant This switch lacks documentation
  330. -gnat<options> Specify options to GNAT
  331. -gnatO This switch lacks documentation
  332. -nostdlib This switch lacks documentation
  333.  
  334. The following options are specific to just the language C:
  335. -lang-asm This switch lacks documentation
  336.  
  337. The following options are specific to just the language C++:
  338. None found. Use --help=C++ to show *all* the options supported by the C++ front-end
  339.  
  340. The following options are specific to just the language Fortran:
  341. -J<directory> Put MODULE files in 'directory'
  342. -Waliasing Warn about possible aliasing of dummy arguments
  343. -Walign-commons Warn about alignment of COMMON blocks
  344. -Wampersand Warn about missing ampersand in continued
  345. character constants
  346. -Warray-temporaries Warn about creation of array temporaries
  347. -Wcharacter-truncation Warn about truncated character expressions
  348. -Wconversion-extra Warn about most implicit conversions
  349. -Wimplicit-interface Warn about calls with implicit interface
  350. -Wimplicit-procedure Warn about called procedures not explicitly
  351. declared
  352. -Wintrinsic-shadow Warn if a user-procedure has the same name as an
  353. intrinsic
  354. -Wintrinsics-std Warn on intrinsics not part of the selected
  355. standard
  356. -Wline-truncation Warn about truncated source lines
  357. -Wreal-q-constant Warn about real-literal-constants with 'q'
  358. exponent-letter
  359. -Wsurprising Warn about "suspicious" constructs
  360. -Wtabs Permit nonconforming uses of the tab character
  361. -Wunderflow Warn about underflow of numerical constant
  362. expressions
  363. -Wunused-dummy-argument Warn about unused dummy arguments.
  364. -cpp Enable preprocessing
  365. -cpp= This switch lacks documentation
  366. -falign-commons Enable alignment of COMMON blocks
  367. -fall-intrinsics All intrinsics procedures are available
  368. regardless of selected standard
  369. -fallow-leading-underscore This switch lacks documentation
  370. -fautomatic Do not treat local variables and COMMON blocks as
  371. if they were named in SAVE statements
  372. -fbackslash Specify that backslash in string introduces an
  373. escape character
  374. -fbacktrace Produce a backtrace when a runtime error is
  375. encountered
  376. -fblas-matmul-limit=<n> Size of the smallest matrix for which matmul will
  377. use BLAS
  378. -fcheck-array-temporaries Produce a warning at runtime if a array temporary
  379. has been created for a procedure argument
  380. -fcheck=[...] Specify which runtime checks are to be performed
  381. -fcoarray=[...] Specify which coarray parallelization should be
  382. used
  383. -fconvert=big-endian Use big-endian format for unformatted files
  384. -fconvert=little-endian Use little-endian format for unformatted files
  385. -fconvert=native Use native format for unformatted files
  386. -fconvert=swap Swap endianness for unformatted files
  387. -fcray-pointer Use the Cray Pointer extension
  388. -fd-lines-as-code Ignore 'D' in column one in fixed form
  389. -fd-lines-as-comments Treat lines with 'D' in column one as comments
  390. -fdefault-double-8 Set the default double precision kind to an 8
  391. byte wide type
  392. -fdefault-integer-8 Set the default integer kind to an 8 byte wide
  393. type
  394. -fdefault-real-8 Set the default real kind to an 8 byte wide type
  395. -fdollar-ok Allow dollar signs in entity names
  396. -fdump-core Dump a core file when a runtime error occurs
  397. -fdump-fortran-optimized Display the code tree after front end optimization
  398. -fdump-fortran-original Display the code tree after parsing
  399. -fdump-parse-tree Display the code tree after parsing; deprecated
  400. option
  401. -fexternal-blas Specify that an external BLAS library should be
  402. used for matmul calls on large-size arrays
  403. -ff2c Use f2c calling convention
  404. -ffixed-form Assume that the source file is fixed form
  405. -ffixed-line-length-<n> Use n as character line width in fixed mode
  406. -ffixed-line-length-none Allow arbitrary character line width in fixed mode
  407. -ffpe-trap=[...] Stop on following floating point exceptions
  408. -ffree-form Assume that the source file is free form
  409. -ffree-line-length-<n> Use n as character line width in free mode
  410. -ffree-line-length-none Allow arbitrary character line width in free mode
  411. -fimplicit-none Specify that no implicit typing is allowed,
  412. unless overridden by explicit IMPLICIT statements
  413. -finit-character=<n> Initialize local character variables to ASCII
  414. value n
  415. -finit-integer=<n> Initialize local integer variables to n
  416. -finit-local-zero Initialize local variables to zero (from g77)
  417. -finit-logical=<true|false> Initialize local logical variables
  418. -finit-real=<zero|nan|inf|-inf> Initialize local real variables
  419. -fintrinsic-modules-path Specify where to find the compiled intrinsic
  420. modules
  421. -fmax-array-constructor=<n> Maximum number of objects in an array constructor
  422. -fmax-identifier-length=<n> Maximum identifier length
  423. -fmax-stack-var-size=<n> Size in bytes of the largest array that will be
  424. put on the stack
  425. -fmax-subrecord-length=<n> Maximum length for subrecords
  426. -fmodule-private Set default accessibility of module entities to
  427. PRIVATE.
  428. -fpack-derived Try to lay out derived types as compactly as
  429. possible
  430. -fprotect-parens Protect parentheses in expressions
  431. -frange-check Enable range checking during compilation
  432. -frealloc-lhs Reallocate the LHS in assignments
  433. -frecord-marker=4 Use a 4-byte record marker for unformatted files
  434. -frecord-marker=8 Use an 8-byte record marker for unformatted files
  435. -frecursive Allocate local variables on the stack to allow
  436. indirect recursion
  437. -frepack-arrays Copy array sections into a contiguous block on
  438. procedure entry
  439. -fsecond-underscore Append a second underscore if the name already
  440. contains an underscore
  441. -fsign-zero Apply negative sign to zero values
  442. -funderscoring Append underscores to externally visible names
  443. -fwhole-file Compile all program units at once and check all
  444. interfaces
  445. -nocpp Disable preprocessing
  446. -static-libgfortran Statically link the GNU Fortran helper library
  447. (libgfortran)
  448. -std=f2003 Conform to the ISO Fortran 2003 standard
  449. -std=f2008 Conform to the ISO Fortran 2008 standard
  450. -std=f95 Conform to the ISO Fortran 95 standard
  451. -std=gnu Conform to nothing in particular
  452. -std=legacy Accept extensions to support legacy code
  453.  
  454. The following options are specific to just the language Go:
  455. -L This switch lacks documentation
  456. -fgo-dump-<type> Dump Go frontend internal information
  457. -fgo-prefix=<string> Set package-specific prefix for exported Go names
  458. -frequire-return-statement Functions which return values must end with
  459. return statements
  460.  
  461. The following options are specific to just the language Java:
  462. --CLASSPATH This switch lacks documentation
  463. --bootclasspath This switch lacks documentation
  464. --classpath This switch lacks documentation
  465. --encoding This switch lacks documentation
  466. --extdirs This switch lacks documentation
  467. --output-class-directory This switch lacks documentation
  468. --output-class-directory= This switch lacks documentation
  469. --resource This switch lacks documentation
  470. --resource= This switch lacks documentation
  471. -CLASSPATH This switch lacks documentation
  472. -MD_ This switch lacks documentation
  473. -MMD_ This switch lacks documentation
  474. -Wall-deprecation This switch lacks documentation
  475. -Wall-javadoc This switch lacks documentation
  476. -Wassert-identifier This switch lacks documentation
  477. -Wboxing This switch lacks documentation
  478. -Wchar-concat This switch lacks documentation
  479. -Wcondition-assign This switch lacks documentation
  480. -Wconstructor-name This switch lacks documentation
  481. -Wdep-ann This switch lacks documentation
  482. -Wdiscouraged This switch lacks documentation
  483. -Wempty-block This switch lacks documentation
  484. -Wenum-identifier This switch lacks documentation
  485. -Wenum-switch This switch lacks documentation
  486. -Wextraneous-semicolon Warn if deprecated empty statements are found
  487. -Wfallthrough This switch lacks documentation
  488. -Wfield-hiding This switch lacks documentation
  489. -Wfinal-bound This switch lacks documentation
  490. -Wfinally This switch lacks documentation
  491. -Wforbidden This switch lacks documentation
  492. -Whiding This switch lacks documentation
  493. -Windirect-static This switch lacks documentation
  494. -Wintf-annotation This switch lacks documentation
  495. -Wintf-non-inherited This switch lacks documentation
  496. -Wjavadoc This switch lacks documentation
  497. -Wlocal-hiding This switch lacks documentation
  498. -Wmasked-catch-block This switch lacks documentation
  499. -Wnls This switch lacks documentation
  500. -Wno-effect-assign This switch lacks documentation
  501. -Wnull This switch lacks documentation
  502. -Wout-of-date Warn if .class files are out of date
  503. -Wover-ann This switch lacks documentation
  504. -Wparam-assign This switch lacks documentation
  505. -Wpkg-default-method This switch lacks documentation
  506. -Wraw This switch lacks documentation
  507. -Wredundant-modifiers Warn if modifiers are specified when not necessary
  508. -Wserial This switch lacks documentation
  509. -Wspecial-param-hiding This switch lacks documentation
  510. -Wstatic-access This switch lacks documentation
  511. -Wstatic-receiver This switch lacks documentation
  512. -Wsuppress This switch lacks documentation
  513. -Wsynthetic-access This switch lacks documentation
  514. -Wtasks This switch lacks documentation
  515. -Wtype-hiding This switch lacks documentation
  516. -Wuncheck This switch lacks documentation
  517. -Wunnecessary-else This switch lacks documentation
  518. -Wunqualified-field This switch lacks documentation
  519. -Wunused Enable all -Wunused- warnings
  520. -Wunused-argument This switch lacks documentation
  521. -Wunused-import This switch lacks documentation
  522. -Wunused-label Warn when a label is unused
  523. -Wunused-local This switch lacks documentation
  524. -Wunused-private This switch lacks documentation
  525. -Wunused-thrown This switch lacks documentation
  526. -Wuseless-type-check This switch lacks documentation
  527. -Wvarargs-cast This switch lacks documentation
  528. -Wwarning-token This switch lacks documentation
  529. -bootclasspath This switch lacks documentation
  530. -classpath This switch lacks documentation
  531. -encoding This switch lacks documentation
  532. --CLASSPATH Deprecated; use --classpath instead
  533. -fassert Permit the use of the assert keyword
  534. -fassume-compiled This switch lacks documentation
  535. -fassume-compiled= This switch lacks documentation
  536. -faux-classpath This switch lacks documentation
  537. --bootclasspath=<path> Replace system path
  538. -fbootstrap-classes Generated should be loaded by bootstrap loader
  539. -fcheck-references Generate checks for references to NULL
  540. --classpath=<path> Set class path
  541. -fcompile-resource= This switch lacks documentation
  542. -fdisable-assertions This switch lacks documentation
  543. -fdisable-assertions= This switch lacks documentation
  544. -femit-class-file Output a class file
  545. -femit-class-files Alias for -femit-class-file
  546. -fenable-assertions This switch lacks documentation
  547. -fenable-assertions= This switch lacks documentation
  548. --encoding=<encoding> Choose input encoding (defaults from your locale)
  549. --extdirs=<path> Set the extension directory path
  550. -ffilelist-file Input file is a file with a list of filenames to
  551. compile
  552. -fforce-classes-archive-check Always check for non gcj generated classes
  553. archives
  554. -fhash-synchronization Assume the runtime uses a hash table to map an
  555. object to its synchronization structure
  556. -findirect-classes Generate instances of Class at runtime
  557. -findirect-dispatch Use offset tables for virtual method calls
  558. -finline-functions Integrate simple functions into their callers
  559. -fjni Assume native functions are implemented using JNI
  560. -foptimize-static-class-initialization Enable optimization of static class
  561. initialization code
  562. -foutput-class-dir= This switch lacks documentation
  563. -freduced-reflection Reduce the amount of reflection meta-data
  564. generated
  565. -fsaw-java-file This switch lacks documentation
  566. -fsource-filename= This switch lacks documentation
  567. -fsource= Set the source language version
  568. -fstore-check Enable assignability checks for stores into
  569. object arrays
  570. -ftarget= Set the target VM version
  571. -fuse-atomic-builtins Generate code for built-in atomic operations
  572. -fuse-boehm-gc Generate code for the Boehm GC
  573. -fuse-divide-subroutine Call a library routine to do integer divisions
  574. -version Display the compiler's version
  575.  
  576. The following options are specific to just the language LTO:
  577. -fltrans Run the link-time optimizer in local
  578. transformation (LTRANS) mode.
  579. -fltrans-output-list= Specify a file to which a list of files output by
  580. LTRANS is written.
  581. -fresolution= The resolution file
  582. -fwpa Run the link-time optimizer in whole program
  583. analysis (WPA) mode.
  584.  
  585. The following options are specific to just the language ObjC:
  586. None found. Use --help=ObjC to show *all* the options supported by the ObjC front-end
  587.  
  588. The following options are specific to just the language ObjC++:
  589. -fobjc-call-cxx-cdtors Generate special Objective-C methods to
  590. initialize/destroy non-POD C++ ivars, if needed
  591.  
  592. The following options are language-related:
  593. --all-warnings This switch lacks documentation
  594. --ansi This switch lacks documentation
  595. --assert This switch lacks documentation
  596. --assert= This switch lacks documentation
  597. --comments This switch lacks documentation
  598. --comments-in-macros This switch lacks documentation
  599. --define-macro This switch lacks documentation
  600. --define-macro= This switch lacks documentation
  601. --dependencies This switch lacks documentation
  602. --dump This switch lacks documentation
  603. --dump= This switch lacks documentation
  604. --imacros This switch lacks documentation
  605. --imacros= This switch lacks documentation
  606. --include This switch lacks documentation
  607. --include-barrier This switch lacks documentation
  608. --include-directory This switch lacks documentation
  609. --include-directory-after This switch lacks documentation
  610. --include-directory-after= This switch lacks documentation
  611. --include-directory= This switch lacks documentation
  612. --include-prefix This switch lacks documentation
  613. --include-prefix= This switch lacks documentation
  614. --include-with-prefix This switch lacks documentation
  615. --include-with-prefix-after This switch lacks documentation
  616. --include-with-prefix-after= This switch lacks documentation
  617. --include-with-prefix-before This switch lacks documentation
  618. --include-with-prefix-before= This switch lacks documentation
  619. --include-with-prefix= This switch lacks documentation
  620. --include= This switch lacks documentation
  621. --no-line-commands This switch lacks documentation
  622. --no-standard-includes This switch lacks documentation
  623. --no-warnings This switch lacks documentation
  624. --output This switch lacks documentation
  625. --output-pch= This switch lacks documentation
  626. --output= This switch lacks documentation
  627. --pedantic This switch lacks documentation
  628. --pedantic-errors This switch lacks documentation
  629. --preprocess This switch lacks documentation
  630. --print-missing-file-dependencies This switch lacks documentation
  631. --trace-includes This switch lacks documentation
  632. --traditional-cpp This switch lacks documentation
  633. --trigraphs This switch lacks documentation
  634. --undefine-macro This switch lacks documentation
  635. --undefine-macro= This switch lacks documentation
  636. --user-dependencies This switch lacks documentation
  637. --verbose This switch lacks documentation
  638. --write-dependencies This switch lacks documentation
  639. --write-user-dependencies This switch lacks documentation
  640. -A<question>=<answer> Assert the <answer> to <question>. Putting '-'
  641. before <question> disables the <answer> to
  642. <question>
  643. -C Do not discard comments
  644. -CC Do not discard comments in macro expansions
  645. -D<macro>[=<val>] Define a <macro> with <val> as its value. If
  646. just <macro> is given, <val> is taken to be 1
  647. -E This switch lacks documentation
  648. -F <dir> Add <dir> to the end of the main framework
  649. include path
  650. -H Print the name of header files as they are used
  651. -I <dir> Add <dir> to the end of the main include path
  652. -M Generate make dependencies
  653. -MD Generate make dependencies and compile
  654. -MF <file> Write dependency output to the given file
  655. -MG Treat missing header files as generated files
  656. -MM Like -M but ignore system header files
  657. -MMD Like -MD but ignore system header files
  658. -MP Generate phony targets for all headers
  659. -MQ <target> Add a MAKE-quoted target
  660. -MT <target> Add an unquoted target
  661. -P Do not generate #line directives
  662. -U<macro> Undefine <macro>
  663. -Wabi Warn about things that will change when compiling
  664. with an ABI-compliant compiler
  665. -Waddress Warn about suspicious uses of memory addresses
  666. -Wall Enable most warning messages
  667. -Wassign-intercept Warn whenever an Objective-C assignment is being
  668. intercepted by the garbage collector
  669. -Wbad-function-cast Warn about casting functions to incompatible types
  670. -Wbuiltin-macro-redefined Warn when a built-in preprocessor macro is
  671. undefined or redefined
  672. -Wc++-compat Warn about C constructs that are not in the
  673. common subset of C and C++
  674. -Wc++0x-compat Warn about C++ constructs whose meaning differs
  675. between ISO C++ 1998 and ISO C++ 200x
  676. -Wcast-qual Warn about casts which discard qualifiers
  677. -Wchar-subscripts Warn about subscripts whose type is "char"
  678. -Wclobbered Warn about variables that might be changed by
  679. "longjmp" or "vfork"
  680. -Wcomment Warn about possibly nested block comments, and
  681. C++ comments spanning more than one physical line
  682. -Wcomments Synonym for -Wcomment
  683. -Wconversion Warn for implicit type conversions that may
  684. change a value
  685. -Wconversion-null Warn for converting NULL from/to a non-pointer
  686. type
  687. -Wctor-dtor-privacy Warn when all constructors and destructors are
  688. private
  689. -Wdeclaration-after-statement Warn when a declaration is found after a
  690. statement
  691. -Wdeprecated Warn if a deprecated compiler feature, class,
  692. method, or field is used
  693. -Wdiv-by-zero Warn about compile-time integer division by zero
  694. -Wdouble-promotion Warn about implicit conversions from "float" to
  695. "double"
  696. -Weffc++ Warn about violations of Effective C++ style rules
  697. -Wempty-body Warn about an empty body in an if or else
  698. statement
  699. -Wendif-labels Warn about stray tokens after #elif and #endif
  700. -Wenum-compare Warn about comparison of different enum types
  701. -Werror Treat all warnings as errors
  702. -Werror-implicit-function-declaration This switch is deprecated; use
  703. -Werror=implicit-function-declaration instead
  704. -Wfloat-equal Warn if testing floating point numbers for
  705. equality
  706. -Wformat Warn about printf/scanf/strftime/strfmon format
  707. string anomalies
  708. -Wformat-contains-nul Warn about format strings that contain NUL bytes
  709. -Wformat-extra-args Warn if passing too many arguments to a function
  710. for its format string
  711. -Wformat-nonliteral Warn about format strings that are not literals
  712. -Wformat-security Warn about possible security problems with format
  713. functions
  714. -Wformat-y2k Warn about strftime formats yielding 2-digit years
  715. -Wformat-zero-length Warn about zero-length formats
  716. -Wformat= This switch lacks documentation
  717. -Wignored-qualifiers Warn whenever type qualifiers are ignored.
  718. -Wimplicit Warn about implicit declarations
  719. -Wimplicit-function-declaration Warn about implicit function declarations
  720. -Wimplicit-int Warn when a declaration does not specify a type
  721. -Wimport This switch lacks documentation
  722. -Winit-self Warn about variables which are initialized to
  723. themselves
  724. -Wint-to-pointer-cast Warn when there is a cast to a pointer from an
  725. integer of a different size
  726. -Winvalid-offsetof Warn about invalid uses of the "offsetof" macro
  727. -Winvalid-pch Warn about PCH files that are found but not used
  728. -Wjump-misses-init Warn when a jump misses a variable initialization
  729. -Wlogical-op Warn when a logical operator is suspiciously
  730. always evaluating to true or false
  731. -Wlong-long Do not warn about using "long long" when -pedantic
  732. -Wmain Warn about suspicious declarations of "main"
  733. -Wmissing-braces Warn about possibly missing braces around
  734. initializers
  735. -Wmissing-declarations Warn about global functions without previous
  736. declarations
  737. -Wmissing-field-initializers Warn about missing fields in struct initializers
  738. -Wmissing-format-attribute Warn about functions which might be candidates
  739. for format attributes
  740. -Wmissing-include-dirs Warn about user-specified include directories
  741. that do not exist
  742. -Wmissing-parameter-type Warn about function parameters declared without a
  743. type specifier in K&R-style functions
  744. -Wmissing-prototypes Warn about global functions without prototypes
  745. -Wmultichar Warn about use of multi-character character
  746. constants
  747. -Wnested-externs Warn about "extern" declarations not at file scope
  748. -Wnoexcept Warn when a noexcept expression evaluates to
  749. false even though the expression can't actually
  750. throw
  751. -Wnon-template-friend Warn when non-templatized friend functions are
  752. declared within a template
  753. -Wnon-virtual-dtor Warn about non-virtual destructors
  754. -Wnonnull Warn about NULL being passed to argument slots
  755. marked as requiring non-NULL
  756. -Wnormalized=<id|nfc|nfkc> Warn about non-normalised Unicode strings
  757. -Wold-style-cast Warn if a C-style cast is used in a program
  758. -Wold-style-declaration Warn for obsolescent usage in a declaration
  759. -Wold-style-definition Warn if an old-style parameter definition is used
  760. -Woverlength-strings Warn if a string is longer than the maximum
  761. portable length specified by the standard
  762. -Woverloaded-virtual Warn about overloaded virtual function names
  763. -Woverride-init Warn about overriding initializers without side
  764. effects
  765. -Wpacked-bitfield-compat Warn about packed bit-fields whose offset changed
  766. in GCC 4.4
  767. -Wparentheses Warn about possibly missing parentheses
  768. -Wpmf-conversions Warn when converting the type of pointers to
  769. member functions
  770. -Wpointer-arith Warn about function pointer arithmetic
  771. -Wpointer-sign Warn when a pointer differs in signedness in an
  772. assignment
  773. -Wpointer-to-int-cast Warn when a pointer is cast to an integer of a
  774. different size
  775. -Wpragmas Warn about misuses of pragmas
  776. -Wproperty-assign-default Warn if a property for an Objective-C object has
  777. no assign semantics specified
  778. -Wprotocol Warn if inherited methods are unimplemented
  779. -Wpsabi This switch lacks documentation
  780. -Wredundant-decls Warn about multiple declarations of the same
  781. object
  782. -Wreorder Warn when the compiler reorders code
  783. -Wreturn-type Warn whenever a function's return type defaults
  784. to "int" (C), or about inconsistent return types
  785. (C++)
  786. -Wselector Warn if a selector has multiple methods
  787. -Wsequence-point Warn about possible violations of sequence point
  788. rules
  789. -Wsign-compare Warn about signed-unsigned comparisons
  790. -Wsign-conversion Warn for implicit type conversions between signed
  791. and unsigned integers
  792. -Wsign-promo Warn when overload promotes from unsigned to
  793. signed
  794. -Wstrict-null-sentinel Warn about uncasted NULL used as sentinel
  795. -Wstrict-prototypes Warn about unprototyped function declarations
  796. -Wstrict-selector-match Warn if type signatures of candidate methods do
  797. not match exactly
  798. -Wsync-nand Warn when __sync_fetch_and_nand and
  799. __sync_nand_and_fetch built-in functions are used
  800. -Wsynth Deprecated. This switch has no effect
  801. -Wsystem-headers Do not suppress warnings from system headers
  802. -Wtraditional Warn about features not present in traditional C
  803. -Wtraditional-conversion Warn of prototypes causing type conversions
  804. different from what would happen in the absence
  805. of prototype
  806. -Wtrigraphs Warn if trigraphs are encountered that might
  807. affect the meaning of the program
  808. -Wundeclared-selector Warn about @selector()s without previously
  809. declared methods
  810. -Wundef Warn if an undefined macro is used in an #if
  811. directive
  812. -Wunknown-pragmas Warn about unrecognized pragmas
  813. -Wunsuffixed-float-constants Warn about unsuffixed float constants
  814. -Wunused-macros Warn about macros defined in the main file that
  815. are not used
  816. -Wunused-result Warn if a caller of a function, marked with
  817. attribute warn_unused_result, does not use its
  818. return value
  819. -Wvariadic-macros Do not warn about using variadic macros when
  820. -pedantic
  821. -Wvla Warn if a variable length array is used
  822. -Wvolatile-register-var Warn when a register variable is declared volatile
  823. -Wwrite-strings In C++, nonzero means warn about deprecated
  824. conversion from string literals to 'char *'. In
  825. C, similar warning, except that the conversion is
  826. of course not deprecated by the ISO C standard.
  827. -ansi A synonym for -std=c89 (for C) or -std=c++98 (for
  828. C++)
  829. -d<letters> Enable dumps from specific passes of the compiler
  830. -faccess-control Enforce class member access control semantics
  831. -fall-virtual This switch lacks documentation
  832. -falt-external-templates No longer supported
  833. -fasm Recognize the "asm" keyword
  834. -fbuiltin Recognize built-in functions
  835. -fbuiltin- This switch lacks documentation
  836. -fcheck-new Check the return value of new
  837. -fcond-mismatch Allow the arguments of the '?' operator to have
  838. different types
  839. -fconserve-space Reduce the size of object files
  840. -fconst-string-class=<name> Use class <name> for constant strings
  841. -fconstexpr-depth=<number> Specify maximum constexpr recursion depth
  842. -fno-deduce-init-list disable deduction of std::initializer_list for a
  843. template type parameter from a brace-enclosed
  844. initializer-list
  845. -fdefault-inline Does nothing. Preserved for backward
  846. compatibility.
  847. -fdirectives-only Preprocess directives only.
  848. -fdollars-in-identifiers Permit '$' as an identifier character
  849. -felide-constructors This switch lacks documentation
  850. -femit-struct-debug-baseonly Aggressive reduced debug info for structs
  851. -femit-struct-debug-detailed=<spec-list> Detailed reduced debug info for
  852. structs
  853. -femit-struct-debug-reduced Conservative reduced debug info for structs
  854. -fenforce-eh-specs Generate code to check exception specifications
  855. -fenum-int-equiv This switch lacks documentation
  856. -fexec-charset=<cset> Convert all strings and character constants to
  857. character set <cset>
  858. -fextended-identifiers Permit universal character names (\u and \U) in
  859. identifiers
  860. -fexternal-templates This switch lacks documentation
  861. -ffor-scope Scope of for-init-statement variables is local to
  862. the loop
  863. -ffreestanding Do not assume that standard C libraries and
  864. "main" exist
  865. -ffriend-injection Inject friend functions into enclosing namespace
  866. -fgnu-keywords Recognize GNU-defined keywords
  867. -fgnu-runtime Generate code for GNU runtime environment
  868. -fgnu89-inline Use traditional GNU semantics for inline functions
  869. -fguiding-decls This switch lacks documentation
  870. -fhandle-exceptions This switch lacks documentation
  871. -fhonor-std This switch lacks documentation
  872. -fhosted Assume normal C execution environment
  873. -fhuge-objects No longer supported
  874. -fimplement-inlines Export functions even if they can be inlined
  875. -fimplicit-inline-templates Emit implicit instantiations of inline templates
  876. -fimplicit-templates Emit implicit instantiations of templates
  877. -finput-charset=<cset> Specify the default character set for source files
  878. -flabels-ok This switch lacks documentation
  879. -flax-vector-conversions Allow implicit conversions between vectors with
  880. differing numbers of subparts and/or differing
  881. element types.
  882. -fms-extensions Don't warn about uses of Microsoft extensions
  883. -fname-mangling-version- This switch lacks documentation
  884. -fnew-abi This switch lacks documentation
  885. -fnext-runtime Generate code for NeXT (Apple Mac OS X) runtime
  886. environment
  887. -fnil-receivers Assume that receivers of Objective-C messages may
  888. be nil
  889. -fnonansi-builtins This switch lacks documentation
  890. -fnonnull-objects This switch lacks documentation
  891. -fnothrow-opt Treat a throw() exception specification as
  892. noexcept to improve code size
  893. -fobjc-abi-version= Specify which ABI to use for Objective-C family
  894. code and meta-data generation.
  895. -fobjc-direct-dispatch Allow fast jumps to the message dispatcher
  896. -fobjc-exceptions Enable Objective-C exception and synchronization
  897. syntax
  898. -fobjc-gc Enable garbage collection (GC) in Objective-C/
  899. Objective-C++ programs
  900. -fobjc-nilcheck Enable inline checks for nil receivers with the
  901. NeXT runtime and ABI version 2.
  902. -fobjc-sjlj-exceptions Enable Objective-C setjmp exception handling
  903. runtime
  904. -fobjc-std=objc1 Conform to the Objective-C 1.0 language as
  905. implemented in GCC 4.0
  906. -fopenmp Enable OpenMP (implies -frecursive in Fortran)
  907. -foperator-names Recognize C++ keywords like "compl" and "xor"
  908. -foptional-diags Does nothing. Preserved for backward
  909. compatibility.
  910. -fpch-deps This switch lacks documentation
  911. -fpch-preprocess Look for and use PCH files even when preprocessing
  912. -fpermissive Downgrade conformance errors to warnings
  913. -fplan9-extensions Enable Plan 9 language extensions
  914. -fpreprocessed Treat the input file as already preprocessed
  915. -fpretty-templates -fno-pretty-templates Do not pretty-print
  916. template specializations as the template
  917. signature followed by the arguments
  918. -freplace-objc-classes Used in Fix-and-Continue mode to indicate that
  919. object files may be swapped in at runtime
  920. -frepo Enable automatic template instantiation
  921. -frtti Generate run time type descriptor information
  922. -fshort-double Use the same size for double as for float
  923. -fshort-enums Use the narrowest integer type possible for
  924. enumeration types
  925. -fshort-wchar Force the underlying type for "wchar_t" to be
  926. "unsigned short"
  927. -fsigned-bitfields When "signed" or "unsigned" is not given make the
  928. bitfield signed
  929. -fsigned-char Make "char" signed by default
  930. -fsquangle This switch lacks documentation
  931. -fstats Display statistics accumulated during compilation
  932. -fstrict-enums Assume that values of enumeration type are always
  933. within the minimum range of that type
  934. -fstrict-prototype This switch lacks documentation
  935. -ftabstop=<number> Distance between tab stops for column reporting
  936. -ftemplate-depth- This switch lacks documentation
  937. -ftemplate-depth=<number> Specify maximum template instantiation depth
  938. -fthis-is-variable This switch lacks documentation
  939. -fno-threadsafe-statics Do not generate thread-safe code for initializing
  940. local statics
  941. -funsigned-bitfields When "signed" or "unsigned" is not given make the
  942. bitfield unsigned
  943. -funsigned-char Make "char" unsigned by default
  944. -fuse-cxa-atexit Use __cxa_atexit to register destructors
  945. -fuse-cxa-get-exception-ptr Use __cxa_get_exception_ptr in exception handling
  946. -fvisibility-inlines-hidden Marks all inlined methods as having hidden
  947. visibility
  948. -fvisibility-ms-compat Changes visibility to match Microsoft Visual
  949. Studio by default
  950. -fvtable-gc No longer supported
  951. -fvtable-thunks No longer supported
  952. -fweak Emit common-like symbols as weak symbols
  953. -fwide-exec-charset=<cset> Convert all wide strings and character constants
  954. to character set <cset>
  955. -fworking-directory Generate a #line directive pointing at the
  956. current working directory
  957. -fxref No longer supported
  958. -fzero-link Generate lazy class lookup (via objc_getClass())
  959. for use in Zero-Link mode
  960. -gen-decls Dump declarations to a .decl file
  961. -idirafter <dir> Add <dir> to the end of the system include path
  962. -imacros <file> Accept definition of macros in <file>
  963. -imultilib <dir> Set <dir> to be the multilib include subdirectory
  964. -include <file> Include the contents of <file> before other files
  965. -iprefix <path> Specify <path> as a prefix for next two options
  966. -iquote <dir> Add <dir> to the end of the quote include path
  967. -isysroot <dir> Set <dir> to be the system root directory
  968. -isystem <dir> Add <dir> to the start of the system include path
  969. -iwithprefix <dir> Add <dir> to the end of the system include path
  970. -iwithprefixbefore <dir> Add <dir> to the end of the main include path
  971. -nostdinc Do not search standard system include directories
  972. (those specified with -isystem will still be used)
  973. -nostdinc++ Do not search standard system include directories
  974. for C++
  975. -o <file> Place output into <file>
  976. -pedantic Issue warnings needed for strict compliance to
  977. the standard
  978. -pedantic-errors Like -pedantic but issue them as errors
  979. -print-objc-runtime-info Generate C header of platform-specific features
  980. -remap Remap file names when including files
  981. -std=c++03 Conform to the ISO 1998 C++ standard revised by
  982. the 2003 technical corrigendum
  983. -std=c++0x Conform to the ISO 1998 C++ standard, with
  984. extensions that are likely to become a part of
  985. the upcoming ISO C++ standard, dubbed C++0x. Note
  986. that the extensions enabled by this mode are
  987. experimental and may be removed in future
  988. releases of GCC.
  989. -std=c++98 Conform to the ISO 1998 C++ standard revised by
  990. the 2003 technical corrigendum
  991. -std=c1x Conform to the ISO 201X C standard draft
  992. (experimental and incomplete support)
  993. -std=c89 Conform to the ISO 1990 C standard
  994. -std=c90 Conform to the ISO 1990 C standard
  995. -std=c99 Conform to the ISO 1999 C standard
  996. -std=c9x Deprecated in favor of -std=c99
  997. -std=gnu++0x Conform to the ISO 1998 C++ standard, with GNU
  998. extensions and extensions that are likely to
  999. become a part of the upcoming ISO C++ standard,
  1000. dubbed C++0x. Note that the extensions enabled by
  1001. this mode are experimental and may be removed in
  1002. future releases of GCC.
  1003. -std=gnu++98 Conform to the ISO 1998 C++ standard with GNU
  1004. extensions
  1005. -std=gnu1x Conform to the ISO 201X C standard draft with GNU
  1006. extensions (experimental and incomplete support)
  1007. -std=gnu89 Conform to the ISO 1990 C standard with GNU
  1008. extensions
  1009. -std=gnu90 Conform to the ISO 1990 C standard with GNU
  1010. extensions
  1011. -std=gnu99 Conform to the ISO 1999 C standard with GNU
  1012. extensions
  1013. -std=gnu9x Deprecated in favor of -std=gnu99
  1014. -std=iso9899:1990 Conform to the ISO 1990 C standard
  1015. -std=iso9899:199409 Conform to the ISO 1990 C standard as amended in
  1016. 1994
  1017. -std=iso9899:1999 Conform to the ISO 1999 C standard
  1018. -std=iso9899:199x Deprecated in favor of -std=iso9899:1999
  1019. -traditional-cpp Enable traditional preprocessing
  1020. -trigraphs Support ISO C trigraphs
  1021. -undef Do not predefine system-specific and GCC-specific
  1022. macros
  1023. -v Enable verbose output
  1024. -w Suppress warnings
  1025.  
  1026. The --param option recognizes the following as parameters:
  1027. struct-reorg-cold-struct-ratio The threshold ratio between current and
  1028. hottest structure counts
  1029. predictable-branch-outcome Maximal estimated outcome of branch considered
  1030. predictable
  1031. max-inline-insns-single The maximum number of instructions in a single
  1032. function eligible for inlining
  1033. max-inline-insns-auto The maximum number of instructions when
  1034. automatically inlining
  1035. max-inline-insns-recursive The maximum number of instructions inline
  1036. function can grow to via recursive inlining
  1037. max-inline-insns-recursive-auto The maximum number of instructions non-inline
  1038. function can grow to via recursive inlining
  1039. max-inline-recursive-depth The maximum depth of recursive inlining for
  1040. inline functions
  1041. max-inline-recursive-depth-auto The maximum depth of recursive inlining for
  1042. non-inline functions
  1043. min-inline-recursive-probability Inline recursively only when the probability
  1044. of call being executed exceeds the parameter
  1045. max-early-inliner-iterations The maximum number of nested indirect inlining
  1046. performed by early inliner
  1047. comdat-sharing-probability Probability that COMDAT function will be shared
  1048. with different compilatoin unit
  1049. partial-inlining-entry-probability Maximum probability of the entry BB of
  1050. split region (in percent relative to entry BB of
  1051. the function) to make partial inlining happen
  1052. max-variable-expansions-in-unroller If -fvariable-expansion-in-unroller is
  1053. used, the maximum number of times that an
  1054. individual variable will be expanded during loop
  1055. unrolling
  1056. min-vect-loop-bound If -ftree-vectorize is used, the minimal loop
  1057. bound of a loop to be considered for vectorization
  1058. max-delay-slot-insn-search The maximum number of instructions to consider to
  1059. fill a delay slot
  1060. max-delay-slot-live-search The maximum number of instructions to consider to
  1061. find accurate live register information
  1062. max-pending-list-length The maximum length of scheduling's pending
  1063. operations list
  1064. large-function-insns The size of function body to be considered large
  1065. large-function-growth Maximal growth due to inlining of large function
  1066. (in percent)
  1067. large-unit-insns The size of translation unit to be considered
  1068. large
  1069. inline-unit-growth How much can given compilation unit grow because
  1070. of the inlining (in percent)
  1071. ipcp-unit-growth How much can given compilation unit grow because
  1072. of the interprocedural constant propagation (in
  1073. percent)
  1074. early-inlining-insns Maximal estimated growth of function body caused
  1075. by early inlining of single call
  1076. large-stack-frame The size of stack frame to be considered large
  1077. large-stack-frame-growth Maximal stack frame growth due to inlining (in
  1078. percent)
  1079. max-gcse-memory The maximum amount of memory to be allocated by
  1080. GCSE
  1081. max-gcse-insertion-ratio The maximum ratio of insertions to deletions of
  1082. expressions in GCSE
  1083. gcse-after-reload-partial-fraction The threshold ratio for performing partial
  1084. redundancy elimination after reload
  1085. gcse-after-reload-critical-fraction The threshold ratio of critical edges
  1086. execution count that permit performing redundancy
  1087. elimination after reload
  1088. gcse-cost-distance-ratio Scaling factor in calculation of maximum distance
  1089. an expression can be moved by GCSE optimizations
  1090. gcse-unrestricted-cost Cost at which GCSE optimizations will not
  1091. constraint the distance an expression can travel
  1092. max-hoist-depth Maximum depth of search in the dominator tree for
  1093. expressions to hoist
  1094. max-unrolled-insns The maximum number of instructions to consider to
  1095. unroll in a loop
  1096. max-average-unrolled-insns The maximum number of instructions to consider to
  1097. unroll in a loop on average
  1098. max-unroll-times The maximum number of unrollings of a single loop
  1099. max-peeled-insns The maximum number of insns of a peeled loop
  1100. max-peel-times The maximum number of peelings of a single loop
  1101. max-completely-peeled-insns The maximum number of insns of a completely
  1102. peeled loop
  1103. max-completely-peel-times The maximum number of peelings of a single loop
  1104. that is peeled completely
  1105. max-once-peeled-insns The maximum number of insns of a peeled loop that
  1106. rolls only once
  1107. max-completely-peel-loop-nest-depth The maximum depth of a loop nest we
  1108. completely peel
  1109. max-unswitch-insns The maximum number of insns of an unswitched loop
  1110. max-unswitch-level The maximum number of unswitchings in a single
  1111. loop
  1112. max-iterations-to-track Bound on the number of iterations the brute force
  1113. # of iterations analysis algorithm evaluates
  1114. max-iterations-computation-cost Bound on the cost of an expression to compute
  1115. the number of iterations
  1116. sms-max-ii-factor A factor for tuning the upper bound that swing
  1117. modulo scheduler uses for scheduling a loop
  1118. sms-dfa-history The number of cycles the swing modulo scheduler
  1119. considers when checking conflicts using DFA
  1120. sms-loop-average-count-threshold A threshold on the average loop count
  1121. considered by the swing modulo scheduler
  1122. hot-bb-count-fraction Select fraction of the maximal count of
  1123. repetitions of basic block in program given basic
  1124. block needs to have to be considered hot
  1125. hot-bb-frequency-fraction Select fraction of the maximal frequency of
  1126. executions of basic block in function given basic
  1127. block needs to have to be considered hot
  1128. align-threshold Select fraction of the maximal frequency of
  1129. executions of basic block in function given basic
  1130. block get alignment
  1131. align-loop-iterations Loops iterating at least selected number of
  1132. iterations will get loop alignement.
  1133. max-predicted-iterations The maximum number of loop iterations we predict
  1134. statically
  1135. tracer-dynamic-coverage-feedback The percentage of function, weighted by
  1136. execution frequency, that must be covered by
  1137. trace formation. Used when profile feedback is
  1138. available
  1139. tracer-dynamic-coverage The percentage of function, weighted by execution
  1140. frequency, that must be covered by trace
  1141. formation. Used when profile feedback is not
  1142. available
  1143. tracer-max-code-growth Maximal code growth caused by tail duplication
  1144. (in percent)
  1145. tracer-min-branch-ratio Stop reverse growth if the reverse probability of
  1146. best edge is less than this threshold (in percent)
  1147. tracer-min-branch-probability-feedback Stop forward growth if the probability
  1148. of best edge is less than this threshold (in
  1149. percent). Used when profile feedback is available
  1150. tracer-min-branch-probability Stop forward growth if the probability of best
  1151. edge is less than this threshold (in percent).
  1152. Used when profile feedback is not available
  1153. max-crossjump-edges The maximum number of incoming edges to consider
  1154. for crossjumping
  1155. min-crossjump-insns The minimum number of matching instructions to
  1156. consider for crossjumping
  1157. max-grow-copy-bb-insns The maximum expansion factor when copying basic
  1158. blocks
  1159. max-goto-duplication-insns The maximum number of insns to duplicate when
  1160. unfactoring computed gotos
  1161. max-cse-path-length The maximum length of path considered in cse
  1162. max-cse-insns The maximum instructions CSE process before
  1163. flushing
  1164. lim-expensive The minimum cost of an expensive expression in
  1165. the loop invariant motion
  1166. iv-consider-all-candidates-bound Bound on number of candidates below that all
  1167. candidates are considered in iv optimizations
  1168. iv-max-considered-uses Bound on number of iv uses in loop optimized in
  1169. iv optimizations
  1170. iv-always-prune-cand-set-bound If number of candidates in the set is smaller,
  1171. we always try to remove unused ivs during its
  1172. optimization
  1173. scev-max-expr-size Bound on size of expressions used in the scalar
  1174. evolutions analyzer
  1175. scev-max-expr-complexity Bound on the complexity of the expressions in the
  1176. scalar evolutions analyzer
  1177. omega-max-vars Bound on the number of variables in Omega
  1178. constraint systems
  1179. omega-max-geqs Bound on the number of inequalities in Omega
  1180. constraint systems
  1181. omega-max-eqs Bound on the number of equalities in Omega
  1182. constraint systems
  1183. omega-max-wild-cards Bound on the number of wild cards in Omega
  1184. constraint systems
  1185. omega-hash-table-size Bound on the size of the hash table in Omega
  1186. constraint systems
  1187. omega-max-keys Bound on the number of keys in Omega constraint
  1188. systems
  1189. omega-eliminate-redundant-constraints When set to 1, use expensive methods to
  1190. eliminate all redundant constraints
  1191. vect-max-version-for-alignment-checks Bound on number of runtime checks
  1192. inserted by the vectorizer's loop versioning for
  1193. alignment check
  1194. vect-max-version-for-alias-checks Bound on number of runtime checks inserted
  1195. by the vectorizer's loop versioning for alias
  1196. check
  1197. max-cselib-memory-locations The maximum memory locations recorded by cselib
  1198. ggc-min-expand Minimum heap expansion to trigger garbage
  1199. collection, as a percentage of the total size of
  1200. the heap
  1201. ggc-min-heapsize Minimum heap size before we start collecting
  1202. garbage, in kilobytes
  1203. max-reload-search-insns The maximum number of instructions to search
  1204. backward when looking for equivalent reload
  1205. max-sched-region-blocks The maximum number of blocks in a region to be
  1206. considered for interblock scheduling
  1207. max-sched-region-insns The maximum number of insns in a region to be
  1208. considered for interblock scheduling
  1209. max-pipeline-region-blocks The maximum number of blocks in a region to be
  1210. considered for interblock scheduling
  1211. max-pipeline-region-insns The maximum number of insns in a region to be
  1212. considered for interblock scheduling
  1213. min-spec-prob The minimum probability of reaching a source
  1214. block for interblock speculative scheduling
  1215. max-sched-extend-regions-iters The maximum number of iterations through CFG
  1216. to extend regions
  1217. max-sched-insn-conflict-delay The maximum conflict delay for an insn to be
  1218. considered for speculative motion
  1219. sched-spec-prob-cutoff The minimal probability of speculation success
  1220. (in percents), so that speculative insn will be
  1221. scheduled.
  1222. selsched-max-lookahead The maximum size of the lookahead window of
  1223. selective scheduling
  1224. selsched-max-sched-times Maximum number of times that an insn could be
  1225. scheduled
  1226. selsched-insns-to-rename Maximum number of instructions in the ready list
  1227. that are considered eligible for renaming
  1228. sched-mem-true-dep-cost Minimal distance between possibly conflicting
  1229. store and load
  1230. max-last-value-rtl The maximum number of RTL nodes that can be
  1231. recorded as combiner's last value
  1232. integer-share-limit The upper bound for sharing integer constants
  1233. min-virtual-mappings Minimum number of virtual mappings to consider
  1234. switching to full virtual renames
  1235. virtual-mappings-ratio Ratio between virtual mappings and virtual
  1236. symbols to do full virtual renames
  1237. ssp-buffer-size The lower bound for a buffer to be considered for
  1238. stack smashing protection
  1239. max-jump-thread-duplication-stmts Maximum number of statements allowed in a
  1240. block that needs to be duplicated when threading
  1241. jumps
  1242. max-fields-for-field-sensitive Maximum number of fields in a structure before
  1243. pointer analysis treats the structure as a single
  1244. variable
  1245. max-sched-ready-insns The maximum number of instructions ready to be
  1246. issued to be considered by the scheduler during
  1247. the first scheduling pass
  1248. max-dse-active-local-stores Maximum number of active local stores in RTL dead
  1249. store elimination
  1250. prefetch-latency The number of insns executed before prefetch is
  1251. completed
  1252. simultaneous-prefetches The number of prefetches that can run at the same
  1253. time
  1254. l1-cache-size The size of L1 cache
  1255. l1-cache-line-size The size of L1 cache line
  1256. l2-cache-size The size of L2 cache
  1257. use-canonical-types Whether to use canonical types
  1258. max-partial-antic-length Maximum length of partial antic set when
  1259. performing tree pre optimization
  1260. sccvn-max-scc-size Maximum size of a SCC before SCCVN stops
  1261. processing a function
  1262. ira-max-loops-num Max loops number for regional RA
  1263. ira-max-conflict-table-size Max size of conflict table in MB
  1264. ira-loop-reserved-regs The number of registers in each class kept unused
  1265. by loop invariant motion
  1266. switch-conversion-max-branch-ratio The maximum ratio between array size and
  1267. switch branches for a switch conversion to take
  1268. place
  1269. loop-block-tile-size size of tiles for loop blocking
  1270. graphite-max-nb-scop-params maximum number of parameters in a SCoP
  1271. graphite-max-bbs-per-function maximum number of basic blocks per function to
  1272. be analyzed by Graphite
  1273. loop-invariant-max-bbs-in-loop Max basic blocks number in loop for loop
  1274. invariant motion
  1275. slp-max-insns-in-bb Maximum number of instructions in basic block to
  1276. be considered for SLP vectorization
  1277. min-insn-to-prefetch-ratio Min. ratio of insns to prefetches to enable
  1278. prefetching for a loop with an unknown trip count
  1279. prefetch-min-insn-to-mem-ratio Min. ratio of insns to mem ops to enable
  1280. prefetching in a loop
  1281. max-vartrack-size Max. size of var tracking hash tables
  1282. min-nondebug-insn-uid The minimum UID to be used for a nondebug insn
  1283. ipa-sra-ptr-growth-factor Maximum allowed growth of size of new parameters
  1284. ipa-sra replaces a pointer to an aggregate with
  1285. devirt-type-list-size Maximum size of a type list associated with each
  1286. parameter for devirtualization
  1287. lto-partitions Number of paritions program should be split to
  1288. lto-min-partition Size of minimal paritition for WHOPR (in
  1289. estimated instructions)
  1290. cxx-max-namespaces-for-diagnostic-help Maximum number of namespaces to search
  1291. for alternatives when name lookup fails
  1292.  
  1293. The following options control compiler warning messages:
  1294. --extra-warnings This switch lacks documentation
  1295. -W This switch is deprecated; use -Wextra instead
  1296. -Waggregate-return Warn about returning structures, unions or arrays
  1297. -Warray-bounds Warn if an array is accessed out of bounds
  1298. -Wattributes Warn about inappropriate attribute usage
  1299. -Wcast-align Warn about pointer casts which increase alignment
  1300. -Wcoverage-mismatch Warn in case profiles in -fprofile-use do not
  1301. match
  1302. -Wcpp Warn when a #warning directive is encountered
  1303. -Wdeprecated-declarations Warn about uses of __attribute__((deprecated))
  1304. declarations
  1305. -Wdisabled-optimization Warn when an optimization pass is disabled
  1306. -Wextra Print extra (possibly unwanted) warnings
  1307. -Winline Warn when an inlined function cannot be inlined
  1308. -Wlarger-than- This switch lacks documentation
  1309. -Wlarger-than=<number> Warn if an object is larger than <number> bytes
  1310. -Wmissing-noreturn Warn about functions which might be candidates
  1311. for __attribute__((noreturn))
  1312. -Wmudflap Warn about constructs not instrumented by
  1313. -fmudflap
  1314. -Woverflow Warn about overflow in arithmetic expressions
  1315. -Wpacked Warn when the packed attribute has no effect on
  1316. struct layout
  1317. -Wpadded Warn when padding is required to align structure
  1318. members
  1319. -Wshadow Warn when one local variable shadows another
  1320. -Wstack-protector Warn when not issuing stack smashing protection
  1321. for some reason
  1322. -Wstrict-aliasing Warn about code which might break strict aliasing
  1323. rules
  1324. -Wstrict-aliasing= Warn about code which might break strict aliasing
  1325. rules
  1326. -Wstrict-overflow Warn about optimizations that assume that signed
  1327. overflow is undefined
  1328. -Wstrict-overflow= Warn about optimizations that assume that signed
  1329. overflow is undefined
  1330. -Wsuggest-attribute=const Warn about functions which might be candidates
  1331. for __attribute__((const))
  1332. -Wsuggest-attribute=noreturn Warn about functions which might be candidates
  1333. for __attribute__((noreturn))
  1334. -Wsuggest-attribute=pure Warn about functions which might be candidates
  1335. for __attribute__((pure))
  1336. -Wswitch Warn about enumerated switches, with no default,
  1337. missing a case
  1338. -Wswitch-default Warn about enumerated switches missing a
  1339. "default:" statement
  1340. -Wswitch-enum Warn about all enumerated switches missing a
  1341. specific case
  1342. -Wtrampolines Warn whenever a trampoline is generated
  1343. -Wtype-limits Warn if a comparison is always true or always
  1344. false due to the limited range of the data type
  1345. -Wuninitialized Warn about uninitialized automatic variables
  1346. -Wunsafe-loop-optimizations Warn if the loop cannot be optimized due to
  1347. nontrivial assumptions.
  1348. -Wunused-but-set-parameter Warn when a function parameter is only set,
  1349. otherwise unused
  1350. -Wunused-but-set-variable Warn when a variable is only set, otherwise unused
  1351. -Wunused-function Warn when a function is unused
  1352. -Wunused-parameter Warn when a function parameter is unused
  1353. -Wunused-value Warn when an expression value is unused
  1354. -Wunused-variable Warn when a variable is unused
  1355.  
  1356. The following options control optimizations:
  1357. -O<number> Set optimization level to <number>
  1358. -Ofast Optimize for speed disregarding exact standards
  1359. compliance
  1360. -Os Optimize for space rather than speed
  1361. -falign-functions Align the start of functions
  1362. -falign-jumps Align labels which are only reached by jumping
  1363. -falign-labels Align all labels
  1364. -falign-loops Align the start of loops
  1365. -fasynchronous-unwind-tables Generate unwind tables that are exact at each
  1366. instruction boundary
  1367. -fbranch-count-reg Replace add, compare, branch with branch on count
  1368. register
  1369. -fbranch-probabilities Use profiling information for branch probabilities
  1370. -fbranch-target-load-optimize Perform branch target load optimization before
  1371. prologue / epilogue threading
  1372. -fbranch-target-load-optimize2 Perform branch target load optimization after
  1373. prologue / epilogue threading
  1374. -fbtr-bb-exclusive Restrict target load migration not to re-use
  1375. registers in any basic block
  1376. -fcaller-saves Save registers around function calls
  1377. -fcombine-stack-adjustments Looks for opportunities to reduce stack
  1378. adjustments and stack references.
  1379. -fcommon Do not put uninitialized globals in the common
  1380. section
  1381. -fcompare-elim Perform comparison elimination after register
  1382. allocation has finished
  1383. -fconserve-stack Do not perform optimizations increasing
  1384. noticeably stack usage
  1385. -fcprop-registers Perform a register copy-propagation optimization
  1386. pass
  1387. -fcrossjumping Perform cross-jumping optimization
  1388. -fcse-follow-jumps When running CSE, follow jumps to their targets
  1389. -fcx-fortran-rules Complex multiplication and division follow
  1390. Fortran rules
  1391. -fcx-limited-range Omit range reduction step when performing complex
  1392. division
  1393. -fdata-sections Place data items into their own section
  1394. -fdce Use the RTL dead code elimination pass
  1395. -fdefer-pop Defer popping functions args from stack until
  1396. later
  1397. -fdelayed-branch Attempt to fill delay slots of branch instructions
  1398. -fdelete-null-pointer-checks Delete useless null pointer checks
  1399. -fdevirtualize Try to convert virtual calls to direct ones.
  1400. -fdse Use the RTL dead store elimination pass
  1401. -fearly-inlining Perform early inlining
  1402. -fexceptions Enable exception handling
  1403. -fexpensive-optimizations Perform a number of minor, expensive optimizations
  1404. -ffinite-math-only Assume no NaNs or infinities are generated
  1405. -ffloat-store Don't allocate floats and doubles in extended-
  1406. precision registers
  1407. -fforward-propagate Perform a forward propagation pass on RTL
  1408. -fgcse Perform global common subexpression elimination
  1409. -fgcse-after-reload Perform global common subexpression elimination
  1410. after register allocation has finished
  1411. -fgcse-las Perform redundant load after store elimination in
  1412. global common subexpression elimination
  1413. -fgcse-lm Perform enhanced load motion during global common
  1414. subexpression elimination
  1415. -fgcse-sm Perform store motion after global common
  1416. subexpression elimination
  1417. -fgraphite-identity Enable Graphite Identity transformation
  1418. -fguess-branch-probability Enable guessing of branch probabilities
  1419. -fif-conversion Perform conversion of conditional jumps to
  1420. branchless equivalents
  1421. -fif-conversion2 Perform conversion of conditional jumps to
  1422. conditional execution
  1423. -finline-functions-called-once Integrate functions called once into their
  1424. callers
  1425. -finline-small-functions Integrate simple functions into their callers
  1426. when code size is known to not growth
  1427. -fipa-cp Perform Interprocedural constant propagation
  1428. -fipa-cp-clone Perform cloning to make Interprocedural constant
  1429. propagation stronger
  1430. -fipa-matrix-reorg Perform matrix layout flattening and transposing
  1431. based on profiling information.
  1432. -fipa-profile Perform interprocedural profile propagation
  1433. -fipa-pta Perform interprocedural points-to analysis
  1434. -fipa-pure-const Discover pure and const functions
  1435. -fipa-reference Discover readonly and non addressable static
  1436. variables
  1437. -fipa-sra Perform interprocedural reduction of aggregates
  1438. -fivopts Optimize induction variables on trees
  1439. -fjump-tables Use jump tables for sufficiently large switch
  1440. statements
  1441. -floop-block Enable Loop Blocking transformation
  1442. -floop-flatten Enable Loop Flattening transformation
  1443. -floop-interchange Enable Loop Interchange transformation
  1444. -floop-parallelize-all Mark all loops as parallel
  1445. -floop-strip-mine Enable Loop Strip Mining transformation
  1446. -flto-report Report various link-time optimization statistics
  1447. -fmath-errno Set errno after built-in math functions
  1448. -fmerge-all-constants Attempt to merge identical constants and constant
  1449. variables
  1450. -fmerge-constants Attempt to merge identical constants across
  1451. compilation units
  1452. -fmodulo-sched Perform SMS based modulo scheduling before the
  1453. first scheduling pass
  1454. -fmove-loop-invariants Move loop invariant computations out of loops
  1455. -fnon-call-exceptions Support synchronous non-call exceptions
  1456. -fomit-frame-pointer When possible do not generate stack frames
  1457. -foptimize-register-move Do the full register move optimization pass
  1458. -foptimize-sibling-calls Optimize sibling and tail recursive calls
  1459. -fpack-struct Pack structure members together without holes
  1460. -fpack-struct=<number> Set initial maximum structure member alignment
  1461. -fpeel-loops Perform loop peeling
  1462. -fpeephole Enable machine specific peephole optimizations
  1463. -fpeephole2 Enable an RTL peephole pass before sched2
  1464. -fpredictive-commoning Run predictive commoning optimization.
  1465. -fprefetch-loop-arrays Generate prefetch instructions, if available, for
  1466. arrays in loops
  1467. -freg-struct-return Return small aggregates in registers
  1468. -fregmove Enables a register move optimization
  1469. -frename-registers Perform a register renaming optimization pass
  1470. -freorder-blocks Reorder basic blocks to improve code placement
  1471. -freorder-blocks-and-partition Reorder basic blocks and partition into hot
  1472. and cold sections
  1473. -freorder-functions Reorder functions to improve code placement
  1474. -frerun-cse-after-loop Add a common subexpression elimination pass after
  1475. loop optimizations
  1476. -freschedule-modulo-scheduled-loops Enable/Disable the traditional scheduling
  1477. in loops that already passed modulo scheduling
  1478. -frounding-math Disable optimizations that assume default FP
  1479. rounding behavior
  1480. -fsched-critical-path-heuristic Enable the critical path heuristic in the
  1481. scheduler
  1482. -fsched-dep-count-heuristic Enable the dependent count heuristic in the
  1483. scheduler
  1484. -fsched-group-heuristic Enable the group heuristic in the scheduler
  1485. -fsched-interblock Enable scheduling across basic blocks
  1486. -fsched-last-insn-heuristic Enable the last instruction heuristic in the
  1487. scheduler
  1488. -fsched-pressure Enable register pressure sensitive insn scheduling
  1489. -fsched-rank-heuristic Enable the rank heuristic in the scheduler
  1490. -fsched-spec Allow speculative motion of non-loads
  1491. -fsched-spec-insn-heuristic Enable the speculative instruction heuristic in
  1492. the scheduler
  1493. -fsched-spec-load Allow speculative motion of some loads
  1494. -fsched-spec-load-dangerous Allow speculative motion of more loads
  1495. -fsched-stalled-insns Allow premature scheduling of queued insns
  1496. -fsched-stalled-insns-dep Set dependence distance checking in premature
  1497. scheduling of queued insns
  1498. -fsched2-use-superblocks If scheduling post reload, do superblock
  1499. scheduling
  1500. -fschedule-insns Reschedule instructions before register allocation
  1501. -fschedule-insns2 Reschedule instructions after register allocation
  1502. -fsection-anchors Access data in the same section from shared
  1503. anchor points
  1504. -fsel-sched-pipelining Perform software pipelining of inner loops during
  1505. selective scheduling
  1506. -fsel-sched-pipelining-outer-loops Perform software pipelining of outer loops
  1507. during selective scheduling
  1508. -fsel-sched-reschedule-pipelined Reschedule pipelined regions without
  1509. pipelining
  1510. -fselective-scheduling Schedule instructions using selective scheduling
  1511. algorithm
  1512. -fselective-scheduling2 Run selective scheduling after reload
  1513. -fsignaling-nans Disable optimizations observable by IEEE
  1514. signaling NaNs
  1515. -fsigned-zeros Disable floating point optimizations that ignore
  1516. the IEEE signedness of zero
  1517. -fsingle-precision-constant Convert floating point constants to single
  1518. precision constants
  1519. -fsplit-ivs-in-unroller Split lifetimes of induction variables when loops
  1520. are unrolled
  1521. -fsplit-wide-types Split wide types into independent registers
  1522. -fstrict-aliasing Assume strict aliasing rules apply
  1523. -fthread-jumps Perform jump threading optimizations
  1524. -ftoplevel-reorder Reorder top level functions, variables, and asms
  1525. -ftrapping-math Assume floating-point operations can trap
  1526. -ftrapv Trap for signed overflow in addition, subtraction
  1527. and multiplication
  1528. -ftree-bit-ccp Enable SSA-BIT-CCP optimization on trees
  1529. -ftree-builtin-call-dce Enable conditional dead code elimination for
  1530. builtin calls
  1531. -ftree-ccp Enable SSA-CCP optimization on trees
  1532. -ftree-ch Enable loop header copying on trees
  1533. -ftree-copy-prop Enable copy propagation on trees
  1534. -ftree-copyrename Replace SSA temporaries with better names in
  1535. copies
  1536. -ftree-cselim Transform condition stores into unconditional ones
  1537. -ftree-dce Enable SSA dead code elimination optimization on
  1538. trees
  1539. -ftree-dominator-opts Enable dominator optimizations
  1540. -ftree-dse Enable dead store elimination
  1541. -ftree-forwprop Enable forward propagation on trees
  1542. -ftree-fre Enable Full Redundancy Elimination (FRE) on trees
  1543. -ftree-loop-distribute-patterns Enable loop distribution for patterns
  1544. transformed into a library call
  1545. -ftree-loop-distribution Enable loop distribution on trees
  1546. -ftree-loop-if-convert Convert conditional jumps in innermost loops to
  1547. branchless equivalents
  1548. -ftree-loop-if-convert-stores Also if-convert conditional jumps containing
  1549. memory writes
  1550. -ftree-loop-im Enable loop invariant motion on trees
  1551. -ftree-loop-ivcanon Create canonical induction variables in loops
  1552. -ftree-loop-optimize Enable loop optimizations on tree level
  1553. -ftree-lrs Perform live range splitting during the SSA-
  1554. >normal pass
  1555. -ftree-phiprop Enable hoisting loads from conditional pointers.
  1556. -ftree-pre Enable SSA-PRE optimization on trees
  1557. -ftree-pta Perform function-local points-to analysis on
  1558. trees.
  1559. -ftree-reassoc Enable reassociation on tree level
  1560. -ftree-scev-cprop Enable copy propagation of scalar-evolution
  1561. information.
  1562. -ftree-sink Enable SSA code sinking on trees
  1563. -ftree-slp-vectorize Enable basic block vectorization (SLP) on trees
  1564. -ftree-sra Perform scalar replacement of aggregates
  1565. -ftree-switch-conversion Perform conversions of switch initializations.
  1566. -ftree-ter Replace temporary expressions in the SSA->normal
  1567. pass
  1568. -ftree-vect-loop-version Enable loop versioning when doing loop
  1569. vectorization on trees
  1570. -ftree-vectorize Enable loop vectorization on trees
  1571. -ftree-vrp Perform Value Range Propagation on trees
  1572. -funit-at-a-time Compile whole compilation unit at a time
  1573. -funroll-all-loops Perform loop unrolling for all loops
  1574. -funroll-loops Perform loop unrolling when iteration count is
  1575. known
  1576. -funsafe-loop-optimizations Allow loop optimizations to assume that the loops
  1577. behave in normal way
  1578. -funsafe-math-optimizations Allow math optimizations that may violate IEEE or
  1579. ISO standards
  1580. -funswitch-loops Perform loop unswitching
  1581. -funwind-tables Just generate unwind tables for exception handling
  1582. -fvar-tracking Perform variable tracking
  1583. -fvar-tracking-assignments Perform variable tracking by annotating
  1584. assignments
  1585. -fvar-tracking-assignments-toggle Toggle -fvar-tracking-assignments
  1586. -fvar-tracking-uninit Perform variable tracking and also tag variables
  1587. that are uninitialized
  1588. -fvariable-expansion-in-unroller Apply variable expansion when loops are
  1589. unrolled
  1590. -fvect-cost-model Enable use of cost model in vectorization
  1591. -fvpt Use expression value profiles in optimizations
  1592. -fweb Construct webs and split unrelated uses of single
  1593. variable
  1594. -fwhole-program Perform whole program optimizations
  1595. -fwrapv Assume signed arithmetic overflow wraps around
  1596.  
  1597. The following options are target specific:
  1598. -m32 Use 32-bit ABI
  1599. -m64 Use 64-bit ABI
  1600. -mapp-regs Use ABI reserved registers
  1601. -mcmodel= Use given SPARC-V9 code model
  1602. -mcpu= Use features of and schedule code for given CPU
  1603. -mfaster-structs Use structs on stronger alignment for double-word
  1604. copies
  1605. -mfix-at697f Enable workaround for single erratum of AT697F
  1606. processor (corresponding to erratum #13 of AT697E
  1607. processor)
  1608. -mfpu Use hardware FP
  1609. -mhard-float Use hardware FP
  1610. -mhard-quad-float Use hardware quad FP instructions
  1611. -mimpure-text Pass -z text to linker
  1612. -mptr32 Pointers are 32-bit
  1613. -mptr64 Pointers are 64-bit
  1614. -mrelax Optimize tail call instructions in assembler and
  1615. linker
  1616. -msoft-float Do not use hardware FP
  1617. -msoft-quad-float Do not use hardware quad fp instructions
  1618. -mstack-bias Use stack bias
  1619. -mstd-struct-return Enable strict 32-bit psABI struct return checking.
  1620. -mtune= Schedule code for given CPU
  1621. -munaligned-doubles Assume possible double misalignment
  1622. -mv8plus Compile for V8+ ABI
  1623. -mvis Use UltraSPARC Visual Instruction Set extensions
  1624.  
  1625. The following options are language-independent:
  1626. --debug This switch lacks documentation
  1627. --dumpbase This switch lacks documentation
  1628. --dumpdir This switch lacks documentation
  1629. --help Display this information
  1630. --help=<class> Display descriptions of a specific class of
  1631. options. <class> is one or more of optimizers,
  1632. target, warnings, undocumented, params
  1633. --optimize This switch lacks documentation
  1634. --param <param>=<value> Set parameter <param> to value. See below for a
  1635. complete list of parameters
  1636. --param= This switch lacks documentation
  1637. --pie This switch lacks documentation
  1638. --profile This switch lacks documentation
  1639. --shared This switch lacks documentation
  1640. --target-help Alias for --help=target
  1641. --version This switch lacks documentation
  1642. -Werror= Treat specified warning as error
  1643. -Wfatal-errors Exit on the first error occurred
  1644. -Wframe-larger-than=<number> Warn if a function's stack frame requires more
  1645. than <number> bytes
  1646. -Wunreachable-code Does nothing. Preserved for backward
  1647. compatibility.
  1648. -aux-info <file> Emit declaration information into <file>
  1649. -aux-info= This switch lacks documentation
  1650. -auxbase This switch lacks documentation
  1651. -auxbase-strip This switch lacks documentation
  1652. -dumpbase <file> Set the file basename to be used for dumps
  1653. -dumpdir <dir> Set the directory name to be used for dumps
  1654. -fPIC Generate position-independent code if possible
  1655. (large mode)
  1656. -fPIE Generate position-independent code for
  1657. executables if possible (large mode)
  1658. -fabi-version= This switch lacks documentation
  1659. -falign-functions= This switch lacks documentation
  1660. -falign-jumps= This switch lacks documentation
  1661. -falign-labels= This switch lacks documentation
  1662. -falign-loops= This switch lacks documentation
  1663. -fargument-alias Does nothing. Preserved for backward
  1664. compatibility.
  1665. -fargument-noalias Does nothing. Preserved for backward
  1666. compatibility.
  1667. -fargument-noalias-anything Does nothing. Preserved for backward
  1668. compatibility.
  1669. -fargument-noalias-global Does nothing. Preserved for backward
  1670. compatibility.
  1671. -fassociative-math Allow optimization for floating-point arithmetic
  1672. which may change the result of the operation due
  1673. to rounding.
  1674. -fauto-inc-dec Generate auto-inc/dec instructions
  1675. -fbounds-check Generate code to check bounds before indexing
  1676. arrays
  1677. -fcall-saved-<register> Mark <register> as being preserved across
  1678. functions
  1679. -fcall-used-<register> Mark <register> as being corrupted by function
  1680. calls
  1681. -fcheck-data-deps Compare the results of several data dependence
  1682. analyzers.
  1683. -fcompare-debug-second Run only the second compilation of -fcompare-debug
  1684. -fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and
  1685. compare the final-insns dump
  1686. -fcse-skip-blocks Does nothing. Preserved for backward
  1687. compatibility.
  1688. -fdbg-cnt-list List all available debugging counters with their
  1689. limits and counts.
  1690. -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter
  1691. limit.
  1692. -fdebug-prefix-map= Map one directory name to another in debug
  1693. information
  1694. -fdiagnostics-show-location=[once|every-line] How often to emit source
  1695. location at the beginning of line-wrapped
  1696. diagnostics
  1697. -fdiagnostics-show-option Amend appropriate diagnostic messages with the
  1698. command line option that controls them
  1699. -fdump-<type> Dump various compiler internals to a file
  1700. -fdump-final-insns=filename Dump to filename the insns at the end of
  1701. translation
  1702. -fdump-go-spec=filename Write all declarations to file as Go code
  1703. -fdump-noaddr Suppress output of addresses in debugging dumps
  1704. -fdump-unnumbered Suppress output of instruction numbers, line
  1705. number notes and addresses in debugging dumps
  1706. -fdump-unnumbered-links Suppress output of previous and next insn numbers
  1707. in debugging dumps
  1708. -fdwarf2-cfi-asm Enable CFI tables via GAS assembler directives.
  1709. -feliminate-dwarf2-dups Perform DWARF2 duplicate elimination
  1710. -feliminate-unused-debug-symbols Perform unused type elimination in debug info
  1711. -femit-class-debug-always Do not suppress C++ class debug information.
  1712. -fenable-icf-debug Generate debug information to support Identical
  1713. Code Folding (ICF)
  1714. -fexcess-precision=[fast|standard] Specify handling of excess floating-point
  1715. precision
  1716. -ffast-math This switch lacks documentation
  1717. -ffixed-<register> Mark <register> as being unavailable to the
  1718. compiler
  1719. -fforce-addr Does nothing. Preserved for backward
  1720. compatibility.
  1721. -ffp-contract= -ffp-contract=[off|on|fast] Perform floating-
  1722. point expression contraction.
  1723. -ffunction-cse Allow function addresses to be held in registers
  1724. -ffunction-sections Place each function into its own section
  1725. -fgraphite Enable in and out of Graphite representation
  1726. -fhelp This switch lacks documentation
  1727. -fhelp= This switch lacks documentation
  1728. -fident Process #ident directives
  1729. -findirect-inlining Perform indirect inlining
  1730. -finhibit-size-directive Do not generate .size directives
  1731. -finline Pay attention to the "inline" keyword
  1732. -finline-limit- This switch lacks documentation
  1733. -finline-limit=<number> Limit the size of inlined functions to <number>
  1734. -finstrument-functions Instrument function entry and exit with profiling
  1735. calls
  1736. -finstrument-functions-exclude-file-list= -finstrument-functions-exclude-file-
  1737. list=filename,... Do not instrument functions
  1738. listed in files
  1739. -finstrument-functions-exclude-function-list= -finstrument-functions-exclude-
  1740. function-list=name,... Do not instrument listed
  1741. functions
  1742. -fipa-struct-reorg Perform structure layout optimizations based on
  1743. profiling information.
  1744. -fira-algorithm= -fira-algorithm=[CB|priority] Set the used IRA
  1745. algorithm
  1746. -fira-loop-pressure Use IRA based register pressure calculation in
  1747. RTL loop optimizations.
  1748. -fira-region= -fira-region=[one|all|mixed] Set regions for IRA
  1749. -fira-share-save-slots Share slots for saving different hard registers.
  1750. -fira-share-spill-slots Share stack slots for spilled pseudo-registers.
  1751. -fira-verbose=<number> Control IRA's level of diagnostic messages.
  1752. -fkeep-inline-functions Generate code for functions even if they are
  1753. fully inlined
  1754. -fkeep-static-consts Emit static const variables even if they are not
  1755. used
  1756. -fleading-underscore Give external symbols a leading underscore
  1757. -floop-optimize Does nothing. Preserved for backward
  1758. compatibility.
  1759. -flto Enable link-time optimization.
  1760. -flto-compression-level=<number> Use zlib compression level <number> for IL
  1761. -flto-partition=1to1 Partition functions and vars at linktime based on
  1762. object files they originate from
  1763. -flto-partition=balanced Partition functions and vars at linktime into
  1764. approximately same sized buckets
  1765. -flto-partition=none Disable partioning and streaming
  1766. -flto= Link-time optimization with number of parallel
  1767. jobs or jobserver.
  1768. -fmax-errors=<number> Maximum number of errors to report
  1769. -fmem-report Report on permanent memory allocation
  1770. -fmerge-debug-strings Attempt to merge identical debug strings across
  1771. compilation units
  1772. -fmessage-length=<number> Limit diagnostics to <number> characters per
  1773. line. 0 suppresses line-wrapping
  1774. -fmodulo-sched-allow-regmoves Perform SMS based modulo scheduling with
  1775. register moves allowed
  1776. -fmudflap Add mudflap bounds-checking instrumentation for
  1777. single-threaded program
  1778. -fmudflapir Ignore read operations when inserting mudflap
  1779. instrumentation
  1780. -fmudflapth Add mudflap bounds-checking instrumentation for
  1781. multi-threaded program
  1782. -fpartial-inlining Perform partial inlining
  1783. -fpcc-struct-return Return small aggregates in memory, not registers
  1784. -fpic Generate position-independent code if possible
  1785. (small mode)
  1786. -fpie Generate position-independent code for
  1787. executables if possible (small mode)
  1788. -fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin
  1789. <name>
  1790. -fplugin= Specify a plugin to load
  1791. -fpost-ipa-mem-report Report on memory allocation before
  1792. interprocedural optimization
  1793. -fpre-ipa-mem-report Report on memory allocation before
  1794. interprocedural optimization
  1795. -fprofile Enable basic program profiling code
  1796. -fprofile-arcs Insert arc-based program profiling code
  1797. -fprofile-correction Enable correction of flow inconsistent profile
  1798. data input
  1799. -fprofile-dir= Set the top-level directory for storing the
  1800. profile data. The default is 'pwd'.
  1801. -fprofile-generate Enable common options for generating profile info
  1802. for profile feedback directed optimizations
  1803. -fprofile-generate= Enable common options for generating profile info
  1804. for profile feedback directed optimizations, and
  1805. set -fprofile-dir=
  1806. -fprofile-use Enable common options for performing profile
  1807. feedback directed optimizations
  1808. -fprofile-use= Enable common options for performing profile
  1809. feedback directed optimizations, and set
  1810. -fprofile-dir=
  1811. -fprofile-values Insert code to profile values of expressions
  1812. -frandom-seed This switch lacks documentation
  1813. -frandom-seed=<string> Make compile reproducible using <string>
  1814. -freciprocal-math Same as -fassociative-math for expressions which
  1815. include division.
  1816. -frecord-gcc-switches Record gcc command line switches in the object
  1817. file.
  1818. -frerun-loop-opt Does nothing. Preserved for backward
  1819. compatibility.
  1820. -fsched-stalled-insns-dep=<number> Set dependence distance checking in
  1821. premature scheduling of queued insns
  1822. -fsched-stalled-insns=<number> Set number of queued insns that can be
  1823. prematurely scheduled
  1824. -fsched-verbose=<number> Set the verbosity level of the scheduler
  1825. -fsched2-use-traces Does nothing. Preserved for backward
  1826. compatibility.
  1827. -fsee Does nothing. Preserved for backward
  1828. compatibility.
  1829. -fshow-column Show column numbers in diagnostics, when
  1830. available. Default on
  1831. -fsplit-stack Generate discontiguous stack frames
  1832. -fstack-check Insert stack checking code into the program.
  1833. Same as -fstack-check=specific
  1834. -fstack-check=[no|generic|specific] Insert stack checking code into the
  1835. program
  1836. -fstack-limit This switch lacks documentation
  1837. -fstack-limit-register=<register> Trap if the stack goes past <register>
  1838. -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
  1839. -fstack-protector Use propolice as a stack protection method
  1840. -fstack-protector-all Use a stack protection method for every function
  1841. -fstack-usage Output stack usage information on a per-function
  1842. basis
  1843. -fstrength-reduce Does nothing. Preserved for backward
  1844. compatibility.
  1845. -fstrict-overflow Treat signed overflow as undefined
  1846. -fstrict-volatile-bitfields Force bitfield accesses to match their type width
  1847. -fsyntax-only Check for syntax errors, then stop
  1848. -ftarget-help This switch lacks documentation
  1849. -ftest-coverage Create data files needed by "gcov"
  1850. -ftime-report Report the time taken by each compiler pass
  1851. -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the
  1852. default thread-local storage code generation model
  1853. -ftracer Perform superblock formation via tail duplication
  1854. -ftree-loop-linear Enable loop interchange transforms. Same as
  1855. -floop-interchange
  1856. -ftree-parallelize-loops= Enable automatic parallelization of loops
  1857. -ftree-salias Does nothing. Preserved for backward
  1858. compatibility.
  1859. -ftree-store-ccp Does nothing. Preserved for backward
  1860. compatibility.
  1861. -ftree-store-copy-prop Does nothing. Preserved for backward
  1862. compatibility.
  1863. -ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
  1864. -fuse-linker-plugin This switch lacks documentation
  1865. -fverbose-asm Add extra commentary to assembler output
  1866. -fversion This switch lacks documentation
  1867. -fvisibility=[default|internal|hidden|protected] Set the default symbol
  1868. visibility
  1869. -fzee Eliminate redundant zero extensions on targets
  1870. that support implicit extensions.
  1871. -fzero-initialized-in-bss Put zero initialized data in the bss section
  1872. -g Generate debug information in default format
  1873. -gcoff Generate debug information in COFF format
  1874. -gdwarf- Generate debug information in DWARF v2 (or later)
  1875. format
  1876. -ggdb Generate debug information in default extended
  1877. format
  1878. -gno-strict-dwarf Emit DWARF additions beyond selected version
  1879. -gstabs Generate debug information in STABS format
  1880. -gstabs+ Generate debug information in extended STABS
  1881. format
  1882. -gstrict-dwarf Don't emit DWARF additions beyond selected version
  1883. -gtoggle Toggle debug information generation
  1884. -gvms Generate debug information in VMS format
  1885. -gxcoff Generate debug information in XCOFF format
  1886. -gxcoff+ Generate debug information in extended XCOFF
  1887. format
  1888. -iplugindir=<dir> Set <dir> to be the default plugin directory
  1889. -p Enable function profiling
  1890. -pie Create a position independent executable
  1891. -quiet Do not display functions compiled or elapsed time
  1892. -shared Create a shared library
  1893.  
  1894. GNU C (GCC) version 4.6.3 (sparc-sun-solaris2.10)
  1895. compiled by GNU C version 4.6.3, GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9
  1896. warning: GMP header version 5.0.2 differs from library version 5.0.4.
  1897. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
  1898. COLLECT_GCC_OPTIONS='-v' '--help' '-mcpu=v8'
  1899.  
  1900. /opt/csw/bin/gas -v -V -Qy -s -xarch=v8 --help -o /var/tmp//ccmKSTlp.o /var/tmp//ccwSYPde.s
  1901. GNU assembler version 2.21.1 (sparc-sun-solaris2.9) using BFD version (GNU Binutils) 2.21.1
  1902. Usage: /opt/csw/bin/gas [option...] [asmfile...]
  1903. Options:
  1904. -a[sub-option...] turn on listings
  1905. Sub-options [default hls]:
  1906. c omit false conditionals
  1907. d omit debugging directives
  1908. g include general info
  1909. h include high-level source
  1910. l include assembly
  1911. m include macro expansions
  1912. n omit forms processing
  1913. s include symbols
  1914. =FILE list to FILE (must be last sub-option)
  1915. --alternate initially turn on alternate macro syntax
  1916. --compress-debug-sections
  1917. compress DWARF debug sections using zlib
  1918. --nocompress-debug-sections
  1919. don't compress DWARF debug sections
  1920. -D produce assembler debugging messages
  1921. --debug-prefix-map OLD=NEW
  1922. map OLD to NEW in debug information
  1923. --defsym SYM=VAL define symbol SYM to given value
  1924. --execstack require executable stack for this object
  1925. --noexecstack don't require executable stack for this object
  1926. --size-check=[error|warning]
  1927. ELF .size directive check (default --size-check=error)
  1928. -f skip whitespace and comment preprocessing
  1929. -g --gen-debug generate debugging information
  1930. --gstabs generate STABS debugging information
  1931. --gstabs+ generate STABS debug info with GNU extensions
  1932. --gdwarf-2 generate DWARF2 debugging information
  1933. --hash-size=<value> set the hash table size close to <value>
  1934. --help show this message and exit
  1935. --target-help show target specific options
  1936. -I DIR add DIR to search list for .include directives
  1937. -J don't warn about signed overflow
  1938. -K warn when differences altered for long displacements
  1939. -L,--keep-locals keep local symbols (e.g. starting with `L')
  1940. -M,--mri assemble in MRI compatibility mode
  1941. --MD FILE write dependency information in FILE (default none)
  1942. -nocpp ignored
  1943. -o OBJFILE name the object-file output OBJFILE (default a.out)
  1944. -R fold data section into text section
  1945. --reduce-memory-overheads
  1946. prefer smaller memory use at the cost of longer
  1947. assembly times
  1948. --statistics print various measured statistics from execution
  1949. --strip-local-absolute strip local absolute symbols
  1950. --traditional-format Use same format as native assembler when possible
  1951. --version print assembler version number and exit
  1952. -W --no-warn suppress warnings
  1953. --warn don't suppress warnings
  1954. --fatal-warnings treat warnings as errors
  1955. -w ignored
  1956. -X ignored
  1957. -Z generate object file even after errors
  1958. --listing-lhs-width set the width in words of the output data column of
  1959. the listing
  1960. --listing-lhs-width2 set the width in words of the continuation lines
  1961. of the output data column; ignored if smaller than
  1962. the width of the first line
  1963. --listing-rhs-width set the max width in characters of the lines from
  1964. the source file
  1965. --listing-cont-lines set the maximum number of continuation lines used
  1966. for the output data column of the listing
  1967. @FILE read options from FILE
  1968. SPARC options:
  1969. -Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite | -Asparc86x |
  1970. -Av8plus | -Av8plusa | -Av8plusb | -Av9 | -Av9a | -Av9b |
  1971. -xarch=v6 | -xarch=v7 | -xarch=v8 | -xarch=sparclet |
  1972. -xarch=sparclite | -xarch=sparc86x | -xarch=v8plus |
  1973. -xarch=v8plusa | -xarch=v8plusb | -xarch=v9 | -xarch=v9a |
  1974. -xarch=v9b
  1975. specify variant of SPARC architecture
  1976. -bump warn when assembler switches architectures
  1977. -sparc ignored
  1978. --enforce-aligned-data force .long, etc., to be aligned correctly
  1979. -relax relax jumps and branches (default)
  1980. -no-relax avoid changing any jumps and branches
  1981. -32 create 32 bit object file
  1982. -64 create 64 bit object file
  1983. [default is 32]
  1984. -TSO use Total Store Ordering
  1985. -PSO use Partial Store Ordering
  1986. -RMO use Relaxed Memory Ordering
  1987. [default is TSO]
  1988. -KPIC generate PIC
  1989. -V print assembler version number
  1990. -undeclared-regs ignore application global register usage without
  1991. appropriate .register directive (default)
  1992. -no-undeclared-regs force error on application global register usage
  1993. without appropriate .register directive
  1994. -q ignored
  1995. -Qy, -Qn ignored
  1996. -s ignored
  1997. -EL generate code for a little endian machine
  1998. -EB generate code for a big endian machine
  1999. --little-endian-data generate code for a machine having big endian
  2000. instructions and little endian data.
  2001.  
  2002. Report bugs to <http://www.sourceware.org/bugzilla/>
  2003. COMPILER_PATH=/opt/csw/libexec/gcc/sparc-sun-solaris2.10/4.6.3/:/opt/csw/libexec/gcc/sparc-sun-solaris2.10/4.6.3/:/opt/csw/libexec/gcc/sparc-sun-solaris2.10/:/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/:/opt/csw/lib/gcc/sparc-sun-solaris2.10/:/usr/ccs/bin/
  2004. LIBRARY_PATH=/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/:/usr/ccs/lib/:/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/../../../:/lib/:/usr/lib/
  2005. COLLECT_GCC_OPTIONS='-v' '--help' '-mcpu=v8'
  2006.  
  2007. /usr/ccs/bin/ld -V -Y P,/usr/ccs/lib:/usr/lib -Qy --help /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/crt1.o /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/crti.o /usr/ccs/lib/values-Xa.o /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/crtbegin.o -L/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3 -L/usr/ccs/lib -L/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/../../.. /var/tmp//ccmKSTlp.o -lgcc -lgcc_eh -lc -R /opt/csw/lib -lgcc -lgcc_eh -lc -R /opt/csw/lib /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/crtend.o /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/crtn.o
  2008. ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.1514
  2009. usage: ld [-3:6:abc:d:e:f:h:il:mo:p:rstu:z:B:CD:F:GI:L:M:N:P:Q:R:S:VW:Y:?] file(s)
  2010. [-32 | -64] enforce a 32/64-bit link-edit
  2011. [-a] create an absolute object
  2012. [-b] do not do special PIC relocations in a.out
  2013. [-B direct | nodirect]
  2014. establish direct bindings, or inhibit direct binding to,
  2015. the object being created
  2016. [-B dynamic | static]
  2017. search for shared libraries|archives
  2018. [-B eliminate[=mode] | local[=mode]]
  2019. eliminate, or reduce to local visibility, any global symbols that default to global binding
  2020. [-B group] relocate object from within group
  2021. [-B reduce] process symbol reductions
  2022. [-B symbolic] bind external references to definitions when creating
  2023. shared objects
  2024. [-c name] record configuration file 'name'
  2025. [-C] demangle C++ symbol name diagnostics
  2026. [-d y | n] operate in dynamic|static mode
  2027. [-D [!]token1,[!]token2,...]
  2028. print diagnostic messages
  2029. [-e epsym], [--entry epsym]
  2030. use 'epsym' as entry point address
  2031. [-f name], [--auxiliary name]
  2032. specify library for which the object being created is
  2033. an auxiliary filter
  2034. [-F name], [--filter name]
  2035. specify library for which the object being created is
  2036. a standard filter
  2037. [-G], [-shared] create a shared object
  2038. [-h name], [--soname name]
  2039. use 'name' as internal shared object identifier
  2040. [-i] ignore LD_LIBRARY_PATH setting
  2041. [-I name] use 'name' as path of interpreter
  2042. [-l x], [--library x]
  2043. search for libx.so or libx.a
  2044. [-L path], [--library-path path]
  2045. search for libraries in directory 'path'
  2046. [-m] print memory map
  2047. [-M mapfile] use processing directives contained in 'mapfile'
  2048. [-N string] create a dynamic dependency for 'string'
  2049. [-o outfile], [--output outfile]
  2050. name the output file 'outfile'
  2051. [-p auditlib] identify audit library to accompany this object
  2052. [-P auditlib] identify audit library for processing the dependencies
  2053. of this object
  2054. [-Q y | n] do|do-not place version information in output file
  2055. [-r], [--relocatable]
  2056. create a relocatable object
  2057. [-R path], [-rpath path]
  2058. specify a library search path to be used at run time
  2059. [-s], [--strip-all]
  2060. strip any symbol and debugging information
  2061. [-S supportlib] specify a link-edit support library
  2062. [-t] do not warn of multiply-defined symbols that have
  2063. different sizes or alignments
  2064. [-u symname], [--undefined symname]
  2065. create an undefined symbol 'symname'
  2066. [-V], [--version]
  2067. print version information
  2068. [-Y P,dirlist] use 'dirlist' as a default path when searching for
  2069. libraries
  2070. [-z absexec] when building an executable, absolute symbols
  2071. referenced in dynamic objects are promoted to
  2072. the executable
  2073. [-z allextract | defaultextract | weakextract],
  2074. [--whole-archive | --no-whole-archive]
  2075. extract all member files, only members that resolve
  2076. undefined or tentative symbols, or allow extraction of
  2077. archive members to resolve weak references from archive
  2078.  
  2079. iles
  2080. [-z altexec64] execute the 64-bit link-editor
  2081. [-z combreloc | nocombreloc]
  2082. combine|do not combine multiple relocation sections
  2083. [-z deferred | nodeferred]
  2084. enable|disable deferred identification of shared object
  2085. dependencies
  2086. [-z defs], [--no-undefined]
  2087. disallow undefined symbol references
  2088. [-z direct | nodirect]
  2089. enable|disable direct binding to shared object
  2090. dependencies
  2091. [-z discard-unused=item1,item2,...]
  2092. discard unused items
  2093. [-z endfiltee] marks a filtee such that it will terminate a filters
  2094. search
  2095. [-z fatal-warnings | nofatal-warnings],
  2096. [--fatal-warnings | --no-fatal-warnings]
  2097. enable|disable treatment of warnings as fatal
  2098. [-z finiarray=function]
  2099. name of function to be appended to the .fini_array
  2100. [-z groupperm | nogroupperm]
  2101. enable|disable setting of group permissions on
  2102. dynamic
  2103. dependencies
  2104. [-z guidance[=item1,item2,...]]
  2105. enable guidance warnings
  2106. [-z help], [--help]
  2107. print this usage message
  2108. [-z ignore | record]
  2109. ignore|record unused dynamic dependencies
  2110. [-z initarray=function]
  2111. name of function to be appended to the .init_array
  2112. [-z initfirst] mark object to indicate that its .init section should
  2113. be executed before the .init section of any other
  2114. objects
  2115. [-z interpose] dynamic object is to be an 'interposer' on direct
  2116. bindings
  2117. [-z lazyload | nolazyload]
  2118. enable|disable delayed loading of shared object
  2119. dependencies
  2120. [-z ld32=arg1,arg2,...]
  2121. define arguments applicable to the 32-bit class of ld(1)
  2122. [-z ld64=arg1,arg2,...]
  2123. define arguments applicable to the 64-bit class of ld(1)
  2124. [-z loadfltr] mark filter as requiring immediate loading of its
  2125. filtees at runtime
  2126. [-z muldefs], [--allow-multiple-definition]
  2127. allow multiply-defined symbols
  2128. [-z nocompstrtab]
  2129. disable compression of string tables and
  2130. comment sections
  2131. [-z nodefs] allow undefined symbol references
  2132. [-z nodefaultlib]
  2133. mark object to ignore any default library search path
  2134. [-z nodelete] mark object as non-deletable
  2135. [-z nodlopen] mark object as non-dlopen()'able
  2136. [-z nodump] mark object as non-dldump()'able
  2137. [-z noldynsym] do not add a .SUNW_ldynsym section
  2138. [-z now] mark object as requiring non-lazy binding
  2139. [-z nopartial] expand any partially initialized symbols
  2140. [-z noversion] do not record any version sections
  2141. [-z origin] mark object as requiring $ORIGIN processing
  2142. [-z preinitarray=function]
  2143. name of function to be appended to the .preinit_array
  2144. [-z redlocsym] reduce local symbols in .symtab to a minimum
  2145. [-z relaxreloc] relax rules used for relocations against COMDAT sections
  2146. [-z rescan] after processing all arguments, rescan archive list
  2147. until no further member extraction occurs
  2148. [-z rescan-now] immediately rescan archive list until no further
  2149. member extraction occurs
  2150. [-z rescan-start archives... -z rescan-end],
  2151. [--start-group archives... --end-group], [-( archives... -)]
  2152. rescan specified archive group upon reaching
  2153. the end of
  2154. the group, until no furthermember extraction occurs
  2155. [-z strip-class=[!]class1,[!]class2,...]
  2156. strip a specific class of data
  2157. [-z stub] produce a stub object
  2158. [-z symbolcap] convert object capabilities to symbol capabilities
  2159. [-z target=platform]
  2160. target machine for cross linking
  2161. [-z text | textoff | textwarn]
  2162. disallow|allow|warn if output relocations remain against
  2163. text
  2164. [-z verbose] generate warnings for suspicious processings
  2165. [-z wrap=symbol], [-wrap=symbol], [--wrap=symbol]
  2166. wrap symbol references
  2167.  
  2168. For bug reporting instructions, please see:
  2169. <http://gcc.gnu.org/bugs.html>
  2170. bash-3.2$ gcc -v /dev/null
  2171. Reading specs from /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/specs
  2172. COLLECT_GCC=gcc
  2173. COLLECT_LTO_WRAPPER=/opt/csw/libexec/gcc/sparc-sun-solaris2.10/4.6.3/lto-wrapper
  2174. Target: sparc-sun-solaris2.10
  2175. Configured with: /home/maciej/src/opencsw/pkg/gcc4/trunk/work/solaris10-sparc/build-isa-sparcv8plus/gcc-4.6.3/configure --program-suffix=-4.6 --prefix=/opt/csw --exec_prefix=/opt/csw --bindir=/opt/csw/bin --sbindir=/opt/csw/sbin --libexecdir=/opt/csw/libexec --datadir=/opt/csw/share --sysconfdir=/etc/opt/csw --sharedstatedir=/opt/csw/share --localstatedir=/var/opt/csw --libdir=/opt/csw/lib --infodir=/opt/csw/share/info --includedir=/opt/csw/include --mandir=/opt/csw/share/man --with-gnu-as --with-as=/opt/csw/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-nls --with-included-gettext --with-libiconv-prefix=/opt/csw --with-x --with-mpfr=/opt/csw --with-gmp=/opt/csw --with-ppl=/opt/csw --with-cloog=/opt/csw --enable-cloog-backend=isl --enable-java-awt=xlib --enable-libada --enable-libssp --enable-objc-gc --enable-threads=posix --enable-languages=ada,c,c++,fortran,java,objc --with-system-zlib=/opt/csw --with-cpu=v8
  2176. Thread model: posix
  2177. gcc version 4.6.3 (GCC)
  2178. COMPILER_PATH=/opt/csw/libexec/gcc/sparc-sun-solaris2.10/4.6.3/:/opt/csw/libexec/gcc/sparc-sun-solaris2.10/4.6.3/:/opt/csw/libexec/gcc/sparc-sun-solaris2.10/:/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/:/opt/csw/lib/gcc/sparc-sun-solaris2.10/:/usr/ccs/bin/
  2179. LIBRARY_PATH=/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/:/usr/ccs/lib/:/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/../../../:/lib/:/usr/lib/
  2180. COLLECT_GCC_OPTIONS='-v' '-mcpu=v8'
  2181. /usr/ccs/bin/ld -V -Y P,/usr/ccs/lib:/usr/lib -Qy /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/crt1.o /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/crti.o /usr/ccs/lib/values-Xa.o /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/crtbegin.o -L/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3 -L/usr/ccs/lib -L/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/../../.. /dev/null -lgcc -lgcc_eh -lc -R /opt/csw/lib -lgcc -lgcc_eh -lc -R /opt/csw/lib /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/crtend.o /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.6.3/crtn.o
  2182. ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.1514
  2183. ld: fatal: file /dev/null: unknown file type
  2184. ld: fatal: file processing errors. No output written to a.out
Add Comment
Please, Sign In to add comment