aboutsummaryrefslogtreecommitdiff
path: root/gcc/common.opt
blob: 44d8381a1ee5b56e5c1d8bf6f68ddaadd2426c1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
; Options for the language- and target-independent parts of the compiler.
; Copyright (C) 2003 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 2, or (at your option) any later
; version.
; 
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
; for more details.
; 
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING.  If not, write to the Free
; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
; 02111-1307, USA.

; See c.opt for a description of this file's format.

; Please try to keep this file in ASCII collating order.

-help
Common
Display this information

-param
Common Separate

-target-help
Common

-version
Common

G
Common Joined Separate UInteger
-G<number>	Put global and static data smaller than <number> bytes into a special section (on some targets)

O
Common JoinedOrMissing
-O<number>	Set optimization level to <number>

Os
Common
Optimize for space rather than speed

W
Common RejectNegative
This switch is deprecated; use -Wextra instead

Waggregate-return
Common
Warn about returning structures, unions or arrays

Wcast-align
Common
Warn about pointer casts which increase alignment

Wdeprecated-declarations
Common
Warn about uses of __attribute__((deprecated)) declarations

Wdisabled-optimization
Common
Warn when an optimization pass is disabled

Werror
Common
Treat all warnings as errors

Wextra
Common
Print extra (possibly unwanted) warnings

Winline
Common
Warn when an inlined function cannot be inlined

Wlarger-than-
Common RejectNegative Joined UInteger
-Wlarger-than-<number>	Warn if an object is larger than <number> bytes

Wmissing-noreturn
Common
Warn about functions which might be candidates for __attribute__((noreturn))

Wpacked
Common
Warn when the packed attribute has no effect on struct layout

Wpadded
Common
Warn when padding is required to align structure members

Wshadow
Common
Warn when one local variable shadows another

Wstrict-aliasing
Common
Warn about code which might break strict aliasing rules

Wswitch
Common
Warn about enumerated switches, with no default, missing a case

Wswitch-default
Common
Warn about enumerated switches missing a \"default:\" statement

Wswitch-enum
Common
Warn about all enumerated switches missing a specific case

Wsystem-headers
Common
Suppress warnings from system headers

Wuninitialized
Common
Warn about uninitialized automatic variables

Wunreachable-code
Common
Warn about code that will never be executed

Wunused
Common
Enable all -Wunused- warnings

Wunused-function
Common
Warn when a function is unused

Wunused-label
Common
Warn when a label is unused

Wunused-parameter
Common
Warn when a function parameter is unused

Wunused-value
Common
Warn when an expression value is unused

Wunused-variable
Common
Warn when a variable is unused

aux-info
Common Separate
-aux-info <file>	Emit declaration information into <file>

aux-info=
Common Joined

auxbase
Common Separate

auxbase-strip
Common Separate

d
Common Joined
-d<letters>	Enable dumps from specific passes of the compiler

dumpbase
Common Separate
-dumpbase <file>	Set the file basename to be used for dumps

fPIC
Common

fPIE
Common

falign-functions
Common

falign-functions=
Common RejectNegative Joined UInteger

falign-jumps
Common

falign-jumps=
Common RejectNegative Joined UInteger

falign-labels
Common

falign-labels=
Common RejectNegative Joined UInteger

falign-loops
Common

falign-loops=
Common RejectNegative Joined UInteger

fargument-alias
Common

fargument-noalias
Common

fargument-noalias-global
Common

fasynchronous-unwind-tables
Common

fbounds-check
Common

fbranch-count-reg
Common

fbranch-probabilities
Common

fbranch-target-load-optimize
Common

fbranch-target-load-optimize2
Common

fcall-saved-
Common Joined RejectNegative
-fcall-saved-<register>	Mark <register> as being preserved across functions

fcall-used-
Common Joined RejectNegative
-fcall-used-<register>	Mark <register> as being corrupted by function calls

fcaller-saves
Common

fcommon
Common

fcprop-registers
Common

fcrossjumping
Common

fcse-follow-jumps
Common

fcse-skip-blocks
Common

fdata-sections
Common

fdefer-pop
Common

fdelayed-branch
Common

fdelete-null-pointer-checks
Common

fdiagnostics-show-location=
Common Joined RejectNegative
-fdiagnostics-show-location=[once|every-line]	How often to emit source location at the beginning of line-wrapped diagnostics

fdump-unnumbered
Common

feliminate-dwarf2-dups
Common

feliminate-unused-debug-symbols
Common

feliminate-unused-debug-types
Common

fexceptions
Common

fexpensive-optimizations
Common

ffast-math
Common

ffinite-math-only
Common

ffixed-
Common Joined RejectNegative
-ffixed-<register>	Mark <register> as being unavailable to the compiler

ffloat-store
Common

fforce-addr
Common

fforce-mem
Common

ffunction-cse
Common

ffunction-sections
Common

fgcse
Common

fgcse-lm
Common

fgcse-sm
Common

fgnu-linker
Common

fguess-branch-probability
Common

fident
Common

fif-conversion
Common

fif-conversion2
Common

finhibit-size-directive
Common

finline
Common

finline-functions
Common

finline-limit-
Common RejectNegative Joined UInteger

finline-limit=
Common RejectNegative Joined UInteger
-finline-limit=<number>	Limit the size of inlined functions to <number>

finstrument-functions
Common

fkeep-inline-functions
Common

fkeep-static-consts
Common

fleading-underscore
Common

floop-optimize
Common

fmath-errno
Common

fmem-report
Common

fmerge-all-constants
Common

fmerge-constants
Common

fmessage-length=
Common RejectNegative Joined UInteger
-fmessage-length=<number>	Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping

fmove-all-movables
Common

fnew-ra
Common

fnon-call-exceptions
Common

fold-unroll-loops
Common

fold-unroll-all-loops
Common

fomit-frame-pointer
Common

foptimize-register-move
Common

foptimize-sibling-calls
Common

fpack-struct
Common

fpcc-struct-return
Common

fpeel-loops
Common

fpeephole
Common

fpeephole2
Common

fpic
Common

fpie
Common

fprefetch-loop-arrays
Common

fprofile
Common

fprofile-arcs
Common

frandom-seed
Common

frandom-seed=
Common Joined RejectNegative
-frandom-seed=<string>	Make compile reproducible using <string>

freduce-all-givs
Common

freg-struct-return
Common

fregmove
Common

frename-registers
Common

freorder-blocks
Common

freorder-functions
Common

frerun-cse-after-loop
Common

frerun-loop-opt
Common

fsched-interblock
Common

fsched-spec
Common

fsched-spec-load
Common

fsched-spec-load-dangerous
Common

fsched-verbose=
Common RejectNegative Joined
-fsched-verbose=<number>	Set the verbosity level of the scheduler

fsched2-use-superblocks
Common

fsched2-use-traces
Common

fschedule-insns
Common

fschedule-insns2
Common

fshared-data
Common

fsignaling-nans
Common

fsingle-precision-constant
Common

fssa
Common

fssa-ccp
Common

fssa-dce
Common

fstack-check
Common

fstack-limit
Common

fstack-limit-register=
Common RejectNegative Joined
-fstack-limit-register=<register>	Trap if the stack goes past <register>

fstack-limit-symbol=
Common RejectNegative Joined
-fstack-limit-symbol=<name>	Trap if the stack goes past symbol <name>

fstrength-reduce
Common

fstrict-aliasing
Common

fsyntax-only
Common

ftest-coverage
Common

fthread-jumps
Common

ftime-report
Common

ftls-model=
Common Joined RejectNegative
-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]	Set the default thread-local storage code generation model

ftracer
Common

ftrapping-math
Common

ftrapv
Common

funit-at-a-time
Common

funroll-loops
Common

funroll-all-loops
Common

funsafe-math-optimizations
Common

funswitch-loops
Common

funwind-tables
Common

fverbose-asm
Common

fwrapv
Common

fwritable-strings
Common

fzero-initialized-in-bss
Common

g
Common JoinedOrMissing

m
Common Joined

o
Common Joined Separate
-o <file>	Place output into <file>

p
Common
Enable function profiling

pedantic
Common
Issue warnings needed for strict compliance to the standard

pedantic-errors
Common
Like -pedantic but issue them as errors

quiet
Common
Do not display functions compiled or elapsed time

version
Common
Display the compiler's version

w
Common
Suppress warnings

; This comment is to ensure we retain the blank line above.