common.opt 80 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864
  1. ; Options for the language- and target-independent parts of the compiler.
  2. ; Copyright (C) 2003-2015 Free Software Foundation, Inc.
  3. ;
  4. ; This file is part of GCC.
  5. ;
  6. ; GCC is free software; you can redistribute it and/or modify it under
  7. ; the terms of the GNU General Public License as published by the Free
  8. ; Software Foundation; either version 3, or (at your option) any later
  9. ; version.
  10. ;
  11. ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  12. ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13. ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  14. ; for more details.
  15. ;
  16. ; You should have received a copy of the GNU General Public License
  17. ; along with GCC; see the file COPYING3. If not see
  18. ; <http://www.gnu.org/licenses/>.
  19. ; See the GCC internals manual (options.texi) for a description of this file's format.
  20. ; Please try to keep this file in ASCII collating order.
  21. Variable
  22. int target_flags
  23. Variable
  24. int optimize
  25. Variable
  26. int optimize_size
  27. Variable
  28. int optimize_debug
  29. ; Not used directly to control optimizations, only to save -Ofast
  30. ; setting for "optimize" attributes.
  31. Variable
  32. int optimize_fast
  33. ; True if this is the lto front end. This is used to disable gimple
  34. ; generation and lowering passes that are normally run on the output
  35. ; of a front end. These passes must be bypassed for lto since they
  36. ; have already been done before the gimple was written.
  37. Variable
  38. bool in_lto_p = false
  39. ; 0 means straightforward implementation of complex divide acceptable.
  40. ; 1 means wide ranges of inputs must work for complex divide.
  41. ; 2 means C99-like requirements for complex multiply and divide.
  42. Variable
  43. int flag_complex_method = 1
  44. ; Nonzero if subexpressions must be evaluated from left-to-right.
  45. Variable
  46. int flag_evaluation_order = 0
  47. ; Language specific warning pass for unused results.
  48. Variable
  49. bool flag_warn_unused_result = false
  50. Variable
  51. int *param_values
  52. ; Nonzero if we should write GIMPLE bytecode for link-time optimization.
  53. Variable
  54. int flag_generate_lto
  55. ; Nonzero if we should write GIMPLE bytecode for offload compilation.
  56. Variable
  57. int flag_generate_offload = 0
  58. ; True to warn about any objects definitions whose size is larger
  59. ; than N bytes. Also want about function definitions whose returned
  60. ; values are larger than N bytes, where N is 'larger_than_size'.
  61. Variable
  62. bool warn_larger_than
  63. Variable
  64. HOST_WIDE_INT larger_than_size
  65. ; True to warn about any function whose frame size is larger
  66. ; than N bytes.
  67. Variable
  68. bool warn_frame_larger_than
  69. Variable
  70. HOST_WIDE_INT frame_larger_than_size
  71. ; Nonzero means we should be saving declaration info into a .X file.
  72. Variable
  73. int flag_gen_aux_info = 0
  74. ; Nonzero if we are compiling code for a shared library, zero for
  75. ; executable.
  76. Variable
  77. int flag_shlib
  78. ; These two are really VEC(char_p,heap) *.
  79. Variable
  80. void *flag_instrument_functions_exclude_functions
  81. Variable
  82. void *flag_instrument_functions_exclude_files
  83. ; Generic structs (e.g. templates not explicitly specialized)
  84. ; may not have a compilation unit associated with them, and so
  85. ; may need to be treated differently from ordinary structs.
  86. ;
  87. ; Structs only handled by reference (indirectly), will also usually
  88. ; not need as much debugging information.
  89. Variable
  90. enum debug_struct_file debug_struct_ordinary[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
  91. Variable
  92. enum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
  93. ; True if we should exit after parsing options.
  94. Variable
  95. bool exit_after_options
  96. ; Type(s) of debugging information we are producing (if any). See
  97. ; flag-types.h for the definitions of the different possible types of
  98. ; debugging information.
  99. Variable
  100. enum debug_info_type write_symbols = NO_DEBUG
  101. ; Level of debugging information we are producing. See flag-types.h
  102. ; for the definitions of the different possible levels.
  103. Variable
  104. enum debug_info_levels debug_info_level = DINFO_LEVEL_NONE
  105. ; Nonzero means use GNU-only extensions in the generated symbolic
  106. ; debugging information. Currently, this only has an effect when
  107. ; write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG.
  108. Variable
  109. bool use_gnu_debug_info_extensions
  110. ; Original value of maximum field alignment in bytes, specified via
  111. ; -fpack-struct=<value>.
  112. Variable
  113. unsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCT
  114. ; Type of stack check.
  115. Variable
  116. enum stack_check_type flag_stack_check = NO_STACK_CHECK
  117. ; True if stack usage information needs to be computed.
  118. Variable
  119. bool flag_stack_usage_info = false
  120. ; -dA causes debug commentary information to be produced in
  121. ; the generated assembly code (to make it more readable). This option
  122. ; is generally only of use to those who actually need to read the
  123. ; generated assembly code (perhaps while debugging the compiler itself).
  124. ; Currently, this switch is only used by dwarf2out.c; however, it is intended
  125. ; to be a catchall for printing debug information in the assembler file.
  126. Variable
  127. int flag_debug_asm
  128. ; -dP causes the rtl to be emitted as a comment in assembly.
  129. Variable
  130. int flag_dump_rtl_in_asm
  131. ; Whether -da was passed (used only in handle_common_deferred_options).
  132. Variable
  133. bool flag_dump_all_passed
  134. ; Other flags saying which kinds of debugging dump have been requested.
  135. Variable
  136. int rtl_dump_and_exit
  137. Variable
  138. int flag_print_asm_name
  139. ; Name of top-level original source file (what was input to cpp).
  140. ; This comes from the #-command at the beginning of the actual input.
  141. ; If there isn't any there, then this is the cc1 input file name.
  142. Variable
  143. const char *main_input_filename
  144. ; Pointer to base name in main_input_filename, with directories and a
  145. ; single final extension removed, and the length of this base
  146. ; name.
  147. Variable
  148. const char *main_input_basename
  149. Variable
  150. int main_input_baselength
  151. ; Which options have been printed by --help.
  152. Variable
  153. char *help_printed
  154. ; Which enums have been printed by --help. 0 = not printed, no
  155. ; relevant options seen, 1 = relevant option seen, not yet printed, 2
  156. ; = printed.
  157. Variable
  158. char *help_enum_printed
  159. ; The number of columns for --help output.
  160. Variable
  161. unsigned int help_columns
  162. ; Whether this options structure has been through finish_options
  163. Variable
  164. bool flag_opts_finished
  165. ; What the sanitizer should instrument
  166. Variable
  167. unsigned int flag_sanitize
  168. ; What sanitizers should recover from errors
  169. Variable
  170. unsigned int flag_sanitize_recover = SANITIZE_UNDEFINED | SANITIZE_NONDEFAULT | SANITIZE_KERNEL_ADDRESS
  171. ; Flag whether a prefix has been added to dump_base_name
  172. Variable
  173. bool dump_base_name_prefixed = false
  174. ###
  175. Driver
  176. -assemble
  177. Driver Alias(S)
  178. -compile
  179. Driver Alias(c)
  180. -coverage
  181. Driver Alias(coverage)
  182. -debug
  183. Common Alias(g)
  184. -dump
  185. Common Separate Alias(d)
  186. -dump=
  187. Common Joined Alias(d)
  188. -dumpbase
  189. Common Separate Alias(dumpbase)
  190. -dumpdir
  191. Common Separate Alias(dumpdir)
  192. -entry
  193. Driver Separate Alias(e)
  194. -entry=
  195. Driver Joined Alias(e)
  196. -extra-warnings
  197. Common Warning Alias(Wextra)
  198. -for-assembler
  199. Driver Separate Alias(Xassembler)
  200. -for-assembler=
  201. Driver JoinedOrMissing Alias(Xassembler)
  202. -for-linker
  203. Driver Separate Alias(Xlinker)
  204. -for-linker=
  205. Driver JoinedOrMissing Alias(Xlinker)
  206. -force-link
  207. Driver Separate Alias(u)
  208. -force-link=
  209. Driver Joined Alias(u)
  210. -help
  211. Common Driver Var(help_flag)
  212. Display this information
  213. -help=
  214. Common Driver Report Joined
  215. --help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params
  216. -language
  217. Driver Separate Alias(x)
  218. -language=
  219. Driver Joined Alias(x)
  220. -library-directory
  221. Driver Separate Alias(L)
  222. -library-directory=
  223. Driver Joined Alias(L)
  224. -no-canonical-prefixes
  225. Driver Alias(no-canonical-prefixes)
  226. -no-standard-libraries
  227. Driver Alias(nostdlib)
  228. -no-sysroot-suffix
  229. Driver Var(no_sysroot_suffix)
  230. -no-warnings
  231. Common Alias(w)
  232. -optimize
  233. Common Alias(O)
  234. -output
  235. Common Driver Separate Alias(o) MissingArgError(missing filename after %qs)
  236. -output=
  237. Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)
  238. -pass-exit-codes
  239. Driver Alias(pass-exit-codes)
  240. -pedantic
  241. Common Alias(Wpedantic)
  242. -pedantic-errors
  243. Common Alias(pedantic-errors)
  244. -pie
  245. Driver Alias(pie)
  246. -pipe
  247. Driver Alias(pipe)
  248. -prefix
  249. Driver Separate Alias(B)
  250. -prefix=
  251. Driver JoinedOrMissing Alias(B)
  252. -preprocess
  253. Driver Alias(E)
  254. -print-file-name
  255. Driver Separate Alias(print-file-name=)
  256. -print-file-name=
  257. Driver JoinedOrMissing Alias(print-file-name=)
  258. -print-libgcc-file-name
  259. Driver Alias(print-libgcc-file-name)
  260. -print-multi-directory
  261. Driver Alias(print-multi-directory)
  262. -print-multi-lib
  263. Driver Alias(print-multi-lib)
  264. -print-multi-os-directory
  265. Driver Alias(print-multi-os-directory)
  266. -print-multiarch
  267. Driver Alias(print-multiarch)
  268. -print-prog-name
  269. Driver Separate Alias(print-prog-name=)
  270. -print-prog-name=
  271. Driver JoinedOrMissing Alias(print-prog-name=)
  272. -print-search-dirs
  273. Driver Alias(print-search-dirs)
  274. -print-sysroot
  275. Driver Alias(print-sysroot)
  276. -print-sysroot-headers-suffix
  277. Driver Alias(print-sysroot-headers-suffix)
  278. -profile
  279. Common Alias(p)
  280. -save-temps
  281. Driver Alias(save-temps)
  282. -shared
  283. Driver Alias(shared)
  284. -specs
  285. Driver Separate Alias(specs=)
  286. -specs=
  287. Driver Joined Alias(specs=)
  288. -static
  289. Driver Alias(static)
  290. -symbolic
  291. Driver Alias(symbolic)
  292. -target-help
  293. Common Driver
  294. Alias for --help=target
  295. -time
  296. Driver Alias(time)
  297. -verbose
  298. Driver Alias(v)
  299. ;; The driver used to convert options such as --help into forms such
  300. ;; as -fhelp; the following four entries are for compatibility with
  301. ;; any direct uses of those (undocumented) -f forms
  302. fhelp
  303. Common Driver Alias(-help)
  304. fhelp=
  305. Common Driver Joined Alias(-help=)
  306. ftarget-help
  307. Common Driver Alias(-target-help)
  308. fversion
  309. Common Driver Alias(-version)
  310. -param
  311. Common Separate
  312. --param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters
  313. -param=
  314. Common Joined Alias(-param)
  315. -sysroot
  316. Driver Separate Alias(-sysroot=)
  317. -sysroot=
  318. Driver JoinedOrMissing
  319. -version
  320. Common Driver
  321. B
  322. Driver Joined Separate
  323. E
  324. Driver
  325. L
  326. Driver Joined Separate
  327. N
  328. Driver
  329. O
  330. Common JoinedOrMissing Optimization
  331. -O<number> Set optimization level to <number>
  332. Os
  333. Common Optimization
  334. Optimize for space rather than speed
  335. Ofast
  336. Common Optimization
  337. Optimize for speed disregarding exact standards compliance
  338. Og
  339. Common Optimization
  340. Optimize for debugging experience rather than speed or size
  341. Q
  342. Driver
  343. Qn
  344. Driver Negative(Qy)
  345. Qy
  346. Driver Negative(Qn)
  347. R
  348. Driver Joined Separate
  349. S
  350. Driver
  351. T
  352. Driver Joined Separate
  353. Tbss
  354. Driver Separate
  355. Tbss=
  356. Driver Joined
  357. Tdata
  358. Driver Separate
  359. Tdata=
  360. Driver Joined
  361. Ttext
  362. Driver Separate
  363. Ttext=
  364. Driver Joined
  365. W
  366. Common RejectNegative Warning Alias(Wextra)
  367. This switch is deprecated; use -Wextra instead
  368. Wa,
  369. Driver JoinedOrMissing
  370. Wl,
  371. Driver JoinedOrMissing
  372. Wp,
  373. Driver JoinedOrMissing
  374. Waggregate-return
  375. Common Var(warn_aggregate_return) Warning
  376. Warn about returning structures, unions or arrays
  377. Waggressive-loop-optimizations
  378. Common Var(warn_aggressive_loop_optimizations) Init(1) Warning
  379. Warn if a loop with constant number of iterations triggers undefined behavior
  380. Warray-bounds
  381. Common Var(warn_array_bounds) Warning
  382. Warn if an array is accessed out of bounds
  383. Warray-bounds=
  384. Common Joined RejectNegative UInteger Var(warn_array_bounds) Warning
  385. Warn if an array is accessed out of bounds
  386. Wattributes
  387. Common Var(warn_attributes) Init(1) Warning
  388. Warn about inappropriate attribute usage
  389. Wcast-align
  390. Common Var(warn_cast_align) Warning
  391. Warn about pointer casts which increase alignment
  392. Wcpp
  393. Common Var(warn_cpp) Init(1) Warning
  394. Warn when a #warning directive is encountered
  395. Wdeprecated-declarations
  396. Common Var(warn_deprecated_decl) Init(1) Warning
  397. Warn about uses of __attribute__((deprecated)) declarations
  398. Wdisabled-optimization
  399. Common Var(warn_disabled_optimization) Warning
  400. Warn when an optimization pass is disabled
  401. Werror
  402. Common Var(warnings_are_errors)
  403. Treat all warnings as errors
  404. Werror=
  405. Common Joined
  406. Treat specified warning as error
  407. Wextra
  408. Common Var(extra_warnings) Warning
  409. Print extra (possibly unwanted) warnings
  410. Wfatal-errors
  411. Common Var(flag_fatal_errors)
  412. Exit on the first error occurred
  413. Wframe-larger-than=
  414. Common RejectNegative Joined UInteger
  415. -Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes
  416. Wfree-nonheap-object
  417. Common Var(warn_free_nonheap_object) Init(1) Warning
  418. Warn when attempting to free a non-heap object
  419. Winline
  420. Common Var(warn_inline) Warning
  421. Warn when an inlined function cannot be inlined
  422. Winvalid-memory-model
  423. Common Var(warn_invalid_memory_model) Init(1) Warning
  424. Warn when an atomic memory model parameter is known to be outside the valid range.
  425. Wlarger-than-
  426. Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
  427. Wlarger-than=
  428. Common RejectNegative Joined UInteger Warning
  429. -Wlarger-than=<number> Warn if an object is larger than <number> bytes
  430. Wunsafe-loop-optimizations
  431. Common Var(warn_unsafe_loop_optimizations) Warning
  432. Warn if the loop cannot be optimized due to nontrivial assumptions.
  433. Wmissing-noreturn
  434. Common Alias(Wsuggest-attribute=noreturn)
  435. Wodr
  436. Common Var(warn_odr_violations) Init(1) Warning
  437. Warn about some C++ One Definition Rule violations during link time optimization
  438. Woverflow
  439. Common Var(warn_overflow) Init(1) Warning
  440. Warn about overflow in arithmetic expressions
  441. Wpacked
  442. Common Var(warn_packed) Warning
  443. Warn when the packed attribute has no effect on struct layout
  444. Wpadded
  445. Common Var(warn_padded) Warning
  446. Warn when padding is required to align structure members
  447. Wpedantic
  448. Common Var(pedantic) Init(0) Warning
  449. Issue warnings needed for strict compliance to the standard
  450. Wreturn-local-addr
  451. Common Var(warn_return_local_addr) Init(1) Warning
  452. Warn about returning a pointer/reference to a local or temporary variable.
  453. Wshadow
  454. Common Var(warn_shadow) Warning
  455. Warn when one local variable shadows another
  456. Wstack-protector
  457. Common Var(warn_stack_protect) Warning
  458. Warn when not issuing stack smashing protection for some reason
  459. Wstack-usage=
  460. Common Joined RejectNegative UInteger Var(warn_stack_usage) Init(-1) Warning
  461. Warn if stack usage might be larger than specified amount
  462. Wstrict-aliasing
  463. Common Warning
  464. Warn about code which might break strict aliasing rules
  465. Wstrict-aliasing=
  466. Common Joined RejectNegative UInteger Var(warn_strict_aliasing) Warning
  467. Warn about code which might break strict aliasing rules
  468. Wstrict-overflow
  469. Common Warning
  470. Warn about optimizations that assume that signed overflow is undefined
  471. Wstrict-overflow=
  472. Common Joined RejectNegative UInteger Var(warn_strict_overflow) Warning
  473. Warn about optimizations that assume that signed overflow is undefined
  474. Wsuggest-attribute=const
  475. Common Var(warn_suggest_attribute_const) Warning
  476. Warn about functions which might be candidates for __attribute__((const))
  477. Wsuggest-attribute=pure
  478. Common Var(warn_suggest_attribute_pure) Warning
  479. Warn about functions which might be candidates for __attribute__((pure))
  480. Wsuggest-attribute=noreturn
  481. Common Var(warn_suggest_attribute_noreturn) Warning
  482. Warn about functions which might be candidates for __attribute__((noreturn))
  483. Wsuggest-final-types
  484. Common Var(warn_suggest_final_types) Warning
  485. Warn about C++ polymorphic types where adding final keyword would improve code quality
  486. Wsuggest-final-methods
  487. Common Var(warn_suggest_final_methods) Warning
  488. Warn about C++ virtual methods where adding final keyword would improve code quality
  489. Wsystem-headers
  490. Common Var(warn_system_headers) Warning
  491. Do not suppress warnings from system headers
  492. Wtrampolines
  493. Common Var(warn_trampolines) Warning
  494. Warn whenever a trampoline is generated
  495. Wtype-limits
  496. Common Var(warn_type_limits) Warning EnabledBy(Wextra)
  497. Warn if a comparison is always true or always false due to the limited range of the data type
  498. Wuninitialized
  499. Common Var(warn_uninitialized) Warning EnabledBy(Wextra)
  500. Warn about uninitialized automatic variables
  501. Wmaybe-uninitialized
  502. Common Var(warn_maybe_uninitialized) Warning EnabledBy(Wuninitialized)
  503. Warn about maybe uninitialized automatic variables
  504. Wunreachable-code
  505. Common Ignore
  506. Does nothing. Preserved for backward compatibility.
  507. Wunused
  508. Common Var(warn_unused) Init(0) Warning
  509. Enable all -Wunused- warnings
  510. Wunused-but-set-parameter
  511. Common Var(warn_unused_but_set_parameter) Warning EnabledBy(Wunused && Wextra)
  512. Warn when a function parameter is only set, otherwise unused
  513. Wunused-but-set-variable
  514. Common Var(warn_unused_but_set_variable) Warning EnabledBy(Wunused)
  515. Warn when a variable is only set, otherwise unused
  516. Wunused-function
  517. Common Var(warn_unused_function) Warning EnabledBy(Wunused)
  518. Warn when a function is unused
  519. Wunused-label
  520. Common Var(warn_unused_label) Warning EnabledBy(Wunused)
  521. Warn when a label is unused
  522. Wunused-parameter
  523. Common Var(warn_unused_parameter) Warning EnabledBy(Wunused && Wextra)
  524. Warn when a function parameter is unused
  525. Wunused-value
  526. Common Var(warn_unused_value) Warning EnabledBy(Wunused)
  527. Warn when an expression value is unused
  528. Wunused-variable
  529. Common Var(warn_unused_variable) Warning EnabledBy(Wunused)
  530. Warn when a variable is unused
  531. Wcoverage-mismatch
  532. Common Var(warn_coverage_mismatch) Init(1) Warning
  533. Warn in case profiles in -fprofile-use do not match
  534. Wvector-operation-performance
  535. Common Var(warn_vector_operation_performance) Warning
  536. Warn when a vector operation is compiled outside the SIMD
  537. Xassembler
  538. Driver Separate
  539. Xlinker
  540. Driver Separate
  541. Xpreprocessor
  542. Driver Separate
  543. Z
  544. Driver
  545. aux-info
  546. Common Separate Var(aux_info_file_name)
  547. -aux-info <file> Emit declaration information into <file>
  548. aux-info=
  549. Common Joined Alias(aux-info)
  550. auxbase
  551. Common Separate RejectDriver Var(aux_base_name)
  552. auxbase-strip
  553. Common Separate RejectDriver
  554. coverage
  555. Driver
  556. c
  557. Driver
  558. d
  559. Common Joined
  560. -d<letters> Enable dumps from specific passes of the compiler
  561. dumpbase
  562. Common Separate Var(dump_base_name)
  563. -dumpbase <file> Set the file basename to be used for dumps
  564. dumpdir
  565. Common Separate Var(dump_dir_name)
  566. -dumpdir <dir> Set the directory name to be used for dumps
  567. dumpmachine
  568. Driver
  569. dumpspecs
  570. Driver
  571. dumpversion
  572. Driver
  573. e
  574. Driver Joined Separate
  575. ; This option has historically been passed down to the linker by an
  576. ; accident of a %{e*} spec, so ensure it continues to be passed down
  577. ; as a single option. The supported option for this purpose is
  578. ; -rdynamic. See PR 47390.
  579. export-dynamic
  580. Driver Undocumented
  581. ; The version of the C++ ABI in use. The following values are allowed:
  582. ;
  583. ; 0: The version of the ABI believed most conformant with the C++ ABI
  584. ; specification. This ABI may change as bugs are discovered and fixed.
  585. ; Therefore, 0 will not necessarily indicate the same ABI in different
  586. ; versions of G++.
  587. ;
  588. ; 1: The version of the ABI first used in G++ 3.2. No longer selectable.
  589. ;
  590. ; 2: The version of the ABI first used in G++ 3.4, and the default
  591. ; until GCC 4.9.
  592. ;
  593. ; 3: The version of the ABI that fixes the missing underscore
  594. ; in template non-type arguments of pointer type.
  595. ;
  596. ; 4: The version of the ABI that introduces unambiguous mangling of
  597. ; vector types. First selectable in G++ 4.5.
  598. ;
  599. ; 5: The version of the ABI that ignores attribute const/noreturn
  600. ; in function pointer mangling, and corrects mangling of decltype and
  601. ; function parameters used in other parameters and the return type.
  602. ; First selectable in G++ 4.6.
  603. ;
  604. ; 6: The version of the ABI that doesn't promote scoped enums to int and
  605. ; changes the mangling of template argument packs, const/static_cast,
  606. ; prefix ++ and --, and a class scope function used as a template
  607. ; argument.
  608. ; First selectable in G++ 4.7.
  609. ;
  610. ; 7: The version of the ABI that treats nullptr_t as a builtin type and
  611. ; corrects the mangling of lambdas in default argument scope.
  612. ; First selectable in G++ 4.8.
  613. ;
  614. ; 8: The version of the ABI that corrects the substitution behavior of
  615. ; function types with function-cv-qualifiers.
  616. ; First selectable in G++ 4.9 and default in G++ 5
  617. ;
  618. ; 9: The version of the ABI that corrects the alignment of nullptr_t.
  619. ; First selectable and default in G++ 5.2.
  620. ; (set in c_common_post_options).
  621. ;
  622. ; Additional positive integers will be assigned as new versions of
  623. ; the ABI become the default version of the ABI.
  624. fabi-version=
  625. Common Joined RejectNegative UInteger Var(flag_abi_version) Init(0)
  626. The version of the C++ ABI in use
  627. faggressive-loop-optimizations
  628. Common Report Var(flag_aggressive_loop_optimizations) Optimization Init(1)
  629. Aggressively optimize loops using language constraints
  630. falign-functions
  631. Common Report Var(align_functions,0) Optimization UInteger
  632. Align the start of functions
  633. falign-functions=
  634. Common RejectNegative Joined UInteger Var(align_functions)
  635. falign-jumps
  636. Common Report Var(align_jumps,0) Optimization UInteger
  637. Align labels which are only reached by jumping
  638. falign-jumps=
  639. Common RejectNegative Joined UInteger Var(align_jumps)
  640. falign-labels
  641. Common Report Var(align_labels,0) Optimization UInteger
  642. Align all labels
  643. falign-labels=
  644. Common RejectNegative Joined UInteger Var(align_labels)
  645. falign-loops
  646. Common Report Var(align_loops,0) Optimization UInteger
  647. Align the start of loops
  648. falign-loops=
  649. Common RejectNegative Joined UInteger Var(align_loops)
  650. fargument-alias
  651. Common Ignore
  652. Does nothing. Preserved for backward compatibility.
  653. fargument-noalias
  654. Common Ignore
  655. Does nothing. Preserved for backward compatibility.
  656. fargument-noalias-global
  657. Common Ignore
  658. Does nothing. Preserved for backward compatibility.
  659. fargument-noalias-anything
  660. Common Ignore
  661. Does nothing. Preserved for backward compatibility.
  662. fsanitize=
  663. Common Driver Report Joined
  664. Select what to sanitize
  665. fasan-shadow-offset=
  666. Common Joined RejectNegative Var(common_deferred_options) Defer
  667. -fasan-shadow-offset=<number> Use custom shadow memory offset.
  668. fsanitize-recover=
  669. Common Report Joined
  670. After diagnosing undefined behavior attempt to continue execution
  671. fsanitize-recover
  672. Common Report
  673. This switch is deprecated; use -fsanitize-recover= instead
  674. fsanitize-undefined-trap-on-error
  675. Common Driver Report Var(flag_sanitize_undefined_trap_on_error) Init(0)
  676. Use trap instead of a library function for undefined behavior sanitization
  677. fasynchronous-unwind-tables
  678. Common Report Var(flag_asynchronous_unwind_tables) Optimization
  679. Generate unwind tables that are exact at each instruction boundary
  680. fauto-inc-dec
  681. Common Report Var(flag_auto_inc_dec) Init(1) Optimization
  682. Generate auto-inc/dec instructions
  683. fauto-profile
  684. Common Report Var(flag_auto_profile)
  685. Use sample profile information for call graph node weights. The default
  686. profile file is fbdata.afdo in 'pwd'.
  687. fauto-profile=
  688. Common Joined RejectNegative Var(auto_profile_file)
  689. Use sample profile information for call graph node weights. The profile
  690. file is specified in the argument.
  691. ; -fcheck-bounds causes gcc to generate array bounds checks.
  692. ; For C, C++ and ObjC: defaults off.
  693. ; For Java: defaults to on.
  694. ; For Fortran: defaults to off.
  695. fbounds-check
  696. Common Report Var(flag_bounds_check)
  697. Generate code to check bounds before indexing arrays
  698. fbranch-count-reg
  699. Common Report Var(flag_branch_on_count_reg) Optimization
  700. Replace add, compare, branch with branch on count register
  701. fbranch-probabilities
  702. Common Report Var(flag_branch_probabilities) Optimization
  703. Use profiling information for branch probabilities
  704. fbranch-target-load-optimize
  705. Common Report Var(flag_branch_target_load_optimize) Optimization
  706. Perform branch target load optimization before prologue / epilogue threading
  707. fbranch-target-load-optimize2
  708. Common Report Var(flag_branch_target_load_optimize2) Optimization
  709. Perform branch target load optimization after prologue / epilogue threading
  710. fbtr-bb-exclusive
  711. Common Report Var(flag_btr_bb_exclusive) Optimization
  712. Restrict target load migration not to re-use registers in any basic block
  713. fcall-saved-
  714. Common Joined RejectNegative Var(common_deferred_options) Defer
  715. -fcall-saved-<register> Mark <register> as being preserved across functions
  716. fcall-used-
  717. Common Joined RejectNegative Var(common_deferred_options) Defer
  718. -fcall-used-<register> Mark <register> as being corrupted by function calls
  719. ; Nonzero for -fcaller-saves: allocate values in regs that need to
  720. ; be saved across function calls, if that produces overall better code.
  721. ; Optional now, so people can test it.
  722. fcaller-saves
  723. Common Report Var(flag_caller_saves) Optimization
  724. Save registers around function calls
  725. fcheck-data-deps
  726. Common Report Var(flag_check_data_deps)
  727. Compare the results of several data dependence analyzers.
  728. fcheck-new
  729. Common Var(flag_check_new)
  730. Check the return value of new in C++
  731. fcombine-stack-adjustments
  732. Common Report Var(flag_combine_stack_adjustments) Optimization
  733. Looks for opportunities to reduce stack adjustments and stack references.
  734. fcommon
  735. Common Report Var(flag_no_common,0)
  736. Do not put uninitialized globals in the common section
  737. fcompare-debug
  738. Driver
  739. ; Converted by the driver to -fcompare-debug= options.
  740. fcompare-debug=
  741. Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
  742. -fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump
  743. fcompare-debug-second
  744. Common Driver RejectNegative Var(flag_compare_debug)
  745. Run only the second compilation of -fcompare-debug
  746. fcompare-elim
  747. Common Report Var(flag_compare_elim_after_reload) Optimization
  748. Perform comparison elimination after register allocation has finished
  749. fconserve-stack
  750. Common Var(flag_conserve_stack) Optimization
  751. Do not perform optimizations increasing noticeably stack usage
  752. fcprop-registers
  753. Common Report Var(flag_cprop_registers) Optimization
  754. Perform a register copy-propagation optimization pass
  755. fcrossjumping
  756. Common Report Var(flag_crossjumping) Optimization
  757. Perform cross-jumping optimization
  758. fcse-follow-jumps
  759. Common Report Var(flag_cse_follow_jumps) Optimization
  760. When running CSE, follow jumps to their targets
  761. fcse-skip-blocks
  762. Common Ignore
  763. Does nothing. Preserved for backward compatibility.
  764. fcx-limited-range
  765. Common Report Var(flag_cx_limited_range) Optimization SetByCombined
  766. Omit range reduction step when performing complex division
  767. fcx-fortran-rules
  768. Common Report Var(flag_cx_fortran_rules) Optimization
  769. Complex multiplication and division follow Fortran rules
  770. fdata-sections
  771. Common Report Var(flag_data_sections)
  772. Place data items into their own section
  773. fdbg-cnt-list
  774. Common Report Var(common_deferred_options) Defer
  775. List all available debugging counters with their limits and counts.
  776. fdbg-cnt=
  777. Common RejectNegative Joined Var(common_deferred_options) Defer
  778. -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit.
  779. fdebug-prefix-map=
  780. Common Joined RejectNegative Var(common_deferred_options) Defer
  781. Map one directory name to another in debug information
  782. fdebug-types-section
  783. Common Report Var(flag_debug_types_section) Init(0)
  784. Output .debug_types section when using DWARF v4 debuginfo.
  785. ; Nonzero for -fdefer-pop: don't pop args after each function call
  786. ; instead save them up to pop many calls' args with one insns.
  787. fdefer-pop
  788. Common Report Var(flag_defer_pop) Optimization
  789. Defer popping functions args from stack until later
  790. fdelayed-branch
  791. Common Report Var(flag_delayed_branch) Optimization
  792. Attempt to fill delay slots of branch instructions
  793. fdelete-dead-exceptions
  794. Common Report Var(flag_delete_dead_exceptions) Init(0) Optimization
  795. Delete dead instructions that may throw exceptions
  796. fdelete-null-pointer-checks
  797. Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
  798. Delete useless null pointer checks
  799. fdevirtualize-at-ltrans
  800. Common Report Var(flag_ltrans_devirtualize)
  801. Stream extra data to support more aggressive devirtualization in LTO local transformation mode
  802. fdevirtualize-speculatively
  803. Common Report Var(flag_devirtualize_speculatively) Optimization
  804. Perform speculative devirtualization
  805. fdevirtualize
  806. Common Report Var(flag_devirtualize) Optimization
  807. Try to convert virtual calls to direct ones.
  808. fdiagnostics-show-location=
  809. Common Joined RejectNegative Enum(diagnostic_prefixing_rule)
  810. -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
  811. ; Required for these enum values.
  812. SourceInclude
  813. pretty-print.h
  814. Enum
  815. Name(diagnostic_prefixing_rule) Type(int)
  816. EnumValue
  817. Enum(diagnostic_prefixing_rule) String(once) Value(DIAGNOSTICS_SHOW_PREFIX_ONCE)
  818. EnumValue
  819. Enum(diagnostic_prefixing_rule) String(every-line) Value(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE)
  820. fdiagnostics-show-caret
  821. Common Var(flag_diagnostics_show_caret) Init(1)
  822. Show the source line with a caret indicating the column
  823. fdiagnostics-color
  824. Common Alias(fdiagnostics-color=,always,never)
  825. ;
  826. fdiagnostics-color=
  827. Driver Common Joined RejectNegative Var(flag_diagnostics_show_color) Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_NO)
  828. -fdiagnostics-color=[never|always|auto] Colorize diagnostics
  829. ; Required for these enum values.
  830. SourceInclude
  831. diagnostic-color.h
  832. Enum
  833. Name(diagnostic_color_rule) Type(int)
  834. EnumValue
  835. Enum(diagnostic_color_rule) String(never) Value(DIAGNOSTICS_COLOR_NO)
  836. EnumValue
  837. Enum(diagnostic_color_rule) String(always) Value(DIAGNOSTICS_COLOR_YES)
  838. EnumValue
  839. Enum(diagnostic_color_rule) String(auto) Value(DIAGNOSTICS_COLOR_AUTO)
  840. fdiagnostics-show-option
  841. Common Var(flag_diagnostics_show_option) Init(1)
  842. Amend appropriate diagnostic messages with the command line option that controls them
  843. fdisable-
  844. Common Joined RejectNegative Var(common_deferred_options) Defer
  845. -fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass
  846. fenable-
  847. Common Joined RejectNegative Var(common_deferred_options) Defer
  848. -fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization pass
  849. fdump-
  850. Common Joined RejectNegative Var(common_deferred_options) Defer
  851. -fdump-<type> Dump various compiler internals to a file
  852. fdump-final-insns
  853. Driver RejectNegative
  854. fdump-final-insns=
  855. Common RejectNegative Joined Var(flag_dump_final_insns)
  856. -fdump-final-insns=filename Dump to filename the insns at the end of translation
  857. fdump-go-spec=
  858. Common RejectNegative Joined Var(flag_dump_go_spec)
  859. -fdump-go-spec=filename Write all declarations to file as Go code
  860. fdump-noaddr
  861. Common Report Var(flag_dump_noaddr)
  862. Suppress output of addresses in debugging dumps
  863. freport-bug
  864. Common Driver Var(flag_report_bug)
  865. Collect and dump debug information into temporary file if ICE in C/C++
  866. compiler occured.
  867. fdump-passes
  868. Common Var(flag_dump_passes) Init(0)
  869. Dump optimization passes
  870. fdump-unnumbered
  871. Common Report Var(flag_dump_unnumbered)
  872. Suppress output of instruction numbers, line number notes and addresses in debugging dumps
  873. fdump-unnumbered-links
  874. Common Report Var(flag_dump_unnumbered_links)
  875. Suppress output of previous and next insn numbers in debugging dumps
  876. fdwarf2-cfi-asm
  877. Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)
  878. Enable CFI tables via GAS assembler directives.
  879. fearly-inlining
  880. Common Report Var(flag_early_inlining) Init(1) Optimization
  881. Perform early inlining
  882. feliminate-dwarf2-dups
  883. Common Report Var(flag_eliminate_dwarf2_dups)
  884. Perform DWARF2 duplicate elimination
  885. fipa-sra
  886. Common Report Var(flag_ipa_sra) Init(0) Optimization
  887. Perform interprocedural reduction of aggregates
  888. feliminate-unused-debug-symbols
  889. Common Report Var(flag_debug_only_used_symbols)
  890. Perform unused symbol elimination in debug info
  891. feliminate-unused-debug-types
  892. Common Report Var(flag_eliminate_unused_debug_types) Init(1)
  893. Perform unused type elimination in debug info
  894. femit-class-debug-always
  895. Common Report Var(flag_emit_class_debug_always) Init(0)
  896. Do not suppress C++ class debug information.
  897. fexceptions
  898. Common Report Var(flag_exceptions) Optimization
  899. Enable exception handling
  900. fexpensive-optimizations
  901. Common Report Var(flag_expensive_optimizations) Optimization
  902. Perform a number of minor, expensive optimizations
  903. fexcess-precision=
  904. Common Joined RejectNegative Enum(excess_precision) Var(flag_excess_precision_cmdline) Init(EXCESS_PRECISION_DEFAULT)
  905. -fexcess-precision=[fast|standard] Specify handling of excess floating-point precision
  906. Enum
  907. Name(excess_precision) Type(enum excess_precision) UnknownError(unknown excess precision style %qs)
  908. EnumValue
  909. Enum(excess_precision) String(fast) Value(EXCESS_PRECISION_FAST)
  910. EnumValue
  911. Enum(excess_precision) String(standard) Value(EXCESS_PRECISION_STANDARD)
  912. ffast-math
  913. Common
  914. ffat-lto-objects
  915. Common Var(flag_fat_lto_objects)
  916. Output lto objects containing both the intermediate language and binary output.
  917. ffinite-math-only
  918. Common Report Var(flag_finite_math_only) Optimization SetByCombined
  919. Assume no NaNs or infinities are generated
  920. ffixed-
  921. Common Joined RejectNegative Var(common_deferred_options) Defer
  922. -ffixed-<register> Mark <register> as being unavailable to the compiler
  923. ffloat-store
  924. Common Report Var(flag_float_store) Optimization
  925. Don't allocate floats and doubles in extended-precision registers
  926. fforce-addr
  927. Common Ignore
  928. Does nothing. Preserved for backward compatibility.
  929. fforward-propagate
  930. Common Report Var(flag_forward_propagate) Optimization
  931. Perform a forward propagation pass on RTL
  932. ffp-contract=
  933. Common Joined RejectNegative Enum(fp_contract_mode) Var(flag_fp_contract_mode) Init(FP_CONTRACT_FAST) Optimization
  934. -ffp-contract=[off|on|fast] Perform floating-point expression contraction.
  935. Enum
  936. Name(fp_contract_mode) Type(enum fp_contract_mode) UnknownError(unknown floating point contraction style %qs)
  937. EnumValue
  938. Enum(fp_contract_mode) String(off) Value(FP_CONTRACT_OFF)
  939. ; Not implemented, fall back to conservative FP_CONTRACT_OFF.
  940. EnumValue
  941. Enum(fp_contract_mode) String(on) Value(FP_CONTRACT_OFF)
  942. EnumValue
  943. Enum(fp_contract_mode) String(fast) Value(FP_CONTRACT_FAST)
  944. ; Nonzero means don't put addresses of constant functions in registers.
  945. ; Used for compiling the Unix kernel, where strange substitutions are
  946. ; done on the assembly output.
  947. ffunction-cse
  948. Common Report Var(flag_no_function_cse,0) Optimization
  949. Allow function addresses to be held in registers
  950. ffunction-sections
  951. Common Report Var(flag_function_sections)
  952. Place each function into its own section
  953. fgcse
  954. Common Report Var(flag_gcse) Optimization
  955. Perform global common subexpression elimination
  956. fgcse-lm
  957. Common Report Var(flag_gcse_lm) Init(1) Optimization
  958. Perform enhanced load motion during global common subexpression elimination
  959. fgcse-sm
  960. Common Report Var(flag_gcse_sm) Init(0) Optimization
  961. Perform store motion after global common subexpression elimination
  962. fgcse-las
  963. Common Report Var(flag_gcse_las) Init(0) Optimization
  964. Perform redundant load after store elimination in global common subexpression
  965. elimination
  966. fgcse-after-reload
  967. Common Report Var(flag_gcse_after_reload) Optimization
  968. Perform global common subexpression elimination after register allocation
  969. has finished
  970. ; This option is not documented yet as its semantics will change.
  971. fgraphite
  972. Common Report Var(flag_graphite) Optimization
  973. Enable in and out of Graphite representation
  974. fgraphite-identity
  975. Common Report Var(flag_graphite_identity) Optimization
  976. Enable Graphite Identity transformation
  977. fhoist-adjacent-loads
  978. Common Report Var(flag_hoist_adjacent_loads) Optimization
  979. Enable hoisting adjacent loads to encourage generating conditional move
  980. instructions
  981. floop-parallelize-all
  982. Common Report Var(flag_loop_parallelize_all) Optimization
  983. Mark all loops as parallel
  984. floop-strip-mine
  985. Common Report Var(flag_loop_strip_mine) Optimization
  986. Enable Loop Strip Mining transformation
  987. floop-interchange
  988. Common Report Var(flag_loop_interchange) Optimization
  989. Enable Loop Interchange transformation
  990. floop-block
  991. Common Report Var(flag_loop_block) Optimization
  992. Enable Loop Blocking transformation
  993. floop-unroll-and-jam
  994. Common Report Var(flag_loop_unroll_jam) Optimization
  995. Enable Loop Unroll Jam transformation
  996. fgnu-tm
  997. Common Report Var(flag_tm)
  998. Enable support for GNU transactional memory
  999. fgnu-unique
  1000. Common Report Var(flag_gnu_unique) Init(1)
  1001. Use STB_GNU_UNIQUE if supported by the assembler
  1002. floop-flatten
  1003. Common Ignore
  1004. Does nothing. Preserved for backward compatibility.
  1005. floop-nest-optimize
  1006. Common Report Var(flag_loop_optimize_isl) Optimization
  1007. Enable the ISL based loop nest optimizer
  1008. fstrict-volatile-bitfields
  1009. Common Report Var(flag_strict_volatile_bitfields) Init(-1) Optimization
  1010. Force bitfield accesses to match their type width
  1011. fguess-branch-probability
  1012. Common Report Var(flag_guess_branch_prob) Optimization
  1013. Enable guessing of branch probabilities
  1014. ; Nonzero means ignore `#ident' directives. 0 means handle them.
  1015. ; Generate position-independent code for executables if possible
  1016. ; On SVR4 targets, it also controls whether or not to emit a
  1017. ; string identifying the compiler.
  1018. fident
  1019. Common Report Var(flag_no_ident,0)
  1020. Process #ident directives
  1021. fif-conversion
  1022. Common Report Var(flag_if_conversion) Optimization
  1023. Perform conversion of conditional jumps to branchless equivalents
  1024. fif-conversion2
  1025. Common Report Var(flag_if_conversion2) Optimization
  1026. Perform conversion of conditional jumps to conditional execution
  1027. fstack-reuse=
  1028. Common Joined RejectNegative Enum(stack_reuse_level) Var(flag_stack_reuse) Init(SR_ALL) Optimization
  1029. -fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables.
  1030. Enum
  1031. Name(stack_reuse_level) Type(enum stack_reuse_level) UnknownError(unknown Stack Reuse Level %qs)
  1032. EnumValue
  1033. Enum(stack_reuse_level) String(all) Value(SR_ALL)
  1034. EnumValue
  1035. Enum(stack_reuse_level) String(named_vars) Value(SR_NAMED_VARS)
  1036. EnumValue
  1037. Enum(stack_reuse_level) String(none) Value(SR_NONE)
  1038. ftree-loop-if-convert
  1039. Common Report Var(flag_tree_loop_if_convert) Init(-1) Optimization
  1040. Convert conditional jumps in innermost loops to branchless equivalents
  1041. ftree-loop-if-convert-stores
  1042. Common Report Var(flag_tree_loop_if_convert_stores) Optimization
  1043. Also if-convert conditional jumps containing memory writes
  1044. ; -finhibit-size-directive inhibits output of .size for ELF.
  1045. ; This is used only for compiling crtstuff.c,
  1046. ; and it may be extended to other effects
  1047. ; needed for crtstuff.c on other systems.
  1048. finhibit-size-directive
  1049. Common Report Var(flag_inhibit_size_directive)
  1050. Do not generate .size directives
  1051. findirect-inlining
  1052. Common Report Var(flag_indirect_inlining) Optimization
  1053. Perform indirect inlining
  1054. ; General flag to enable inlining. Specifying -fno-inline will disable
  1055. ; all inlining apart from always-inline functions.
  1056. finline
  1057. Common Report Var(flag_no_inline,0) Init(0) Optimization
  1058. Enable inlining of function declared \"inline\", disabling disables all inlining
  1059. finline-small-functions
  1060. Common Report Var(flag_inline_small_functions) Optimization
  1061. Integrate functions into their callers when code size is known not to grow
  1062. finline-functions
  1063. Common Report Var(flag_inline_functions) Optimization
  1064. Integrate functions not declared \"inline\" into their callers when profitable
  1065. finline-functions-called-once
  1066. Common Report Var(flag_inline_functions_called_once) Optimization
  1067. Integrate functions only required by their single caller
  1068. finline-limit-
  1069. Common RejectNegative Joined Alias(finline-limit=)
  1070. finline-limit=
  1071. Common RejectNegative Joined UInteger
  1072. -finline-limit=<number> Limit the size of inlined functions to <number>
  1073. finline-atomics
  1074. Common Report Var(flag_inline_atomics) Init(1) Optimization
  1075. Inline __atomic operations when a lock free instruction sequence is available.
  1076. finstrument-functions
  1077. Common Report Var(flag_instrument_function_entry_exit)
  1078. Instrument function entry and exit with profiling calls
  1079. finstrument-functions-exclude-function-list=
  1080. Common RejectNegative Joined
  1081. -finstrument-functions-exclude-function-list=name,... Do not instrument listed functions
  1082. finstrument-functions-exclude-file-list=
  1083. Common RejectNegative Joined
  1084. -finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files
  1085. fipa-cp
  1086. Common Report Var(flag_ipa_cp) Optimization
  1087. Perform interprocedural constant propagation
  1088. fipa-cp-clone
  1089. Common Report Var(flag_ipa_cp_clone) Optimization
  1090. Perform cloning to make Interprocedural constant propagation stronger
  1091. fipa-cp-alignment
  1092. Common Report Var(flag_ipa_cp_alignment) Optimization
  1093. Perform alignment discovery and propagation to make Interprocedural constant propagation stronger
  1094. fipa-profile
  1095. Common Report Var(flag_ipa_profile) Init(0) Optimization
  1096. Perform interprocedural profile propagation
  1097. fipa-pta
  1098. Common Report Var(flag_ipa_pta) Init(0) Optimization
  1099. Perform interprocedural points-to analysis
  1100. fipa-pure-const
  1101. Common Report Var(flag_ipa_pure_const) Init(0) Optimization
  1102. Discover pure and const functions
  1103. fipa-icf
  1104. Common Report Var(flag_ipa_icf) Optimization
  1105. Perform Identical Code Folding for functions and read-only variables
  1106. fipa-icf-functions
  1107. Common Report Var(flag_ipa_icf_functions) Optimization
  1108. Perform Identical Code Folding for functions
  1109. fipa-icf-variables
  1110. Common Report Var(flag_ipa_icf_variables)
  1111. Perform Identical Code Folding for variables
  1112. fipa-reference
  1113. Common Report Var(flag_ipa_reference) Init(0) Optimization
  1114. Discover readonly and non addressable static variables
  1115. fipa-matrix-reorg
  1116. Common Ignore
  1117. Does nothing. Preserved for backward compatibility.
  1118. fipa-struct-reorg
  1119. Common Ignore
  1120. Does nothing. Preserved for backward compatibility.
  1121. fira-algorithm=
  1122. Common Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB) Optimization
  1123. -fira-algorithm=[CB|priority] Set the used IRA algorithm
  1124. Enum
  1125. Name(ira_algorithm) Type(enum ira_algorithm) UnknownError(unknown IRA algorithm %qs)
  1126. EnumValue
  1127. Enum(ira_algorithm) String(CB) Value(IRA_ALGORITHM_CB)
  1128. EnumValue
  1129. Enum(ira_algorithm) String(priority) Value(IRA_ALGORITHM_PRIORITY)
  1130. fira-region=
  1131. Common Joined RejectNegative Enum(ira_region) Var(flag_ira_region) Init(IRA_REGION_AUTODETECT) Optimization
  1132. -fira-region=[one|all|mixed] Set regions for IRA
  1133. Enum
  1134. Name(ira_region) Type(enum ira_region) UnknownError(unknown IRA region %qs)
  1135. EnumValue
  1136. Enum(ira_region) String(one) Value(IRA_REGION_ONE)
  1137. EnumValue
  1138. Enum(ira_region) String(all) Value(IRA_REGION_ALL)
  1139. EnumValue
  1140. Enum(ira_region) String(mixed) Value(IRA_REGION_MIXED)
  1141. fira-hoist-pressure
  1142. Common Report Var(flag_ira_hoist_pressure) Init(1) Optimization
  1143. Use IRA based register pressure calculation
  1144. in RTL hoist optimizations.
  1145. fira-loop-pressure
  1146. Common Report Var(flag_ira_loop_pressure) Optimization
  1147. Use IRA based register pressure calculation
  1148. in RTL loop optimizations.
  1149. fira-share-save-slots
  1150. Common Report Var(flag_ira_share_save_slots) Init(1) Optimization
  1151. Share slots for saving different hard registers.
  1152. fira-share-spill-slots
  1153. Common Report Var(flag_ira_share_spill_slots) Init(1) Optimization
  1154. Share stack slots for spilled pseudo-registers.
  1155. fira-verbose=
  1156. Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)
  1157. -fira-verbose=<number> Control IRA's level of diagnostic messages.
  1158. fivopts
  1159. Common Report Var(flag_ivopts) Init(1) Optimization
  1160. Optimize induction variables on trees
  1161. fjump-tables
  1162. Common Var(flag_jump_tables) Init(1) Optimization
  1163. Use jump tables for sufficiently large switch statements
  1164. fkeep-inline-functions
  1165. Common Report Var(flag_keep_inline_functions)
  1166. Generate code for functions even if they are fully inlined
  1167. fkeep-static-consts
  1168. Common Report Var(flag_keep_static_consts) Init(1)
  1169. Emit static const variables even if they are not used
  1170. fleading-underscore
  1171. Common Report Var(flag_leading_underscore) Init(-1)
  1172. Give external symbols a leading underscore
  1173. floop-optimize
  1174. Common Ignore
  1175. Does nothing. Preserved for backward compatibility.
  1176. flra-remat
  1177. Common Report Var(flag_lra_remat) Optimization
  1178. Do CFG-sensitive rematerialization in LRA
  1179. flto
  1180. Common
  1181. Enable link-time optimization.
  1182. flto=
  1183. Common RejectNegative Joined Var(flag_lto)
  1184. Link-time optimization with number of parallel jobs or jobserver.
  1185. Enum
  1186. Name(lto_partition_model) Type(enum lto_partition_model) UnknownError(unknown LTO partitioning model %qs)
  1187. EnumValue
  1188. Enum(lto_partition_model) String(none) Value(LTO_PARTITION_NONE)
  1189. EnumValue
  1190. Enum(lto_partition_model) String(one) Value(LTO_PARTITION_ONE)
  1191. EnumValue
  1192. Enum(lto_partition_model) String(balanced) Value(LTO_PARTITION_BALANCED)
  1193. EnumValue
  1194. Enum(lto_partition_model) String(1to1) Value(LTO_PARTITION_1TO1)
  1195. EnumValue
  1196. Enum(lto_partition_model) String(max) Value(LTO_PARTITION_MAX)
  1197. flto-partition=
  1198. Common Joined RejectNegative Enum(lto_partition_model) Var(flag_lto_partition) Init(LTO_PARTITION_BALANCED)
  1199. Specify the algorithm to partition symbols and vars at linktime
  1200. ; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
  1201. flto-compression-level=
  1202. Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)
  1203. -flto-compression-level=<number> Use zlib compression level <number> for IL
  1204. flto-odr-type-merging
  1205. Common Report Var(flag_lto_odr_type_mering) Init(1)
  1206. Merge C++ types using One Definition Rule
  1207. flto-report
  1208. Common Report Var(flag_lto_report) Init(0)
  1209. Report various link-time optimization statistics
  1210. flto-report-wpa
  1211. Common Report Var(flag_lto_report_wpa) Init(0)
  1212. Report various link-time optimization statistics for WPA only
  1213. fmath-errno
  1214. Common Report Var(flag_errno_math) Init(1) Optimization SetByCombined
  1215. Set errno after built-in math functions
  1216. fmax-errors=
  1217. Common Joined RejectNegative UInteger Var(flag_max_errors)
  1218. -fmax-errors=<number> Maximum number of errors to report
  1219. fmem-report
  1220. Common Report Var(mem_report)
  1221. Report on permanent memory allocation
  1222. fmem-report-wpa
  1223. Common Report Var(mem_report_wpa)
  1224. Report on permanent memory allocation in WPA only
  1225. ; This will attempt to merge constant section constants, if 1 only
  1226. ; string constants and constants from constant pool, if 2 also constant
  1227. ; variables.
  1228. fmerge-all-constants
  1229. Common Report Var(flag_merge_constants,2) Init(1)
  1230. Attempt to merge identical constants and constant variables
  1231. fmerge-constants
  1232. Common Report Var(flag_merge_constants,1)
  1233. Attempt to merge identical constants across compilation units
  1234. fmerge-debug-strings
  1235. Common Report Var(flag_merge_debug_strings) Init(1)
  1236. Attempt to merge identical debug strings across compilation units
  1237. fmessage-length=
  1238. Common RejectNegative Joined UInteger
  1239. -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
  1240. fmodulo-sched
  1241. Common Report Var(flag_modulo_sched) Optimization
  1242. Perform SMS based modulo scheduling before the first scheduling pass
  1243. fmodulo-sched-allow-regmoves
  1244. Common Report Var(flag_modulo_sched_allow_regmoves) Optimization
  1245. Perform SMS based modulo scheduling with register moves allowed
  1246. fmove-loop-invariants
  1247. Common Report Var(flag_move_loop_invariants) Optimization
  1248. Move loop invariant computations out of loops
  1249. fdce
  1250. Common Var(flag_dce) Init(1) Optimization
  1251. Use the RTL dead code elimination pass
  1252. fdse
  1253. Common Var(flag_dse) Init(1) Optimization
  1254. Use the RTL dead store elimination pass
  1255. freschedule-modulo-scheduled-loops
  1256. Common Report Var(flag_resched_modulo_sched) Optimization
  1257. Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
  1258. fnon-call-exceptions
  1259. Common Report Var(flag_non_call_exceptions) Optimization
  1260. Support synchronous non-call exceptions
  1261. foffload=
  1262. Common Driver Joined MissingArgError(options or targets missing after %qs)
  1263. -foffload=<targets>=<options> Specify offloading targets and options for them
  1264. foffload-abi=
  1265. Common Joined RejectNegative Enum(offload_abi) Var(flag_offload_abi) Init(OFFLOAD_ABI_UNSET)
  1266. -foffload-abi=[lp64|ilp32] Set the ABI to use in an offload compiler
  1267. Enum
  1268. Name(offload_abi) Type(enum offload_abi) UnknownError(unknown offload ABI %qs)
  1269. EnumValue
  1270. Enum(offload_abi) String(ilp32) Value(OFFLOAD_ABI_ILP32)
  1271. EnumValue
  1272. Enum(offload_abi) String(lp64) Value(OFFLOAD_ABI_LP64)
  1273. fomit-frame-pointer
  1274. Common Report Var(flag_omit_frame_pointer) Optimization
  1275. When possible do not generate stack frames
  1276. fopt-info
  1277. Common Report Var(flag_opt_info) Optimization
  1278. Enable all optimization info dumps on stderr
  1279. fopt-info-
  1280. Common Joined RejectNegative Var(common_deferred_options) Defer
  1281. -fopt-info[-<type>=filename] Dump compiler optimization details
  1282. foptimize-register-move
  1283. Common Ignore
  1284. Does nothing. Preserved for backward compatibility.
  1285. foptimize-sibling-calls
  1286. Common Report Var(flag_optimize_sibling_calls) Optimization
  1287. Optimize sibling and tail recursive calls
  1288. fpartial-inlining
  1289. Common Report Var(flag_partial_inlining) Optimization
  1290. Perform partial inlining
  1291. fpre-ipa-mem-report
  1292. Common Report Var(pre_ipa_mem_report)
  1293. Report on memory allocation before interprocedural optimization
  1294. fpost-ipa-mem-report
  1295. Common Report Var(post_ipa_mem_report)
  1296. Report on memory allocation before interprocedural optimization
  1297. fpack-struct
  1298. Common Report Var(flag_pack_struct) Optimization
  1299. Pack structure members together without holes
  1300. fpack-struct=
  1301. Common RejectNegative Joined UInteger Optimization
  1302. -fpack-struct=<number> Set initial maximum structure member alignment
  1303. fpcc-struct-return
  1304. Common Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)
  1305. Return small aggregates in memory, not registers
  1306. fpeel-loops
  1307. Common Report Var(flag_peel_loops) Optimization
  1308. Perform loop peeling
  1309. fpeephole
  1310. Common Report Var(flag_no_peephole,0) Optimization
  1311. Enable machine specific peephole optimizations
  1312. fpeephole2
  1313. Common Report Var(flag_peephole2) Optimization
  1314. Enable an RTL peephole pass before sched2
  1315. fPIC
  1316. Common Report Var(flag_pic,2) Negative(fPIE)
  1317. Generate position-independent code if possible (large mode)
  1318. fPIE
  1319. Common Report Var(flag_pie,2) Negative(fpic)
  1320. Generate position-independent code for executables if possible (large mode)
  1321. fpic
  1322. Common Report Var(flag_pic,1) Negative(fpie)
  1323. Generate position-independent code if possible (small mode)
  1324. fpie
  1325. Common Report Var(flag_pie,1) Negative(fPIC)
  1326. Generate position-independent code for executables if possible (small mode)
  1327. fplugin=
  1328. Common Joined RejectNegative Var(common_deferred_options) Defer
  1329. Specify a plugin to load
  1330. fplugin-arg-
  1331. Common Joined RejectNegative Var(common_deferred_options) Defer
  1332. -fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name>
  1333. fpredictive-commoning
  1334. Common Report Var(flag_predictive_commoning) Optimization
  1335. Run predictive commoning optimization.
  1336. fprefetch-loop-arrays
  1337. Common Report Var(flag_prefetch_loop_arrays) Init(-1) Optimization
  1338. Generate prefetch instructions, if available, for arrays in loops
  1339. fprofile
  1340. Common Report Var(profile_flag)
  1341. Enable basic program profiling code
  1342. fprofile-arcs
  1343. Common Report Var(profile_arc_flag)
  1344. Insert arc-based program profiling code
  1345. fprofile-dir=
  1346. Common Joined RejectNegative Var(profile_data_prefix)
  1347. Set the top-level directory for storing the profile data.
  1348. The default is 'pwd'.
  1349. fprofile-correction
  1350. Common Report Var(flag_profile_correction)
  1351. Enable correction of flow inconsistent profile data input
  1352. fprofile-generate
  1353. Common
  1354. Enable common options for generating profile info for profile feedback directed optimizations
  1355. fprofile-generate=
  1356. Common Joined RejectNegative
  1357. Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=
  1358. fprofile-use
  1359. Common Var(flag_profile_use)
  1360. Enable common options for performing profile feedback directed optimizations
  1361. fprofile-use=
  1362. Common Joined RejectNegative
  1363. Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=
  1364. fprofile-values
  1365. Common Report Var(flag_profile_values)
  1366. Insert code to profile values of expressions
  1367. fprofile-report
  1368. Common Report Var(profile_report)
  1369. Report on consistency of profile
  1370. fprofile-reorder-functions
  1371. Common Report Var(flag_profile_reorder_functions)
  1372. Enable function reordering that improves code placement
  1373. frandom-seed
  1374. Common Var(common_deferred_options) Defer
  1375. frandom-seed=
  1376. Common Joined RejectNegative Var(common_deferred_options) Defer
  1377. -frandom-seed=<number> Make compile reproducible using <number>
  1378. ; This switch causes the command line that was used to create an
  1379. ; object file to be recorded into the object file. The exact format
  1380. ; of this recording is target and binary file format dependent.
  1381. ; It is related to the -fverbose-asm switch, but that switch only
  1382. ; records information in the assembler output file as comments, so
  1383. ; they never reach the object file.
  1384. frecord-gcc-switches
  1385. Common Report Var(flag_record_gcc_switches)
  1386. Record gcc command line switches in the object file.
  1387. freg-struct-return
  1388. Common Report Var(flag_pcc_struct_return,0) Optimization
  1389. Return small aggregates in registers
  1390. fregmove
  1391. Common Ignore
  1392. Does nothing. Preserved for backward compatibility.
  1393. flifetime-dse
  1394. Common Report Var(flag_lifetime_dse) Init(1) Optimization
  1395. Tell DSE that the storage for a C++ object is dead when the constructor
  1396. starts and when the destructor finishes.
  1397. flive-range-shrinkage
  1398. Common Report Var(flag_live_range_shrinkage) Init(0) Optimization
  1399. Relief of register pressure through live range shrinkage
  1400. frename-registers
  1401. Common Report Var(flag_rename_registers) Init(2) Optimization
  1402. Perform a register renaming optimization pass
  1403. fschedule-fusion
  1404. Common Report Var(flag_schedule_fusion) Init(2) Optimization
  1405. Perform a target dependent instruction fusion optimization pass
  1406. freorder-blocks
  1407. Common Report Var(flag_reorder_blocks) Optimization
  1408. Reorder basic blocks to improve code placement
  1409. freorder-blocks-and-partition
  1410. Common Report Var(flag_reorder_blocks_and_partition) Optimization
  1411. Reorder basic blocks and partition into hot and cold sections
  1412. freorder-functions
  1413. Common Report Var(flag_reorder_functions) Optimization
  1414. Reorder functions to improve code placement
  1415. frerun-cse-after-loop
  1416. Common Report Var(flag_rerun_cse_after_loop) Optimization
  1417. Add a common subexpression elimination pass after loop optimizations
  1418. frerun-loop-opt
  1419. Common Ignore
  1420. Does nothing. Preserved for backward compatibility.
  1421. frounding-math
  1422. Common Report Var(flag_rounding_math) Optimization SetByCombined
  1423. Disable optimizations that assume default FP rounding behavior
  1424. fsched-interblock
  1425. Common Report Var(flag_schedule_interblock) Init(1) Optimization
  1426. Enable scheduling across basic blocks
  1427. fsched-pressure
  1428. Common Report Var(flag_sched_pressure) Init(0) Optimization
  1429. Enable register pressure sensitive insn scheduling
  1430. fsched-spec
  1431. Common Report Var(flag_schedule_speculative) Init(1) Optimization
  1432. Allow speculative motion of non-loads
  1433. fsched-spec-load
  1434. Common Report Var(flag_schedule_speculative_load) Optimization
  1435. Allow speculative motion of some loads
  1436. fsched-spec-load-dangerous
  1437. Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
  1438. Allow speculative motion of more loads
  1439. fsched-verbose=
  1440. Common RejectNegative Joined UInteger Var(sched_verbose_param)
  1441. -fsched-verbose=<number> Set the verbosity level of the scheduler
  1442. fsched2-use-superblocks
  1443. Common Report Var(flag_sched2_use_superblocks) Optimization
  1444. If scheduling post reload, do superblock scheduling
  1445. fsched2-use-traces
  1446. Common Ignore
  1447. Does nothing. Preserved for backward compatibility.
  1448. fschedule-insns
  1449. Common Report Var(flag_schedule_insns) Optimization
  1450. Reschedule instructions before register allocation
  1451. fschedule-insns2
  1452. Common Report Var(flag_schedule_insns_after_reload) Optimization
  1453. Reschedule instructions after register allocation
  1454. ; This flag should be on when a target implements non-trivial
  1455. ; scheduling hooks, maybe saving some information for its own sake.
  1456. ; On IA64, for example, this is used for correct bundling.
  1457. fselective-scheduling
  1458. Common Report Var(flag_selective_scheduling) Optimization
  1459. Schedule instructions using selective scheduling algorithm
  1460. fselective-scheduling2
  1461. Common Report Var(flag_selective_scheduling2) Optimization
  1462. Run selective scheduling after reload
  1463. fsel-sched-pipelining
  1464. Common Report Var(flag_sel_sched_pipelining) Init(0) Optimization
  1465. Perform software pipelining of inner loops during selective scheduling
  1466. fsel-sched-pipelining-outer-loops
  1467. Common Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization
  1468. Perform software pipelining of outer loops during selective scheduling
  1469. fsel-sched-reschedule-pipelined
  1470. Common Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization
  1471. Reschedule pipelined regions without pipelining
  1472. fsemantic-interposition
  1473. Common Report Var(flag_semantic_interposition) Init(1)
  1474. Allow interposing function (or variables) by ones with different semantics (or initializer) respectively by dynamic linker
  1475. ; sched_stalled_insns means that insns can be moved prematurely from the queue
  1476. ; of stalled insns into the ready list.
  1477. fsched-stalled-insns
  1478. Common Report Var(flag_sched_stalled_insns) Optimization UInteger
  1479. Allow premature scheduling of queued insns
  1480. fsched-stalled-insns=
  1481. Common RejectNegative Joined UInteger Optimization
  1482. -fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
  1483. ; sched_stalled_insns_dep controls how many recently scheduled cycles will
  1484. ; be examined for a dependency on a stalled insn that is candidate for
  1485. ; premature removal from the queue of stalled insns into the ready list (has
  1486. ; an effect only if the flag 'sched_stalled_insns' is set).
  1487. fsched-stalled-insns-dep
  1488. Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger
  1489. Set dependence distance checking in premature scheduling of queued insns
  1490. fsched-stalled-insns-dep=
  1491. Common RejectNegative Joined UInteger Optimization
  1492. -fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
  1493. fsched-group-heuristic
  1494. Common Report Var(flag_sched_group_heuristic) Init(1) Optimization
  1495. Enable the group heuristic in the scheduler
  1496. fsched-critical-path-heuristic
  1497. Common Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization
  1498. Enable the critical path heuristic in the scheduler
  1499. fsched-spec-insn-heuristic
  1500. Common Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization
  1501. Enable the speculative instruction heuristic in the scheduler
  1502. fsched-rank-heuristic
  1503. Common Report Var(flag_sched_rank_heuristic) Init(1) Optimization
  1504. Enable the rank heuristic in the scheduler
  1505. fsched-last-insn-heuristic
  1506. Common Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization
  1507. Enable the last instruction heuristic in the scheduler
  1508. fsched-dep-count-heuristic
  1509. Common Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization
  1510. Enable the dependent count heuristic in the scheduler
  1511. fsection-anchors
  1512. Common Report Var(flag_section_anchors) Optimization
  1513. Access data in the same section from shared anchor points
  1514. fsee
  1515. Common Ignore
  1516. Does nothing. Preserved for backward compatibility.
  1517. fzee
  1518. Common Ignore
  1519. Does nothing. Preserved for backward compatibility.
  1520. free
  1521. Common Report Var(flag_ree) Init(0)
  1522. Turn on Redundant Extensions Elimination pass.
  1523. fshow-column
  1524. Common Report Var(flag_show_column) Init(1)
  1525. Show column numbers in diagnostics, when available. Default on
  1526. fshrink-wrap
  1527. Common Report Var(flag_shrink_wrap) Optimization
  1528. Emit function prologues only before parts of the function that need it,
  1529. rather than at the top of the function.
  1530. fsignaling-nans
  1531. Common Report Var(flag_signaling_nans) Optimization SetByCombined
  1532. Disable optimizations observable by IEEE signaling NaNs
  1533. fsigned-zeros
  1534. Common Report Var(flag_signed_zeros) Init(1) Optimization SetByCombined
  1535. Disable floating point optimizations that ignore the IEEE signedness of zero
  1536. fsingle-precision-constant
  1537. Common Report Var(flag_single_precision_constant) Optimization
  1538. Convert floating point constants to single precision constants
  1539. fsplit-ivs-in-unroller
  1540. Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
  1541. Split lifetimes of induction variables when loops are unrolled
  1542. fsplit-stack
  1543. Common Report Var(flag_split_stack) Init(-1)
  1544. Generate discontiguous stack frames
  1545. fsplit-wide-types
  1546. Common Report Var(flag_split_wide_types) Optimization
  1547. Split wide types into independent registers
  1548. fssa-phiopt
  1549. Common Report Var(flag_ssa_phiopt) Optimization
  1550. Optimize conditional patterns using SSA PHI nodes
  1551. fstdarg-opt
  1552. Common Report Var(flag_stdarg_opt) Init(1) Optimization
  1553. Optimize amount of stdarg registers saved to stack at start of function
  1554. fvariable-expansion-in-unroller
  1555. Common Report Var(flag_variable_expansion_in_unroller) Optimization
  1556. Apply variable expansion when loops are unrolled
  1557. fstack-check=
  1558. Common Report RejectNegative Joined
  1559. -fstack-check=[no|generic|specific] Insert stack checking code into the program
  1560. fstack-check
  1561. Common Alias(fstack-check=, specific, no)
  1562. Insert stack checking code into the program. Same as -fstack-check=specific
  1563. fstack-limit
  1564. Common Var(common_deferred_options) Defer
  1565. fstack-limit-register=
  1566. Common RejectNegative Joined Var(common_deferred_options) Defer
  1567. -fstack-limit-register=<register> Trap if the stack goes past <register>
  1568. fstack-limit-symbol=
  1569. Common RejectNegative Joined Var(common_deferred_options) Defer
  1570. -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
  1571. fstack-protector
  1572. Common Report Var(flag_stack_protect, 1)
  1573. Use propolice as a stack protection method
  1574. fstack-protector-all
  1575. Common Report RejectNegative Var(flag_stack_protect, 2)
  1576. Use a stack protection method for every function
  1577. fstack-protector-strong
  1578. Common Report RejectNegative Var(flag_stack_protect, 3)
  1579. Use a smart stack protection method for certain functions
  1580. fstack-protector-explicit
  1581. Common Report RejectNegative Var(flag_stack_protect, 4)
  1582. Use stack protection method only for functions with the stack_protect attribute
  1583. fstack-usage
  1584. Common RejectNegative Var(flag_stack_usage)
  1585. Output stack usage information on a per-function basis
  1586. fstrength-reduce
  1587. Common Ignore
  1588. Does nothing. Preserved for backward compatibility.
  1589. ; Nonzero if we should do (language-dependent) alias analysis.
  1590. ; Typically, this analysis will assume that expressions of certain
  1591. ; types do not alias expressions of certain other types. Only used
  1592. ; if alias analysis (in general) is enabled.
  1593. fstrict-aliasing
  1594. Common Report Var(flag_strict_aliasing) Optimization
  1595. Assume strict aliasing rules apply
  1596. fstrict-overflow
  1597. Common Report Var(flag_strict_overflow) Optimization
  1598. Treat signed overflow as undefined
  1599. fsync-libcalls
  1600. Common Report Var(flag_sync_libcalls) Init(1)
  1601. Implement __atomic operations via libcalls to legacy __sync functions
  1602. fsyntax-only
  1603. Common Report Var(flag_syntax_only)
  1604. Check for syntax errors, then stop
  1605. ftest-coverage
  1606. Common Report Var(flag_test_coverage)
  1607. Create data files needed by \"gcov\"
  1608. fthread-jumps
  1609. Common Report Var(flag_thread_jumps) Optimization
  1610. Perform jump threading optimizations
  1611. ftime-report
  1612. Common Report Var(time_report)
  1613. Report the time taken by each compiler pass
  1614. ftls-model=
  1615. Common Joined RejectNegative Enum(tls_model) Var(flag_tls_default) Init(TLS_MODEL_GLOBAL_DYNAMIC)
  1616. -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
  1617. Enum
  1618. Name(tls_model) Type(enum tls_model) UnknownError(unknown TLS model %qs)
  1619. EnumValue
  1620. Enum(tls_model) String(global-dynamic) Value(TLS_MODEL_GLOBAL_DYNAMIC)
  1621. EnumValue
  1622. Enum(tls_model) String(local-dynamic) Value(TLS_MODEL_LOCAL_DYNAMIC)
  1623. EnumValue
  1624. Enum(tls_model) String(initial-exec) Value(TLS_MODEL_INITIAL_EXEC)
  1625. EnumValue
  1626. Enum(tls_model) String(local-exec) Value(TLS_MODEL_LOCAL_EXEC)
  1627. ftoplevel-reorder
  1628. Common Report Var(flag_toplevel_reorder) Init(2)
  1629. Reorder top level functions, variables, and asms
  1630. ftracer
  1631. Common Report Var(flag_tracer) Optimization
  1632. Perform superblock formation via tail duplication
  1633. ; Zero means that floating-point math operations cannot generate a
  1634. ; (user-visible) trap. This is the case, for example, in nonstop
  1635. ; IEEE 754 arithmetic.
  1636. ftrapping-math
  1637. Common Report Var(flag_trapping_math) Init(1) Optimization SetByCombined
  1638. Assume floating-point operations can trap
  1639. ftrapv
  1640. Common Report Var(flag_trapv) Optimization
  1641. Trap for signed overflow in addition, subtraction and multiplication
  1642. ftree-ccp
  1643. Common Report Var(flag_tree_ccp) Optimization
  1644. Enable SSA-CCP optimization on trees
  1645. ftree-bit-ccp
  1646. Common Report Var(flag_tree_bit_ccp) Optimization
  1647. Enable SSA-BIT-CCP optimization on trees
  1648. ftree-store-ccp
  1649. Common Ignore
  1650. Does nothing. Preserved for backward compatibility.
  1651. ftree-ch
  1652. Common Report Var(flag_tree_ch) Optimization
  1653. Enable loop header copying on trees
  1654. ftree-coalesce-inlined-vars
  1655. Common Report Var(flag_ssa_coalesce_vars,1) Init(2) RejectNegative Optimization
  1656. Enable coalescing of copy-related user variables that are inlined
  1657. ftree-coalesce-vars
  1658. Common Report Var(flag_ssa_coalesce_vars,2) Optimization
  1659. Enable coalescing of all copy-related user variables
  1660. ftree-copyrename
  1661. Common Report Var(flag_tree_copyrename) Optimization
  1662. Replace SSA temporaries with better names in copies
  1663. ftree-copy-prop
  1664. Common Report Var(flag_tree_copy_prop) Optimization
  1665. Enable copy propagation on trees
  1666. ftree-store-copy-prop
  1667. Common Ignore
  1668. Does nothing. Preserved for backward compatibility.
  1669. ftree-cselim
  1670. Common Report Var(flag_tree_cselim) Init(2) Optimization
  1671. Transform condition stores into unconditional ones
  1672. ftree-switch-conversion
  1673. Common Report Var(flag_tree_switch_conversion) Optimization
  1674. Perform conversions of switch initializations.
  1675. ftree-dce
  1676. Common Report Var(flag_tree_dce) Optimization
  1677. Enable SSA dead code elimination optimization on trees
  1678. ftree-dominator-opts
  1679. Common Report Var(flag_tree_dom) Optimization
  1680. Enable dominator optimizations
  1681. ftree-tail-merge
  1682. Common Report Var(flag_tree_tail_merge) Optimization
  1683. Enable tail merging on trees
  1684. ftree-dse
  1685. Common Report Var(flag_tree_dse) Optimization
  1686. Enable dead store elimination
  1687. ftree-forwprop
  1688. Common Report Var(flag_tree_forwprop) Init(1) Optimization
  1689. Enable forward propagation on trees
  1690. ftree-fre
  1691. Common Report Var(flag_tree_fre) Optimization
  1692. Enable Full Redundancy Elimination (FRE) on trees
  1693. foptimize-strlen
  1694. Common Report Var(flag_optimize_strlen) Optimization
  1695. Enable string length optimizations on trees
  1696. fisolate-erroneous-paths-dereference
  1697. Common Report Var(flag_isolate_erroneous_paths_dereference) Optimization
  1698. Detect paths that trigger erroneous or undefined behavior due to
  1699. dereferencing a null pointer. Isolate those paths from the main control
  1700. flow and turn the statement with erroneous or undefined behavior into a trap.
  1701. fisolate-erroneous-paths-attribute
  1702. Common Report Var(flag_isolate_erroneous_paths_attribute) Optimization
  1703. Detect paths that trigger erroneous or undefined behavior due a null value
  1704. being used in a way forbidden by a returns_nonnull or nonnull
  1705. attribute. Isolate those paths from the main control flow and turn the
  1706. statement with erroneous or undefined behavior into a trap.
  1707. ftree-loop-distribution
  1708. Common Report Var(flag_tree_loop_distribution) Optimization
  1709. Enable loop distribution on trees
  1710. ftree-loop-distribute-patterns
  1711. Common Report Var(flag_tree_loop_distribute_patterns) Optimization
  1712. Enable loop distribution for patterns transformed into a library call
  1713. ftree-loop-im
  1714. Common Report Var(flag_tree_loop_im) Init(1) Optimization
  1715. Enable loop invariant motion on trees
  1716. ftree-loop-linear
  1717. Common Alias(floop-interchange)
  1718. Enable loop interchange transforms. Same as -floop-interchange
  1719. ftree-loop-ivcanon
  1720. Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
  1721. Create canonical induction variables in loops
  1722. ftree-loop-optimize
  1723. Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
  1724. Enable loop optimizations on tree level
  1725. ftree-parallelize-loops=
  1726. Common Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1) Optimization
  1727. Enable automatic parallelization of loops
  1728. ftree-phiprop
  1729. Common Report Var(flag_tree_phiprop) Init(1) Optimization
  1730. Enable hoisting loads from conditional pointers.
  1731. ftree-pre
  1732. Common Report Var(flag_tree_pre) Optimization
  1733. Enable SSA-PRE optimization on trees
  1734. ftree-partial-pre
  1735. Common Report Var(flag_tree_partial_pre) Optimization
  1736. In SSA-PRE optimization on trees, enable partial-partial redundancy elimination
  1737. ftree-pta
  1738. Common Report Var(flag_tree_pta) Optimization
  1739. Perform function-local points-to analysis on trees.
  1740. ftree-reassoc
  1741. Common Report Var(flag_tree_reassoc) Init(1) Optimization
  1742. Enable reassociation on tree level
  1743. ftree-salias
  1744. Common Ignore
  1745. Does nothing. Preserved for backward compatibility.
  1746. ftree-sink
  1747. Common Report Var(flag_tree_sink) Optimization
  1748. Enable SSA code sinking on trees
  1749. ftree-slsr
  1750. Common Report Var(flag_tree_slsr) Optimization
  1751. Perform straight-line strength reduction
  1752. ftree-sra
  1753. Common Report Var(flag_tree_sra) Optimization
  1754. Perform scalar replacement of aggregates
  1755. ftree-ter
  1756. Common Report Var(flag_tree_ter) Optimization
  1757. Replace temporary expressions in the SSA->normal pass
  1758. ftree-lrs
  1759. Common Report Var(flag_tree_live_range_split) Optimization
  1760. Perform live range splitting during the SSA->normal pass
  1761. ftree-vrp
  1762. Common Report Var(flag_tree_vrp) Init(0) Optimization
  1763. Perform Value Range Propagation on trees
  1764. funit-at-a-time
  1765. Common Report Var(flag_unit_at_a_time) Init(1)
  1766. Compile whole compilation unit at a time
  1767. funroll-loops
  1768. Common Report Var(flag_unroll_loops) Optimization
  1769. Perform loop unrolling when iteration count is known
  1770. funroll-all-loops
  1771. Common Report Var(flag_unroll_all_loops) Optimization
  1772. Perform loop unrolling for all loops
  1773. ; Nonzero means that loop optimizer may assume that the induction variables
  1774. ; that control loops do not overflow and that the loops with nontrivial
  1775. ; exit condition are not infinite
  1776. funsafe-loop-optimizations
  1777. Common Report Var(flag_unsafe_loop_optimizations) Optimization
  1778. Allow loop optimizations to assume that the loops behave in normal way
  1779. fassociative-math
  1780. Common Report Var(flag_associative_math) SetByCombined Optimization
  1781. Allow optimization for floating-point arithmetic which may change the
  1782. result of the operation due to rounding.
  1783. freciprocal-math
  1784. Common Report Var(flag_reciprocal_math) SetByCombined Optimization
  1785. Same as -fassociative-math for expressions which include division.
  1786. ; Nonzero means that unsafe floating-point math optimizations are allowed
  1787. ; for the sake of speed. IEEE compliance is not guaranteed, and operations
  1788. ; are allowed to assume that their arguments and results are "normal"
  1789. ; (e.g., nonnegative for SQRT).
  1790. funsafe-math-optimizations
  1791. Common Report Var(flag_unsafe_math_optimizations) Optimization SetByCombined
  1792. Allow math optimizations that may violate IEEE or ISO standards
  1793. funswitch-loops
  1794. Common Report Var(flag_unswitch_loops) Optimization
  1795. Perform loop unswitching
  1796. funwind-tables
  1797. Common Report Var(flag_unwind_tables) Optimization
  1798. Just generate unwind tables for exception handling
  1799. fuse-ld=bfd
  1800. Common Driver Negative(fuse-ld=gold)
  1801. Use the bfd linker instead of the default linker
  1802. fuse-ld=gold
  1803. Common Driver Negative(fuse-ld=bfd)
  1804. Use the gold linker instead of the default linker
  1805. fuse-linker-plugin
  1806. Common Undocumented Var(flag_use_linker_plugin)
  1807. ; Positive if we should track variables, negative if we should run
  1808. ; the var-tracking pass only to discard debug annotations, zero if
  1809. ; we're not to run it. When flag_var_tracking == 2 (AUTODETECT_VALUE) it
  1810. ; will be set according to optimize, debug_info_level and debug_hooks
  1811. ; in process_options ().
  1812. fvar-tracking
  1813. Common Report Var(flag_var_tracking) Init(2) Optimization
  1814. Perform variable tracking
  1815. ; Positive if we should track variables at assignments, negative if
  1816. ; we should run the var-tracking pass only to discard debug
  1817. ; annotations. When flag_var_tracking_assignments ==
  1818. ; AUTODETECT_VALUE it will be set according to flag_var_tracking.
  1819. fvar-tracking-assignments
  1820. Common Report Var(flag_var_tracking_assignments) Init(2) Optimization
  1821. Perform variable tracking by annotating assignments
  1822. ; Nonzero if we should toggle flag_var_tracking_assignments after
  1823. ; processing options and computing its default. */
  1824. fvar-tracking-assignments-toggle
  1825. Common Report Var(flag_var_tracking_assignments_toggle) Optimization
  1826. Toggle -fvar-tracking-assignments
  1827. ; Positive if we should track uninitialized variables, negative if
  1828. ; we should run the var-tracking pass only to discard debug
  1829. ; annotations. When flag_var_tracking_uninit == AUTODETECT_VALUE it
  1830. ; will be set according to flag_var_tracking.
  1831. fvar-tracking-uninit
  1832. Common Report Var(flag_var_tracking_uninit) Optimization
  1833. Perform variable tracking and also tag variables that are uninitialized
  1834. ftree-vectorize
  1835. Common Report Var(flag_tree_vectorize) Optimization
  1836. Enable vectorization on trees
  1837. ftree-vectorizer-verbose=
  1838. Common Joined RejectNegative Ignore
  1839. Does nothing. Preserved for backward compatibility.
  1840. ftree-loop-vectorize
  1841. Common Report Var(flag_tree_loop_vectorize) Optimization
  1842. Enable loop vectorization on trees
  1843. ftree-slp-vectorize
  1844. Common Report Var(flag_tree_slp_vectorize) Optimization
  1845. Enable basic block vectorization (SLP) on trees
  1846. fvect-cost-model=
  1847. Common Joined RejectNegative Enum(vect_cost_model) Var(flag_vect_cost_model) Init(VECT_COST_MODEL_DEFAULT) Optimization
  1848. Specifies the cost model for vectorization
  1849. fsimd-cost-model=
  1850. Common Joined RejectNegative Enum(vect_cost_model) Var(flag_simd_cost_model) Init(VECT_COST_MODEL_UNLIMITED) Optimization
  1851. Specifies the vectorization cost model for code marked with a simd directive
  1852. Enum
  1853. Name(vect_cost_model) Type(enum vect_cost_model) UnknownError(unknown vectorizer cost model %qs)
  1854. EnumValue
  1855. Enum(vect_cost_model) String(unlimited) Value(VECT_COST_MODEL_UNLIMITED)
  1856. EnumValue
  1857. Enum(vect_cost_model) String(dynamic) Value(VECT_COST_MODEL_DYNAMIC)
  1858. EnumValue
  1859. Enum(vect_cost_model) String(cheap) Value(VECT_COST_MODEL_CHEAP)
  1860. fvect-cost-model
  1861. Common RejectNegative Alias(fvect-cost-model=,dynamic)
  1862. Enables the dynamic vectorizer cost model. Preserved for backward compatibility.
  1863. fno-vect-cost-model
  1864. Common RejectNegative Alias(fvect-cost-model=,unlimited)
  1865. Enables the unlimited vectorizer cost model. Preserved for backward compatibility.
  1866. ftree-vect-loop-version
  1867. Common Ignore
  1868. Does nothing. Preserved for backward compatibility.
  1869. ftree-scev-cprop
  1870. Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
  1871. Enable copy propagation of scalar-evolution information.
  1872. ; -fverbose-asm causes extra commentary information to be produced in
  1873. ; the generated assembly code (to make it more readable). This option
  1874. ; is generally only of use to those who actually need to read the
  1875. ; generated assembly code (perhaps while debugging the compiler itself).
  1876. ; -fno-verbose-asm, the default, causes the extra information
  1877. ; to not be added and is useful when comparing two assembler files.
  1878. fverbose-asm
  1879. Common Report Var(flag_verbose_asm)
  1880. Add extra commentary to assembler output
  1881. fvisibility=
  1882. Common Joined RejectNegative Enum(symbol_visibility) Var(default_visibility) Init(VISIBILITY_DEFAULT)
  1883. -fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
  1884. Enum
  1885. Name(symbol_visibility) Type(enum symbol_visibility) UnknownError(unrecognized visibility value %qs)
  1886. EnumValue
  1887. Enum(symbol_visibility) String(default) Value(VISIBILITY_DEFAULT)
  1888. EnumValue
  1889. Enum(symbol_visibility) String(internal) Value(VISIBILITY_INTERNAL)
  1890. EnumValue
  1891. Enum(symbol_visibility) String(hidden) Value(VISIBILITY_HIDDEN)
  1892. EnumValue
  1893. Enum(symbol_visibility) String(protected) Value(VISIBILITY_PROTECTED)
  1894. fvtable-verify=
  1895. Common Joined RejectNegative Enum(vtv_priority) Var(flag_vtable_verify) Init(VTV_NO_PRIORITY)
  1896. Validate vtable pointers before using them.
  1897. Enum
  1898. Name(vtv_priority) Type(enum vtv_priority) UnknownError(unknown vtable verify initialization priority %qs)
  1899. EnumValue
  1900. Enum(vtv_priority) String(none) Value(VTV_NO_PRIORITY)
  1901. EnumValue
  1902. Enum(vtv_priority) String(std) Value(VTV_STANDARD_PRIORITY)
  1903. EnumValue
  1904. Enum(vtv_priority) String(preinit) Value(VTV_PREINIT_PRIORITY)
  1905. fvtv-counts
  1906. Common Var(flag_vtv_counts)
  1907. Output vtable verification counters.
  1908. fvtv-debug
  1909. Common Var(flag_vtv_debug)
  1910. Output vtable verification pointer sets information.
  1911. fvpt
  1912. Common Report Var(flag_value_profile_transformations) Optimization
  1913. Use expression value profiles in optimizations
  1914. fweb
  1915. Common Report Var(flag_web) Init(2) Optimization
  1916. Construct webs and split unrelated uses of single variable
  1917. ftree-builtin-call-dce
  1918. Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization
  1919. Enable conditional dead code elimination for builtin calls
  1920. fwhole-program
  1921. Common Report Var(flag_whole_program) Init(0)
  1922. Perform whole program optimizations
  1923. fwrapv
  1924. Common Report Var(flag_wrapv) Optimization
  1925. Assume signed arithmetic overflow wraps around
  1926. fzero-initialized-in-bss
  1927. Common Report Var(flag_zero_initialized_in_bss) Init(1)
  1928. Put zero initialized data in the bss section
  1929. g
  1930. Common JoinedOrMissing
  1931. Generate debug information in default format
  1932. gcoff
  1933. Common JoinedOrMissing Negative(gdwarf)
  1934. Generate debug information in COFF format
  1935. gdwarf
  1936. Common JoinedOrMissing Negative(gdwarf-)
  1937. Generate debug information in default version of DWARF format
  1938. gdwarf-
  1939. Common Joined UInteger Var(dwarf_version) Init(4) Negative(gstabs)
  1940. Generate debug information in DWARF v2 (or later) format
  1941. ggdb
  1942. Common JoinedOrMissing
  1943. Generate debug information in default extended format
  1944. gno-pubnames
  1945. Common Negative(gpubnames) Var(debug_generate_pub_sections, 0) Init(-1)
  1946. Don't generate DWARF pubnames and pubtypes sections.
  1947. gpubnames
  1948. Common Negative(ggnu-pubnames) Var(debug_generate_pub_sections, 1)
  1949. Generate DWARF pubnames and pubtypes sections.
  1950. ggnu-pubnames
  1951. Common Negative(gno-pubnames) Var(debug_generate_pub_sections, 2)
  1952. Generate DWARF pubnames and pubtypes sections with GNU extensions.
  1953. gno-record-gcc-switches
  1954. Common RejectNegative Var(dwarf_record_gcc_switches,0) Init(1)
  1955. Don't record gcc command line switches in DWARF DW_AT_producer.
  1956. grecord-gcc-switches
  1957. Common RejectNegative Var(dwarf_record_gcc_switches,1)
  1958. Record gcc command line switches in DWARF DW_AT_producer.
  1959. gno-split-dwarf
  1960. Common Driver RejectNegative Var(dwarf_split_debug_info,0) Init(0)
  1961. Don't generate debug information in separate .dwo files
  1962. gsplit-dwarf
  1963. Common Driver RejectNegative Var(dwarf_split_debug_info,1)
  1964. Generate debug information in separate .dwo files
  1965. gstabs
  1966. Common JoinedOrMissing Negative(gstabs+)
  1967. Generate debug information in STABS format
  1968. gstabs+
  1969. Common JoinedOrMissing Negative(gvms)
  1970. Generate debug information in extended STABS format
  1971. gno-strict-dwarf
  1972. Common RejectNegative Var(dwarf_strict,0) Init(0)
  1973. Emit DWARF additions beyond selected version
  1974. gstrict-dwarf
  1975. Common Report RejectNegative Var(dwarf_strict,1)
  1976. Don't emit DWARF additions beyond selected version
  1977. gtoggle
  1978. Common Report Var(flag_gtoggle)
  1979. Toggle debug information generation
  1980. gvms
  1981. Common JoinedOrMissing Negative(gxcoff)
  1982. Generate debug information in VMS format
  1983. gxcoff
  1984. Common JoinedOrMissing Negative(gxcoff+)
  1985. Generate debug information in XCOFF format
  1986. gxcoff+
  1987. Common JoinedOrMissing Negative(gcoff)
  1988. Generate debug information in extended XCOFF format
  1989. Enum
  1990. Name(compressed_debug_sections) Type(int)
  1991. ; Since -gz= is completely handled in specs, the values aren't used and we
  1992. ; assign arbitrary constants.
  1993. EnumValue
  1994. Enum(compressed_debug_sections) String(none) Value(0)
  1995. EnumValue
  1996. Enum(compressed_debug_sections) String(zlib) Value(1)
  1997. EnumValue
  1998. Enum(compressed_debug_sections) String(zlib-gnu) Value(2)
  1999. gz
  2000. Common Driver
  2001. Generate compressed debug sections
  2002. gz=
  2003. Common Driver Joined Enum(compressed_debug_sections)
  2004. -gz=<format> Generate compressed debug sections in format <format>
  2005. h
  2006. Driver Joined Separate
  2007. iplugindir=
  2008. Common Joined Var(plugindir_string) Init(0)
  2009. -iplugindir=<dir> Set <dir> to be the default plugin directory
  2010. imultiarch
  2011. Common Joined Separate RejectDriver Var(imultiarch) Init(0)
  2012. -imultiarch <dir> Set <dir> to be the multiarch include subdirectory
  2013. l
  2014. Driver Joined Separate
  2015. n
  2016. Driver
  2017. no-canonical-prefixes
  2018. Driver
  2019. nodefaultlibs
  2020. Driver
  2021. nostartfiles
  2022. Driver
  2023. nostdlib
  2024. Driver
  2025. o
  2026. Common Driver Joined Separate Var(asm_file_name) MissingArgError(missing filename after %qs)
  2027. -o <file> Place output into <file>
  2028. p
  2029. Common Var(profile_flag)
  2030. Enable function profiling
  2031. pass-exit-codes
  2032. Driver Var(pass_exit_codes)
  2033. pedantic
  2034. Common Alias(Wpedantic)
  2035. pedantic-errors
  2036. Common Var(flag_pedantic_errors)
  2037. Like -pedantic but issue them as errors
  2038. pg
  2039. Driver
  2040. pipe
  2041. Driver Var(use_pipes)
  2042. print-file-name=
  2043. Driver JoinedOrMissing Var(print_file_name)
  2044. print-libgcc-file-name
  2045. Driver
  2046. print-multi-directory
  2047. Driver Var(print_multi_directory)
  2048. print-multi-lib
  2049. Driver Var(print_multi_lib)
  2050. print-multi-os-directory
  2051. Driver Var(print_multi_os_directory)
  2052. print-multiarch
  2053. Driver Var(print_multiarch)
  2054. print-prog-name=
  2055. Driver JoinedOrMissing Var(print_prog_name)
  2056. print-search-dirs
  2057. Driver Var(print_search_dirs)
  2058. print-sysroot
  2059. Driver Var(print_sysroot)
  2060. print-sysroot-headers-suffix
  2061. Driver Var(print_sysroot_headers_suffix)
  2062. quiet
  2063. Common Var(quiet_flag) RejectDriver
  2064. Do not display functions compiled or elapsed time
  2065. r
  2066. Driver
  2067. s
  2068. Driver
  2069. save-temps
  2070. Driver
  2071. save-temps=
  2072. Driver Joined
  2073. t
  2074. Driver
  2075. time
  2076. Driver Var(report_times)
  2077. time=
  2078. Driver JoinedOrMissing
  2079. u
  2080. Driver Joined Separate
  2081. undef
  2082. Driver
  2083. ; C option, but driver must not handle as "-u ndef".
  2084. v
  2085. Common Driver Var(verbose_flag)
  2086. Enable verbose output
  2087. version
  2088. Common Var(version_flag) RejectDriver
  2089. Display the compiler's version
  2090. w
  2091. Common Var(inhibit_warnings)
  2092. Suppress warnings
  2093. wrapper
  2094. Driver Separate Var(wrapper_string)
  2095. x
  2096. Driver Joined Separate
  2097. shared
  2098. Driver RejectNegative Negative(pie)
  2099. Create a shared library
  2100. shared-libgcc
  2101. Driver
  2102. specs
  2103. Driver Separate Alias(specs=)
  2104. specs=
  2105. Driver Joined
  2106. static
  2107. Driver
  2108. static-libgcc
  2109. Driver
  2110. static-libgfortran
  2111. Driver
  2112. ; Documented for Fortran, but always accepted by driver.
  2113. static-libstdc++
  2114. Driver
  2115. static-libgo
  2116. Driver
  2117. ; Documented for Go, but always accepted by driver.
  2118. static-libasan
  2119. Driver
  2120. static-libtsan
  2121. Driver
  2122. static-liblsan
  2123. Driver
  2124. static-libubsan
  2125. Driver
  2126. symbolic
  2127. Driver
  2128. pie
  2129. Driver RejectNegative Negative(shared)
  2130. Create a position independent executable
  2131. z
  2132. Driver Joined Separate
  2133. fipa-ra
  2134. Common Report Var(flag_ipa_ra) Optimization
  2135. Use caller save register across calls if possible
  2136. ; This comment is to ensure we retain the blank line above.