1132718Skan; Options for the language- and target-independent parts of the compiler.
2169689Skan
3169689Skan; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
4132718Skan;
5132718Skan; This file is part of GCC.
6132718Skan;
7132718Skan; GCC is free software; you can redistribute it and/or modify it under
8132718Skan; the terms of the GNU General Public License as published by the Free
9132718Skan; Software Foundation; either version 2, or (at your option) any later
10132718Skan; version.
11169689Skan;
12132718Skan; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13132718Skan; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14132718Skan; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15132718Skan; for more details.
16169689Skan;
17132718Skan; You should have received a copy of the GNU General Public License
18132718Skan; along with GCC; see the file COPYING.  If not, write to the Free
19169689Skan; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
20169689Skan; 02110-1301, USA.
21132718Skan
22169689Skan; See the GCC internals manual for a description of this file's format.
23132718Skan
24132718Skan; Please try to keep this file in ASCII collating order.
25132718Skan
26132718Skan-help
27132718SkanCommon
28132718SkanDisplay this information
29132718Skan
30132718Skan-param
31132718SkanCommon Separate
32146895Skan--param <param>=<value>	Set parameter <param> to value.  See below for a complete list of parameters
33132718Skan
34132718Skan-target-help
35132718SkanCommon
36132718Skan
37132718Skan-version
38132718SkanCommon
39132718Skan
40132718SkanG
41132718SkanCommon Joined Separate UInteger
42132718Skan-G<number>	Put global and static data smaller than <number> bytes into a special section (on some targets)
43132718Skan
44132718SkanO
45132718SkanCommon JoinedOrMissing
46132718Skan-O<number>	Set optimization level to <number>
47132718Skan
48132718SkanOs
49132718SkanCommon
50132718SkanOptimize for space rather than speed
51132718Skan
52132718SkanW
53132718SkanCommon RejectNegative
54132718SkanThis switch is deprecated; use -Wextra instead
55132718Skan
56132718SkanWaggregate-return
57169689SkanCommon Var(warn_aggregate_return)
58132718SkanWarn about returning structures, unions or arrays
59132718Skan
60169689SkanWattributes
61169689SkanCommon Var(warn_attributes) Init(1)
62169689SkanWarn about inappropriate attribute usage
63169689Skan
64132718SkanWcast-align
65169689SkanCommon Var(warn_cast_align)
66132718SkanWarn about pointer casts which increase alignment
67132718Skan
68132718SkanWdeprecated-declarations
69169689SkanCommon Var(warn_deprecated_decl) Init(1)
70132718SkanWarn about uses of __attribute__((deprecated)) declarations
71132718Skan
72132718SkanWdisabled-optimization
73169689SkanCommon Var(warn_disabled_optimization)
74132718SkanWarn when an optimization pass is disabled
75132718Skan
76132718SkanWerror
77169689SkanCommon Var(warnings_are_errors)
78132718SkanTreat all warnings as errors
79132718Skan
80169689SkanWerror=
81169689SkanCommon Joined
82169689SkanTreat specified warning as error
83169689Skan
84132718SkanWextra
85132718SkanCommon
86132718SkanPrint extra (possibly unwanted) warnings
87132718Skan
88169689SkanWfatal-errors
89169689SkanCommon Var(flag_fatal_errors)
90169689SkanExit on the first error occurred
91169689Skan
92132718SkanWinline
93169689SkanCommon Var(warn_inline)
94132718SkanWarn when an inlined function cannot be inlined
95132718Skan
96132718SkanWlarger-than-
97132718SkanCommon RejectNegative Joined UInteger
98258501Spfg-Wlarger-than-<number> Warn if an object is larger than <number> bytes
99132718Skan
100258501SpfgWframe-larger-than-
101258501SpfgCommon RejectNegative Joined UInteger
102258501Spfg-Wframe-larger-than-<number> Warn if the frame size of a function is larger than <number> bytes
103258501Spfg
104169689SkanWunsafe-loop-optimizations
105169689SkanCommon Var(warn_unsafe_loop_optimizations)
106169689SkanWarn if the loop cannot be optimized due to nontrivial assumptions.
107169689Skan
108132718SkanWmissing-noreturn
109169689SkanCommon Var(warn_missing_noreturn)
110132718SkanWarn about functions which might be candidates for __attribute__((noreturn))
111132718Skan
112169689SkanWoverflow
113169689SkanCommon Var(warn_overflow) Init(1)
114169689SkanWarn about overflow in arithmetic expressions
115169689Skan
116132718SkanWpacked
117169689SkanCommon Var(warn_packed)
118132718SkanWarn when the packed attribute has no effect on struct layout
119132718Skan
120132718SkanWpadded
121169689SkanCommon Var(warn_padded)
122132718SkanWarn when padding is required to align structure members
123132718Skan
124132718SkanWshadow
125169689SkanCommon Var(warn_shadow)
126132718SkanWarn when one local variable shadows another
127132718Skan
128169689SkanWstack-protector
129169689SkanCommon Var(warn_stack_protect)
130169689SkanWarn when not issuing stack smashing protection for some reason
131169689Skan
132132718SkanWstrict-aliasing
133132718SkanCommon
134132718SkanWarn about code which might break strict aliasing rules
135132718Skan
136169689SkanWstrict-aliasing=
137169689SkanCommon Joined UInteger
138169689SkanWarn about code which might break strict aliasing rules
139169689Skan
140169689SkanWstrict-overflow
141169689SkanCommon
142169689SkanWarn about optimizations that assume that signed overflow is undefined
143169689Skan
144169689SkanWstrict-overflow=
145169689SkanCommon Joined UInteger
146169689SkanWarn about optimizations that assume that signed overflow is undefined
147169689Skan
148132718SkanWswitch
149169689SkanCommon Var(warn_switch)
150132718SkanWarn about enumerated switches, with no default, missing a case
151132718Skan
152132718SkanWswitch-default
153169689SkanCommon Var(warn_switch_default)
154132718SkanWarn about enumerated switches missing a \"default:\" statement
155132718Skan
156132718SkanWswitch-enum
157169689SkanCommon Var(warn_switch_enum)
158132718SkanWarn about all enumerated switches missing a specific case
159132718Skan
160132718SkanWsystem-headers
161169689SkanCommon Var(warn_system_headers)
162132718SkanDo not suppress warnings from system headers
163132718Skan
164132718SkanWuninitialized
165169689SkanCommon Var(warn_uninitialized)
166132718SkanWarn about uninitialized automatic variables
167132718Skan
168132718SkanWunreachable-code
169169689SkanCommon Var(warn_notreached)
170132718SkanWarn about code that will never be executed
171132718Skan
172132718SkanWunused
173132718SkanCommon
174132718SkanEnable all -Wunused- warnings
175132718Skan
176132718SkanWunused-function
177169689SkanCommon Var(warn_unused_function)
178132718SkanWarn when a function is unused
179132718Skan
180132718SkanWunused-label
181169689SkanCommon Var(warn_unused_label)
182132718SkanWarn when a label is unused
183132718Skan
184132718SkanWunused-parameter
185169689SkanCommon Var(warn_unused_parameter)
186132718SkanWarn when a function parameter is unused
187132718Skan
188132718SkanWunused-value
189169689SkanCommon Var(warn_unused_value)
190132718SkanWarn when an expression value is unused
191132718Skan
192132718SkanWunused-variable
193169689SkanCommon Var(warn_unused_variable)
194132718SkanWarn when a variable is unused
195132718Skan
196223715SuqsWvariable-decl
197223715SuqsCommon Var(warn_variable_decl)
198223715SuqsWarn about variable-sized declarations.
199223715Suqs
200169689SkanWvolatile-register-var
201169689SkanCommon Var(warn_register_var)
202169689SkanWarn when a register variable is declared volatile
203169689Skan
204132718Skanaux-info
205132718SkanCommon Separate
206132718Skan-aux-info <file>	Emit declaration information into <file>
207132718Skan
208132718Skanaux-info=
209132718SkanCommon Joined
210132718Skan
211132718Skanauxbase
212132718SkanCommon Separate
213132718Skan
214132718Skanauxbase-strip
215132718SkanCommon Separate
216132718Skan
217132718Skand
218132718SkanCommon Joined
219132718Skan-d<letters>	Enable dumps from specific passes of the compiler
220132718Skan
221132718Skandumpbase
222132718SkanCommon Separate
223132718Skan-dumpbase <file>	Set the file basename to be used for dumps
224132718Skan
225169689Skan; The version of the C++ ABI in use.  The following values are allowed:
226169689Skan;
227169689Skan; 0: The version of the ABI believed most conformant with the C++ ABI
228169689Skan;    specification.  This ABI may change as bugs are discovered and fixed.
229169689Skan;    Therefore, 0 will not necessarily indicate the same ABI in different
230169689Skan;    versions of G++.
231169689Skan;
232169689Skan; 1: The version of the ABI first used in G++ 3.2.
233169689Skan;
234169689Skan; Additional positive integers will be assigned as new versions of
235169689Skan; the ABI become the default version of the ABI.
236132718Skanfabi-version=
237169689SkanCommon Joined UInteger Var(flag_abi_version) Init(2)
238132718Skan
239132718Skanfalign-functions
240169689SkanCommon Report Var(align_functions,0)
241132718SkanAlign the start of functions
242132718Skan
243132718Skanfalign-functions=
244132718SkanCommon RejectNegative Joined UInteger
245132718Skan
246132718Skanfalign-jumps
247169689SkanCommon Report Var(align_jumps,0)
248132718SkanAlign labels which are only reached by jumping
249132718Skan
250132718Skanfalign-jumps=
251132718SkanCommon RejectNegative Joined UInteger
252132718Skan
253132718Skanfalign-labels
254169689SkanCommon Report Var(align_labels,0)
255132718SkanAlign all labels
256132718Skan
257132718Skanfalign-labels=
258132718SkanCommon RejectNegative Joined UInteger
259132718Skan
260132718Skanfalign-loops
261169689SkanCommon Report Var(align_loops)
262132718SkanAlign the start of loops
263132718Skan
264132718Skanfalign-loops=
265132718SkanCommon RejectNegative Joined UInteger
266132718Skan
267169689Skan; This flag is only tested if alias checking is enabled.
268169689Skan; 0 if pointer arguments may alias each other.  True in C.
269169689Skan; 1 if pointer arguments may not alias each other but may alias
270169689Skan;   global variables.
271169689Skan; 2 if pointer arguments may not alias each other and may not
272169689Skan;   alias global variables.
273169689Skan; 3 if pointer arguments may not alias anything.  True in Fortran.
274169689Skan;   Set by the front end.
275132718Skanfargument-alias
276169689SkanCommon Report Var(flag_argument_noalias,0)
277132718SkanSpecify that arguments may alias each other and globals
278132718Skan
279132718Skanfargument-noalias
280169689SkanCommon Report Var(flag_argument_noalias,1) VarExists
281132718SkanAssume arguments may alias globals but not each other
282132718Skan
283132718Skanfargument-noalias-global
284169689SkanCommon Report Var(flag_argument_noalias,2) VarExists
285132718SkanAssume arguments alias neither each other nor globals
286132718Skan
287169689Skanfargument-noalias-anything
288169689SkanCommon Report Var(flag_argument_noalias,3) VarExists
289169689SkanAssume arguments alias no other storage
290169689Skan
291132718Skanfasynchronous-unwind-tables
292169689SkanCommon Report Var(flag_asynchronous_unwind_tables)
293132718SkanGenerate unwind tables that are exact at each instruction boundary
294132718Skan
295169689Skan; -fcheck-bounds causes gcc to generate array bounds checks.
296169689Skan; For C, C++ and ObjC: defaults off.
297169689Skan; For Java: defaults to on.
298169689Skan; For Fortran: defaults to off.
299132718Skanfbounds-check
300169689SkanCommon Report Var(flag_bounds_check)
301132718SkanGenerate code to check bounds before indexing arrays
302132718Skan
303132718Skanfbranch-count-reg
304169689SkanCommon Report Var(flag_branch_on_count_reg) Init(1)
305132718SkanReplace add, compare, branch with branch on count register
306132718Skan
307132718Skanfbranch-probabilities
308169689SkanCommon Report Var(flag_branch_probabilities)
309132718SkanUse profiling information for branch probabilities
310132718Skan
311132718Skanfbranch-target-load-optimize
312169689SkanCommon Report Var(flag_branch_target_load_optimize)
313132718SkanPerform branch target load optimization before prologue / epilogue threading
314132718Skan
315132718Skanfbranch-target-load-optimize2
316169689SkanCommon Report Var(flag_branch_target_load_optimize2)
317132718SkanPerform branch target load optimization after prologue / epilogue threading
318132718Skan
319169689Skanfbtr-bb-exclusive
320169689SkanCommon Report Var(flag_btr_bb_exclusive)
321169689SkanRestrict target load migration not to re-use registers in any basic block
322169689Skan
323132718Skanfcall-saved-
324132718SkanCommon Joined RejectNegative
325132718Skan-fcall-saved-<register>	Mark <register> as being preserved across functions
326132718Skan
327132718Skanfcall-used-
328132718SkanCommon Joined RejectNegative
329132718Skan-fcall-used-<register>	Mark <register> as being corrupted by function calls
330132718Skan
331169689Skan; Nonzero for -fcaller-saves: allocate values in regs that need to
332169689Skan; be saved across function calls, if that produces overall better code.
333169689Skan; Optional now, so people can test it.
334132718Skanfcaller-saves
335169689SkanCommon Report Var(flag_caller_saves)
336132718SkanSave registers around function calls
337132718Skan
338132718Skanfcommon
339169689SkanCommon Report Var(flag_no_common,0)
340132718SkanDo not put uninitialized globals in the common section
341132718Skan
342132718Skanfcprop-registers
343169689SkanCommon Report Var(flag_cprop_registers)
344132718SkanPerform a register copy-propagation optimization pass
345132718Skan
346132718Skanfcrossjumping
347169689SkanCommon Report Var(flag_crossjumping)
348132718SkanPerform cross-jumping optimization
349132718Skan
350132718Skanfcse-follow-jumps
351169689SkanCommon Report Var(flag_cse_follow_jumps)
352132718SkanWhen running CSE, follow jumps to their targets
353132718Skan
354132718Skanfcse-skip-blocks
355169689SkanCommon Report Var(flag_cse_skip_blocks)
356132718SkanWhen running CSE, follow conditional jumps
357132718Skan
358169689Skanfcx-limited-range
359169689SkanCommon Report Var(flag_cx_limited_range)
360169689SkanOmit range reduction step when performing complex division
361169689Skan
362132718Skanfdata-sections
363169689SkanCommon Report Var(flag_data_sections)
364132718SkanPlace data items into their own section
365132718Skan
366169689Skan; Nonzero for -fdefer-pop: don't pop args after each function call
367169689Skan; instead save them up to pop many calls' args with one insns.
368132718Skanfdefer-pop
369169689SkanCommon Report Var(flag_defer_pop)
370132718SkanDefer popping functions args from stack until later
371132718Skan
372132718Skanfdelayed-branch
373169689SkanCommon Report Var(flag_delayed_branch)
374132718SkanAttempt to fill delay slots of branch instructions
375132718Skan
376132718Skanfdelete-null-pointer-checks
377169689SkanCommon Report Var(flag_delete_null_pointer_checks)
378132718SkanDelete useless null pointer checks
379132718Skan
380132718Skanfdiagnostics-show-location=
381132718SkanCommon Joined RejectNegative
382132718Skan-fdiagnostics-show-location=[once|every-line]	How often to emit source location at the beginning of line-wrapped diagnostics
383132718Skan
384169689Skanfdiagnostics-show-option
385132718SkanCommon
386169689SkanAmend appropriate diagnostic messages with the command line option that controls them
387132718Skan
388169689Skanfdump-
389169689SkanCommon Joined RejectNegative
390169689Skan-fdump-<type>	Dump various compiler internals to a file
391169689Skan
392169689Skanfdump-noaddr
393169689SkanCommon Report Var(flag_dump_noaddr)
394169689SkanSuppress output of addresses in debugging dumps
395169689Skan
396169689Skanfdump-unnumbered
397169689SkanCommon Report Var(flag_dump_unnumbered) VarExists
398169689SkanSuppress output of instruction numbers, line number notes and addresses in debugging dumps
399169689Skan
400169689Skanfearly-inlining
401169689SkanCommon Report Var(flag_early_inlining) Init(1)
402169689SkanPerform early inlining
403169689Skan
404132718Skanfeliminate-dwarf2-dups
405169689SkanCommon Report Var(flag_eliminate_dwarf2_dups)
406132718SkanPerform DWARF2 duplicate elimination
407132718Skan
408132718Skanfeliminate-unused-debug-symbols
409169689SkanCommon Report Var(flag_debug_only_used_symbols)
410132718SkanPerform unused type elimination in debug info
411132718Skan
412132718Skanfeliminate-unused-debug-types
413169689SkanCommon Report Var(flag_eliminate_unused_debug_types) Init(1)
414132718SkanPerform unused type elimination in debug info
415132718Skan
416169689Skanfemit-class-debug-always
417169689SkanCommon Report Var(flag_emit_class_debug_always) Init(1)
418169689SkanDo not suppress C++ class debug information.
419169689Skan
420132718Skanfexceptions
421169689SkanCommon Report Var(flag_exceptions)
422132718SkanEnable exception handling
423132718Skan
424132718Skanfexpensive-optimizations
425169689SkanCommon Report Var(flag_expensive_optimizations)
426132718SkanPerform a number of minor, expensive optimizations
427132718Skan
428132718Skanffast-math
429132718SkanCommon
430132718Skan
431132718Skanffinite-math-only
432169689SkanCommon Report Var(flag_finite_math_only)
433132718SkanAssume no NaNs or infinities are generated
434132718Skan
435132718Skanffixed-
436132718SkanCommon Joined RejectNegative
437132718Skan-ffixed-<register>	Mark <register> as being unavailable to the compiler
438132718Skan
439132718Skanffloat-store
440169689SkanCommon Report Var(flag_float_store)
441169689SkanDon't allocate floats and doubles in extended-precision registers
442132718Skan
443169689Skan; Nonzero for -fforce-addr: load memory address into a register before
444169689Skan; reference to memory.  This makes better cse but slower compilation.
445132718Skanfforce-addr
446169689SkanCommon Report Var(flag_force_addr)
447132718SkanCopy memory address constants into registers before use
448132718Skan
449169689Skan; Nonzero for -fforce-mem: load memory value into a register
450169689Skan; before arithmetic on it.  This makes better cse but slower compilation.
451132718Skanfforce-mem
452169689SkanCommon Report Var(flag_force_mem)
453132718SkanCopy memory operands into registers before use
454132718Skan
455169689Skan; Nonzero means don't put addresses of constant functions in registers.
456169689Skan; Used for compiling the Unix kernel, where strange substitutions are
457169689Skan; done on the assembly output.
458132718Skanffunction-cse
459169689SkanCommon Report Var(flag_no_function_cse,0)
460132718SkanAllow function addresses to be held in registers
461132718Skan
462132718Skanffunction-sections
463169689SkanCommon Report Var(flag_function_sections)
464132718SkanPlace each function into its own section
465132718Skan
466132718Skanfgcse
467169689SkanCommon Report Var(flag_gcse)
468132718SkanPerform global common subexpression elimination
469132718Skan
470132718Skanfgcse-lm
471169689SkanCommon Report Var(flag_gcse_lm) Init(1)
472132718SkanPerform enhanced load motion during global common subexpression elimination
473132718Skan
474132718Skanfgcse-sm
475169689SkanCommon Report Var(flag_gcse_sm) Init(0)
476132718SkanPerform store motion after global common subexpression elimination
477132718Skan
478132718Skanfgcse-las
479169689SkanCommon Report Var(flag_gcse_las) Init(0)
480169689SkanPerform redundant load after store elimination in global common subexpression
481169689Skanelimination
482132718Skan
483169689Skanfgcse-after-reload
484169689SkanCommon Report Var(flag_gcse_after_reload)
485169689SkanPerform global common subexpression elimination after register allocation
486169689Skanhas finished
487169689Skan
488132718Skanfguess-branch-probability
489169689SkanCommon Report Var(flag_guess_branch_prob)
490132718SkanEnable guessing of branch probabilities
491132718Skan
492169689Skan; Nonzero means ignore `#ident' directives.  0 means handle them.
493169689Skan; Generate position-independent code for executables if possible
494169689Skan; On SVR4 targets, it also controls whether or not to emit a
495169689Skan; string identifying the compiler.
496132718Skanfident
497169689SkanCommon Report Var(flag_no_ident,0)
498132718SkanProcess #ident directives
499132718Skan
500132718Skanfif-conversion
501169689SkanCommon Report Var(flag_if_conversion)
502132718SkanPerform conversion of conditional jumps to branchless equivalents
503132718Skan
504132718Skanfif-conversion2
505169689SkanCommon Report Var(flag_if_conversion2)
506132718SkanPerform conversion of conditional jumps to conditional execution
507132718Skan
508169689Skan; -finhibit-size-directive inhibits output of .size for ELF.
509169689Skan; This is used only for compiling crtstuff.c,
510169689Skan; and it may be extended to other effects
511169689Skan; needed for crtstuff.c on other systems.
512132718Skanfinhibit-size-directive
513169689SkanCommon Report Var(flag_inhibit_size_directive)
514132718SkanDo not generate .size directives
515132718Skan
516169689Skan; Nonzero means that functions declared `inline' will be treated
517169689Skan; as `static'.  Prevents generation of zillions of copies of unused
518169689Skan; static inline functions; instead, `inlines' are written out
519169689Skan; only when actually used.  Used in conjunction with -g.  Also
520169689Skan; does the right thing with #pragma interface.
521132718Skanfinline
522169689SkanCommon Report Var(flag_no_inline,0) Init(2)
523132718SkanPay attention to the \"inline\" keyword
524132718Skan
525132718Skanfinline-functions
526169689SkanCommon Report Var(flag_inline_functions)
527132718SkanIntegrate simple functions into their callers
528132718Skan
529169689Skanfinline-functions-called-once
530169689SkanCommon Report Var(flag_inline_functions_called_once) Init(1)
531169689SkanIntegrate functions called once into their callers
532169689Skan
533132718Skanfinline-limit-
534132718SkanCommon RejectNegative Joined UInteger
535132718Skan
536132718Skanfinline-limit=
537132718SkanCommon RejectNegative Joined UInteger
538132718Skan-finline-limit=<number>	Limit the size of inlined functions to <number>
539132718Skan
540132718Skanfinstrument-functions
541169689SkanCommon Report Var(flag_instrument_function_entry_exit)
542132718SkanInstrument function entry and exit with profiling calls
543132718Skan
544258501Spfgfinstrument-functions-exclude-function-list=
545258501SpfgCommon RejectNegative Joined
546258501Spfg-finstrument-functions-exclude-function-list=name,...  Do not instrument listed functions
547258501Spfg
548258501Spfgfinstrument-functions-exclude-file-list=
549258501SpfgCommon RejectNegative Joined
550258501Spfg-finstrument-functions-exclude-file-list=filename,...  Do not instrument functions listed in files
551258501Spfg
552169689Skanfipa-cp
553169689SkanCommon Report Var(flag_ipa_cp)
554169689SkanPerform Interprocedural constant propagation
555169689Skan
556169689Skanfipa-pure-const
557169689SkanCommon Report Var(flag_ipa_pure_const) Init(0)
558169689SkanDiscover pure and const functions
559169689Skan
560169689Skanfipa-pta
561169689SkanCommon Report Var(flag_ipa_pta) Init(0)
562169689SkanPerform interprocedural points-to analysis
563169689Skan
564169689Skanfipa-reference
565169689SkanCommon Report Var(flag_ipa_reference) Init(0)
566169689SkanDiscover readonly and non addressable static variables
567169689Skan
568169689Skanfipa-type-escape
569169689SkanCommon Report Var(flag_ipa_type_escape) Init(0)
570169689SkanType based escape and alias analysis
571169689Skan
572169689Skanfivopts
573169689SkanCommon Report Var(flag_ivopts) Init(1)
574169689SkanOptimize induction variables on trees
575169689Skan
576169689Skanfjump-tables
577169689SkanCommon Var(flag_jump_tables) Init(1)
578169689SkanUse jump tables for sufficiently large switch statements
579169689Skan
580132718Skanfkeep-inline-functions
581169689SkanCommon Report Var(flag_keep_inline_functions)
582132718SkanGenerate code for functions even if they are fully inlined
583132718Skan
584132718Skanfkeep-static-consts
585169689SkanCommon Report Var(flag_keep_static_consts) Init(1)
586132718SkanEmit static const variables even if they are not used
587132718Skan
588132718Skanfleading-underscore
589169689SkanCommon Report Var(flag_leading_underscore) Init(-1)
590132718SkanGive external symbols a leading underscore
591132718Skan
592132718Skanfloop-optimize
593132718SkanCommon
594169689SkanDoes nothing.  Preserved for backward compatibility.
595132718Skan
596132718Skanfmath-errno
597181538SdasCommon Report Var(flag_errno_math) Init(0)
598132718SkanSet errno after built-in math functions
599132718Skan
600132718Skanfmem-report
601169689SkanCommon Report Var(mem_report)
602132718SkanReport on permanent memory allocation
603132718Skan
604169689Skan; This will attempt to merge constant section constants, if 1 only
605169689Skan; string constants and constants from constant pool, if 2 also constant
606169689Skan; variables.
607132718Skanfmerge-all-constants
608169689SkanCommon Report Var(flag_merge_constants,2) Init(1)
609132718SkanAttempt to merge identical constants and constant variables
610132718Skan
611132718Skanfmerge-constants
612169689SkanCommon Report Var(flag_merge_constants,1) VarExists
613132718SkanAttempt to merge identical constants across compilation units
614132718Skan
615132718Skanfmessage-length=
616132718SkanCommon RejectNegative Joined UInteger
617132718Skan-fmessage-length=<number>	Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
618132718Skan
619169689Skanfmodulo-sched
620169689SkanCommon Report Var(flag_modulo_sched)
621169689SkanPerform SMS based modulo scheduling before the first scheduling pass
622132718Skan
623169689Skanfmove-loop-invariants
624169689SkanCommon Report Var(flag_move_loop_invariants) Init(1)
625169689SkanMove loop invariant computations out of loops
626132718Skan
627169689Skanfmudflap
628169689SkanCommon RejectNegative Report Var(flag_mudflap)
629169689SkanAdd mudflap bounds-checking instrumentation for single-threaded program
630169689Skan
631169689Skanfmudflapth
632169689SkanCommon RejectNegative Report VarExists Var(flag_mudflap,2)
633169689SkanAdd mudflap bounds-checking instrumentation for multi-threaded program
634169689Skan
635169689Skanfmudflapir
636169689SkanCommon RejectNegative Report Var(flag_mudflap_ignore_reads)
637169689SkanIgnore read operations when inserting mudflap instrumentation
638169689Skan
639169689Skanfreschedule-modulo-scheduled-loops
640169689SkanCommon Report Var(flag_resched_modulo_sched)
641169689SkanEnable/Disable the traditional scheduling in loops that already passed modulo scheduling
642169689Skan
643132718Skanfnon-call-exceptions
644169689SkanCommon Report Var(flag_non_call_exceptions)
645132718SkanSupport synchronous non-call exceptions
646132718Skan
647132718Skanfomit-frame-pointer
648169689SkanCommon Report Var(flag_omit_frame_pointer)
649132718SkanWhen possible do not generate stack frames
650132718Skan
651132718Skanfoptimize-register-move
652169689SkanCommon Report Var(flag_regmove)
653132718SkanDo the full register move optimization pass
654132718Skan
655132718Skanfoptimize-sibling-calls
656169689SkanCommon Report Var(flag_optimize_sibling_calls)
657132718SkanOptimize sibling and tail recursive calls
658132718Skan
659132718Skanfpack-struct
660169689SkanCommon Report Var(flag_pack_struct)
661132718SkanPack structure members together without holes
662132718Skan
663169689Skanfpack-struct=
664169689SkanCommon RejectNegative Joined UInteger
665169689Skan-fpack-struct=<number>	Set initial maximum structure member alignment
666169689Skan
667132718Skanfpcc-struct-return
668169689SkanCommon Report Var(flag_pcc_struct_return,1) VarExists
669132718SkanReturn small aggregates in memory, not registers
670132718Skan
671132718Skanfpeel-loops
672169689SkanCommon Report Var(flag_peel_loops)
673132718SkanPerform loop peeling
674132718Skan
675132718Skanfpeephole
676169689SkanCommon Report Var(flag_no_peephole,0)
677132718SkanEnable machine specific peephole optimizations
678132718Skan
679132718Skanfpeephole2
680169689SkanCommon Report Var(flag_peephole2)
681132718SkanEnable an RTL peephole pass before sched2
682132718Skan
683169689SkanfPIC
684169689SkanCommon Report Var(flag_pic,2)
685169689SkanGenerate position-independent code if possible (large mode)
686169689Skan
687169689SkanfPIE
688169689SkanCommon Report Var(flag_pie,2)
689169689SkanGenerate position-independent code for executables if possible (large mode)
690169689Skan
691132718Skanfpic
692169689SkanCommon Report Var(flag_pic,1) VarExists
693169689SkanGenerate position-independent code if possible (small mode)
694132718Skan
695132718Skanfpie
696169689SkanCommon Report Var(flag_pie,1) VarExists
697169689SkanGenerate position-independent code for executables if possible (small mode)
698132718Skan
699132718Skanfprefetch-loop-arrays
700169689SkanCommon Report Var(flag_prefetch_loop_arrays)
701132718SkanGenerate prefetch instructions, if available, for arrays in loops
702132718Skan
703132718Skanfprofile
704169689SkanCommon Report Var(profile_flag)
705132718SkanEnable basic program profiling code
706132718Skan
707132718Skanfprofile-arcs
708169689SkanCommon Report Var(profile_arc_flag)
709132718SkanInsert arc-based program profiling code
710132718Skan
711132718Skanfprofile-generate
712132718SkanCommon
713132718SkanEnable common options for generating profile info for profile feedback directed optimizations
714132718Skan
715132718Skanfprofile-use
716132718SkanCommon
717132718SkanEnable common options for performing profile feedback directed optimizations
718132718Skan
719132718Skanfprofile-values
720169689SkanCommon Report Var(flag_profile_values)
721132718SkanInsert code to profile values of expressions
722132718Skan
723132718Skanfrandom-seed
724132718SkanCommon
725132718Skan
726132718Skanfrandom-seed=
727132718SkanCommon Joined RejectNegative
728132718Skan-frandom-seed=<string>	Make compile reproducible using <string>
729132718Skan
730132718Skanfreg-struct-return
731169689SkanCommon Report Var(flag_pcc_struct_return,0) VarExists
732132718SkanReturn small aggregates in registers
733132718Skan
734132718Skanfregmove
735169689SkanCommon Report Var(flag_regmove)
736132718SkanEnables a register move optimization
737132718Skan
738132718Skanfrename-registers
739169689SkanCommon Report Var(flag_rename_registers) Init(2)
740132718SkanPerform a register renaming optimization pass
741132718Skan
742132718Skanfreorder-blocks
743169689SkanCommon Report Var(flag_reorder_blocks)
744132718SkanReorder basic blocks to improve code placement
745132718Skan
746169689Skanfreorder-blocks-and-partition
747169689SkanCommon Report Var(flag_reorder_blocks_and_partition)
748169689SkanReorder basic blocks and partition into hot and cold sections
749169689Skan
750132718Skanfreorder-functions
751169689SkanCommon Report Var(flag_reorder_functions)
752132718SkanReorder functions to improve code placement
753132718Skan
754132718Skanfrerun-cse-after-loop
755169689SkanCommon Report Var(flag_rerun_cse_after_loop) Init(2)
756132718SkanAdd a common subexpression elimination pass after loop optimizations
757132718Skan
758132718Skanfrerun-loop-opt
759132718SkanCommon
760169689SkanDoes nothing.  Preserved for backward compatibility.
761132718Skan
762132718Skanfrounding-math
763169689SkanCommon Report Var(flag_rounding_math)
764132718SkanDisable optimizations that assume default FP rounding behavior
765132718Skan
766132718Skanfsched-interblock
767169689SkanCommon Report Var(flag_schedule_interblock) Init(1)
768132718SkanEnable scheduling across basic blocks
769132718Skan
770132718Skanfsched-spec
771169689SkanCommon Report Var(flag_schedule_speculative) Init(1)
772132718SkanAllow speculative motion of non-loads
773132718Skan
774132718Skanfsched-spec-load
775169689SkanCommon Report Var(flag_schedule_speculative_load)
776132718SkanAllow speculative motion of some loads
777132718Skan
778132718Skanfsched-spec-load-dangerous
779169689SkanCommon Report Var(flag_schedule_speculative_load_dangerous)
780132718SkanAllow speculative motion of more loads
781132718Skan
782132718Skanfsched-verbose=
783132718SkanCommon RejectNegative Joined
784132718Skan-fsched-verbose=<number>	Set the verbosity level of the scheduler
785132718Skan
786132718Skanfsched2-use-superblocks
787169689SkanCommon Report Var(flag_sched2_use_superblocks)
788132718SkanIf scheduling post reload, do superblock scheduling
789132718Skan
790132718Skanfsched2-use-traces
791169689SkanCommon Report Var(flag_sched2_use_traces)
792132718SkanIf scheduling post reload, do trace scheduling
793132718Skan
794132718Skanfschedule-insns
795169689SkanCommon Report Var(flag_schedule_insns)
796132718SkanReschedule instructions before register allocation
797132718Skan
798132718Skanfschedule-insns2
799169689SkanCommon Report Var(flag_schedule_insns_after_reload)
800132718SkanReschedule instructions after register allocation
801132718Skan
802169689Skan; sched_stalled_insns means that insns can be moved prematurely from the queue
803169689Skan; of stalled insns into the ready list.
804132718Skanfsched-stalled-insns
805169689SkanCommon Report Var(flag_sched_stalled_insns)
806132718SkanAllow premature scheduling of queued insns
807132718Skan
808132718Skanfsched-stalled-insns=
809169689SkanCommon RejectNegative Joined UInteger
810169689Skan-fsched-stalled-insns=<number>	Set number of queued insns that can be prematurely scheduled
811132718Skan
812169689Skan; sched_stalled_insns_dep controls how many recently scheduled cycles will
813169689Skan; be examined for a dependency on a stalled insn that is candidate for
814169689Skan; premature removal from the queue of stalled insns into the ready list (has
815169689Skan; an effect only if the flag 'sched_stalled_insns' is set).
816132718Skanfsched-stalled-insns-dep
817169689SkanCommon Report Var(flag_sched_stalled_insns_dep,1) Init(1)
818132718SkanSet dependence distance checking in premature scheduling of queued insns
819132718Skan
820132718Skanfsched-stalled-insns-dep=
821132718SkanCommon RejectNegative Joined UInteger
822169689Skan-fsched-stalled-insns-dep=<number>	Set dependence distance checking in premature scheduling of queued insns
823132718Skan
824169689Skanfsection-anchors
825169689SkanCommon Report Var(flag_section_anchors)
826169689SkanAccess data in the same section from shared anchor points
827132718Skan
828169689Skanfrtl-abstract-sequences
829169689SkanCommon Report Var(flag_rtl_seqabstr)
830169689SkanPerform sequence abstraction optimization on RTL
831169689Skan
832169689Skanfsee
833169689SkanCommon Report Var(flag_see) Init(0)
834169689SkanEliminate redundant sign extensions using LCM.
835169689Skan
836169689Skanfshow-column
837169689SkanCommon C ObjC C++ ObjC++ Report Var(flag_show_column) Init(1)
838169689SkanShow column numbers in diagnostics, when available.  Default on
839169689Skan
840132718Skanfsignaling-nans
841169689SkanCommon Report Var(flag_signaling_nans)
842132718SkanDisable optimizations observable by IEEE signaling NaNs
843132718Skan
844132718Skanfsingle-precision-constant
845169689SkanCommon Report Var(flag_single_precision_constant)
846132718SkanConvert floating point constants to single precision constants
847132718Skan
848169689Skanfsplit-ivs-in-unroller
849169689SkanCommon Report Var(flag_split_ivs_in_unroller) Init(1)
850169689SkanSplit lifetimes of induction variables when loops are unrolled
851169689Skan
852169689Skanfvariable-expansion-in-unroller
853169689SkanCommon Report Var(flag_variable_expansion_in_unroller)
854169689SkanApply variable expansion when loops are unrolled
855169689Skan
856169689Skan; Emit code to probe the stack, to help detect stack overflow; also
857169689Skan; may cause large objects to be allocated dynamically.
858132718Skanfstack-check
859169689SkanCommon Report Var(flag_stack_check)
860132718SkanInsert stack checking code into the program
861132718Skan
862132718Skanfstack-limit
863132718SkanCommon
864132718Skan
865132718Skanfstack-limit-register=
866132718SkanCommon RejectNegative Joined
867132718Skan-fstack-limit-register=<register>	Trap if the stack goes past <register>
868132718Skan
869132718Skanfstack-limit-symbol=
870132718SkanCommon RejectNegative Joined
871132718Skan-fstack-limit-symbol=<name>	Trap if the stack goes past symbol <name>
872132718Skan
873169689Skanfstack-protector
874169689SkanCommon Report Var(flag_stack_protect, 1)
875169689SkanUse propolice as a stack protection method
876169689Skan
877169689Skanfstack-protector-all
878169689SkanCommon Report RejectNegative Var(flag_stack_protect, 2) VarExists
879169689SkanUse a stack protection method for every function
880169689Skan
881286074Spfgfstack-protector-strong
882286074SpfgCommon Report RejectNegative Var(flag_stack_protect, 3)
883286074SpfgUse a smart stack protection method for certain functions
884286074Spfg
885132718Skanfstrength-reduce
886132718SkanCommon
887169689SkanDoes nothing.  Preserved for backward compatibility.
888132718Skan
889169689Skan; Nonzero if we should do (language-dependent) alias analysis.
890169689Skan; Typically, this analysis will assume that expressions of certain
891169689Skan; types do not alias expressions of certain other types.  Only used
892169689Skan; if alias analysis (in general) is enabled.
893132718Skanfstrict-aliasing
894169689SkanCommon Report Var(flag_strict_aliasing)
895132718SkanAssume strict aliasing rules apply
896132718Skan
897169689Skanfstrict-overflow
898169689SkanCommon Report Var(flag_strict_overflow)
899169689SkanTreat signed overflow as undefined
900169689Skan
901132718Skanfsyntax-only
902169689SkanCommon Report Var(flag_syntax_only)
903132718SkanCheck for syntax errors, then stop
904132718Skan
905132718Skanftest-coverage
906169689SkanCommon Report Var(flag_test_coverage)
907132718SkanCreate data files needed by \"gcov\"
908132718Skan
909132718Skanfthread-jumps
910169689SkanCommon Report Var(flag_thread_jumps)
911132718SkanPerform jump threading optimizations
912132718Skan
913132718Skanftime-report
914169689SkanCommon Report Var(time_report)
915132718SkanReport the time taken by each compiler pass
916132718Skan
917132718Skanftls-model=
918132718SkanCommon Joined RejectNegative
919132718Skan-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]	Set the default thread-local storage code generation model
920132718Skan
921169689Skanftoplevel-reorder
922169689SkanCommon Report Var(flag_toplevel_reorder) Init(1)
923169689SkanReorder top level functions, variables, and asms
924169689Skan
925132718Skanftracer
926169689SkanCommon Report Var(flag_tracer)
927132718SkanPerform superblock formation via tail duplication
928132718Skan
929169689Skan; Zero means that floating-point math operations cannot generate a
930169689Skan; (user-visible) trap.  This is the case, for example, in nonstop
931169689Skan; IEEE 754 arithmetic.
932132718Skanftrapping-math
933169689SkanCommon Report Var(flag_trapping_math) Init(1)
934132718SkanAssume floating-point operations can trap
935132718Skan
936132718Skanftrapv
937169689SkanCommon Report Var(flag_trapv)
938132718SkanTrap for signed overflow in addition, subtraction and multiplication
939132718Skan
940169689Skanftree-ccp
941169689SkanCommon Report Var(flag_tree_ccp)
942169689SkanEnable SSA-CCP optimization on trees
943169689Skan
944169689Skanftree-store-ccp
945169689SkanCommon Report Var(flag_tree_store_ccp)
946169689SkanEnable SSA-CCP optimization for stores and loads
947169689Skan
948169689Skanftree-ch
949169689SkanCommon Report Var(flag_tree_ch)
950169689SkanEnable loop header copying on trees
951169689Skan
952169689Skanftree-combine-temps
953169689SkanCommon Report Var(flag_tree_combine_temps)
954169689SkanCoalesce memory temporaries in the SSA->normal pass
955169689Skan
956169689Skanftree-copyrename
957169689SkanCommon Report Var(flag_tree_copyrename)
958169689SkanReplace SSA temporaries with better names in copies
959169689Skan
960169689Skanftree-copy-prop
961169689SkanCommon Report Var(flag_tree_copy_prop)
962169689SkanEnable copy propagation on trees
963169689Skan
964169689Skanftree-store-copy-prop
965169689SkanCommon Report Var(flag_tree_store_copy_prop)
966169689SkanEnable copy propagation for stores and loads
967169689Skan
968169689Skanftree-dce
969169689SkanCommon Report Var(flag_tree_dce)
970169689SkanEnable SSA dead code elimination optimization on trees
971169689Skan
972169689Skanftree-dominator-opts
973169689SkanCommon Report Var(flag_tree_dom)
974169689SkanEnable dominator optimizations
975169689Skan
976169689Skanftree-dse
977169689SkanCommon Report Var(flag_tree_dse)
978169689SkanEnable dead store elimination
979169689Skan
980169689Skanftree-fre
981169689SkanCommon Report Var(flag_tree_fre)
982169689SkanEnable Full Redundancy Elimination (FRE) on trees
983169689Skan
984169689Skanftree-loop-im
985169689SkanCommon Report Var(flag_tree_loop_im) Init(1)
986169689SkanEnable loop invariant motion on trees
987169689Skan
988169689Skanftree-loop-linear
989169689SkanCommon Report Var(flag_tree_loop_linear)
990169689SkanEnable linear loop transforms on trees
991169689Skan
992169689Skanftree-loop-ivcanon
993169689SkanCommon Report Var(flag_tree_loop_ivcanon) Init(1)
994169689SkanCreate canonical induction variables in loops
995169689Skan
996169689Skanftree-loop-optimize
997169689SkanCommon Report Var(flag_tree_loop_optimize) Init(1)
998169689SkanEnable loop optimizations on tree level
999169689Skan
1000169689Skanftree-pre
1001169689SkanCommon Report Var(flag_tree_pre)
1002169689SkanEnable SSA-PRE optimization on trees
1003169689Skan
1004169689Skanftree-salias
1005169689SkanCommon Report Var(flag_tree_salias)
1006169689SkanPerform structural alias analysis
1007169689Skan
1008169689Skanftree-sink
1009169689SkanCommon Report Var(flag_tree_sink)
1010169689SkanEnable SSA code sinking on trees
1011169689Skan
1012169689Skanftree-sra
1013169689SkanCommon Report Var(flag_tree_sra)
1014169689SkanPerform scalar replacement of aggregates
1015169689Skan
1016169689Skanftree-ter
1017169689SkanCommon Report Var(flag_tree_ter)
1018169689SkanReplace temporary expressions in the SSA->normal pass
1019169689Skan
1020169689Skanftree-lrs
1021169689SkanCommon Report Var(flag_tree_live_range_split)
1022169689SkanPerform live range splitting during the SSA->normal pass
1023169689Skan
1024169689Skanftree-vrp
1025169689SkanCommon Report Var(flag_tree_vrp) Init(0)
1026169689SkanPerform Value Range Propagation on trees
1027169689Skan
1028132718Skanfunit-at-a-time
1029169689SkanCommon Report Var(flag_unit_at_a_time)
1030132718SkanCompile whole compilation unit at a time
1031132718Skan
1032132718Skanfunroll-loops
1033169689SkanCommon Report Var(flag_unroll_loops)
1034132718SkanPerform loop unrolling when iteration count is known
1035132718Skan
1036132718Skanfunroll-all-loops
1037169689SkanCommon Report Var(flag_unroll_all_loops)
1038132718SkanPerform loop unrolling for all loops
1039132718Skan
1040169689Skan; Nonzero means that loop optimizer may assume that the induction variables
1041169689Skan; that control loops do not overflow and that the loops with nontrivial
1042169689Skan; exit condition are not infinite
1043169689Skanfunsafe-loop-optimizations
1044169689SkanCommon Report Var(flag_unsafe_loop_optimizations)
1045169689SkanAllow loop optimizations to assume that the loops behave in normal way
1046169689Skan
1047169689Skan; Nonzero means that unsafe floating-point math optimizations are allowed
1048169689Skan; for the sake of speed.  IEEE compliance is not guaranteed, and operations
1049169689Skan; are allowed to assume that their arguments and results are "normal"
1050169689Skan; (e.g., nonnegative for SQRT).
1051132718Skanfunsafe-math-optimizations
1052169689SkanCommon Report Var(flag_unsafe_math_optimizations)
1053132718SkanAllow math optimizations that may violate IEEE or ISO standards
1054132718Skan
1055132718Skanfunswitch-loops
1056169689SkanCommon Report Var(flag_unswitch_loops)
1057132718SkanPerform loop unswitching
1058132718Skan
1059132718Skanfunwind-tables
1060169689SkanCommon Report Var(flag_unwind_tables)
1061132718SkanJust generate unwind tables for exception handling
1062132718Skan
1063169689Skanfvar-tracking
1064169689SkanCommon Report Var(flag_var_tracking) VarExists
1065169689SkanPerform variable tracking
1066169689Skan
1067169689Skanftree-vectorize
1068169689SkanCommon Report Var(flag_tree_vectorize)
1069169689SkanEnable loop vectorization on trees
1070169689Skan
1071169689Skanftree-vect-loop-version
1072169689SkanCommon Report Var(flag_tree_vect_loop_version) Init(1)
1073169689SkanEnable loop versioning when doing loop vectorization on trees
1074169689Skan
1075169689Skanftree-vectorizer-verbose=
1076169689SkanCommon RejectNegative Joined
1077169689Skan-ftree-vectorizer-verbose=<number>	Set the verbosity level of the vectorizer
1078169689Skan
1079169689Skan; -fverbose-asm causes extra commentary information to be produced in
1080169689Skan; the generated assembly code (to make it more readable).  This option
1081169689Skan; is generally only of use to those who actually need to read the
1082169689Skan; generated assembly code (perhaps while debugging the compiler itself).
1083169689Skan; -fno-verbose-asm, the default, causes the extra information
1084169689Skan; to not be added and is useful when comparing two assembler files.
1085132718Skanfverbose-asm
1086169689SkanCommon Report Var(flag_verbose_asm)
1087132718SkanAdd extra commentary to assembler output
1088132718Skan
1089169689Skanfvisibility=
1090169689SkanCommon Joined RejectNegative
1091169689Skan-fvisibility=[default|internal|hidden|protected]	Set the default symbol visibility
1092169689Skan
1093169689Skan
1094132718Skanfvpt
1095169689SkanCommon Report Var(flag_value_profile_transformations)
1096132718SkanUse expression value profiles in optimizations
1097132718Skan
1098132718Skanfweb
1099169689SkanCommon Report Var(flag_web) Init(2)
1100132718SkanConstruct webs and split unrelated uses of single variable
1101132718Skan
1102169689Skanfwhole-program
1103169689SkanCommon Report Var(flag_whole_program) Init(0)
1104169689SkanPerform whole program optimizations
1105169689Skan
1106132718Skanfwrapv
1107169689SkanCommon Report Var(flag_wrapv)
1108132718SkanAssume signed arithmetic overflow wraps around
1109132718Skan
1110132718Skanfzero-initialized-in-bss
1111169689SkanCommon Report Var(flag_zero_initialized_in_bss) Init(1)
1112132718SkanPut zero initialized data in the bss section
1113132718Skan
1114132718Skang
1115132718SkanCommon JoinedOrMissing
1116132718SkanGenerate debug information in default format
1117132718Skan
1118132718Skangcoff
1119169689SkanCommon JoinedOrMissing Negative(gdwarf-2)
1120132718SkanGenerate debug information in COFF format
1121132718Skan
1122132718Skangdwarf-2
1123169689SkanCommon JoinedOrMissing Negative(gstabs)
1124132718SkanGenerate debug information in DWARF v2 format
1125132718Skan
1126132718Skanggdb
1127132718SkanCommon JoinedOrMissing
1128132718SkanGenerate debug information in default extended format
1129132718Skan
1130132718Skangstabs
1131169689SkanCommon JoinedOrMissing Negative(gstabs+)
1132132718SkanGenerate debug information in STABS format
1133132718Skan
1134132718Skangstabs+
1135169689SkanCommon JoinedOrMissing Negative(gvms)
1136132718SkanGenerate debug information in extended STABS format
1137132718Skan
1138132718Skangvms
1139169689SkanCommon JoinedOrMissing Negative(gxcoff)
1140132718SkanGenerate debug information in VMS format
1141132718Skan
1142132718Skangxcoff
1143169689SkanCommon JoinedOrMissing Negative(gxcoff+)
1144132718SkanGenerate debug information in XCOFF format
1145132718Skan
1146132718Skangxcoff+
1147169689SkanCommon JoinedOrMissing Negative(gcoff)
1148132718SkanGenerate debug information in extended XCOFF format
1149132718Skan
1150132718Skano
1151132718SkanCommon Joined Separate
1152132718Skan-o <file>	Place output into <file>
1153132718Skan
1154132718Skanp
1155169689SkanCommon Var(profile_flag)
1156132718SkanEnable function profiling
1157132718Skan
1158132718Skanpedantic
1159169689SkanCommon Var(pedantic)
1160132718SkanIssue warnings needed for strict compliance to the standard
1161132718Skan
1162132718Skanpedantic-errors
1163132718SkanCommon
1164132718SkanLike -pedantic but issue them as errors
1165132718Skan
1166132718Skanquiet
1167169689SkanCommon Var(quiet_flag)
1168132718SkanDo not display functions compiled or elapsed time
1169132718Skan
1170132718Skanversion
1171169689SkanCommon Var(version_flag)
1172132718SkanDisplay the compiler's version
1173132718Skan
1174132718Skanw
1175169689SkanCommon Var(inhibit_warnings)
1176132718SkanSuppress warnings
1177132718Skan
1178132718Skan; This comment is to ensure we retain the blank line above.
1179