blob: 5ec947a7c0bf2551c6c55aaafe9de0504f16ac17 [file] [log] [blame]
Richard Smith081ad4d2017-01-24 19:39:46 +00001..
2 -------------------------------------------------------------------
3 NOTE: This file is automatically generated by running clang-tblgen
4 -gen-opt-docs. Do not edit this file by hand!!
5 -------------------------------------------------------------------
6
7=====================================
8Clang command line argument reference
9=====================================
10.. contents::
11 :local:
12
13Introduction
14============
15
16This page lists the command line arguments currently supported by the
17GCC-compatible ``clang`` and ``clang++`` drivers.
18
19
20.. program:: clang
Richard Smithc5b2e002017-01-27 02:08:37 +000021.. option:: -B<dir>, --prefix <arg>, --prefix=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +000022
Richard Smithc5b2e002017-01-27 02:08:37 +000023Add <dir> to search path for binaries and object files used implicitly
Richard Smith081ad4d2017-01-24 19:39:46 +000024
Richard Smith081ad4d2017-01-24 19:39:46 +000025.. option:: -F<arg>
26
27Add directory to framework include search path
28
Richard Smith081ad4d2017-01-24 19:39:46 +000029.. option:: -ObjC
30
31Treat source input files as Objective-C inputs
32
Richard Smithb2c82a62017-01-27 01:54:42 +000033.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +000034.. option:: -ObjC++
Richard Smithb2c82a62017-01-27 01:54:42 +000035.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +000036
37Treat source input files as Objective-C++ inputs
38
Vedant Kumar368540f2018-08-23 17:55:03 +000039.. option:: -Qn, -fno-ident
Craig Topper42da9cb2018-04-23 21:41:06 +000040
41Do not emit metadata containing compiler name and version
42
Richard Smith081ad4d2017-01-24 19:39:46 +000043.. option:: -Qunused-arguments
44
45Don't emit warning for unused driver arguments
46
Vedant Kumar368540f2018-08-23 17:55:03 +000047.. option:: -Qy, -fident
Craig Topper42da9cb2018-04-23 21:41:06 +000048
49Emit metadata containing compiler name and version
50
Richard Smith081ad4d2017-01-24 19:39:46 +000051.. option:: -Wa,<arg>,<arg2>...
52
53Pass the comma separated arguments in <arg> to the assembler
54
Richard Smith081ad4d2017-01-24 19:39:46 +000055.. option:: -Wlarge-by-value-copy=<arg>
56
Richard Smith081ad4d2017-01-24 19:39:46 +000057.. option:: -Xarch\_<arg1> <arg2>
58
Richard Smith081ad4d2017-01-24 19:39:46 +000059.. option:: -Xcuda-fatbinary <arg>
60
61Pass <arg> to fatbinary invocation
62
Richard Smith081ad4d2017-01-24 19:39:46 +000063.. option:: -Xcuda-ptxas <arg>
64
65Pass <arg> to the ptxas assembler
66
Boris Kolpackovb150d242017-08-30 09:15:53 +000067.. option:: -Xopenmp-target <arg>
68
69Pass <arg> to the target offloading toolchain.
70
71.. program:: clang1
Jonas Hahnfelda180fc42018-02-22 17:10:28 +000072.. option:: -Xopenmp-target=<triple> <arg>
Boris Kolpackovb150d242017-08-30 09:15:53 +000073.. program:: clang
74
Jonas Hahnfelda180fc42018-02-22 17:10:28 +000075Pass <arg> to the target offloading toolchain identified by <triple>.
Boris Kolpackovb150d242017-08-30 09:15:53 +000076
Richard Smith081ad4d2017-01-24 19:39:46 +000077.. option:: -Z<arg>
78
Richard Smith081ad4d2017-01-24 19:39:46 +000079.. option:: -a<arg>, --profile-blocks
80
Richard Smith081ad4d2017-01-24 19:39:46 +000081.. option:: -all\_load
82
Richard Smith081ad4d2017-01-24 19:39:46 +000083.. option:: -allowable\_client <arg>
84
Richard Smith081ad4d2017-01-24 19:39:46 +000085.. option:: --analyze
86
87Run the static analyzer
88
Richard Smith081ad4d2017-01-24 19:39:46 +000089.. option:: --analyze-auto
90
Richard Smith081ad4d2017-01-24 19:39:46 +000091.. option:: --analyzer-no-default-checks
92
Richard Smith081ad4d2017-01-24 19:39:46 +000093.. option:: --analyzer-output<arg>
94
95Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|text).
96
Richard Smith081ad4d2017-01-24 19:39:46 +000097.. option:: -ansi, --ansi
98
Richard Smith081ad4d2017-01-24 19:39:46 +000099.. option:: -arch <arg>
100
Richard Smithb2c82a62017-01-27 01:54:42 +0000101.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000102.. option:: -arch\_errors\_fatal
Richard Smithb2c82a62017-01-27 01:54:42 +0000103.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000104
Richard Smithb2c82a62017-01-27 01:54:42 +0000105.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000106.. option:: -arch\_only <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000107.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000108
Richard Smith081ad4d2017-01-24 19:39:46 +0000109.. option:: -arcmt-migrate-emit-errors
110
111Emit ARC errors even if the migrator can fix them
112
Richard Smith081ad4d2017-01-24 19:39:46 +0000113.. option:: -arcmt-migrate-report-output <arg>
114
115Output path for the plist report
116
Craig Topperd23254a2017-07-20 17:52:48 +0000117.. option:: --autocomplete=<arg>
118
Richard Smith081ad4d2017-01-24 19:39:46 +0000119.. option:: -bind\_at\_load
120
Richard Smith081ad4d2017-01-24 19:39:46 +0000121.. option:: -bundle
122
Richard Smithb2c82a62017-01-27 01:54:42 +0000123.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000124.. option:: -bundle\_loader <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000125.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000126
Craig Topper596527b2018-01-23 18:40:15 +0000127.. option:: -cfguard
128
129Emit tables required for Windows Control Flow Guard.
130
Richard Smith081ad4d2017-01-24 19:39:46 +0000131.. option:: -client\_name<arg>
132
Richard Smith081ad4d2017-01-24 19:39:46 +0000133.. option:: -compatibility\_version<arg>
134
Craig Topper287c8012018-01-03 18:29:12 +0000135.. option:: --config <arg>
136
137Specifies configuration file
138
Richard Smith081ad4d2017-01-24 19:39:46 +0000139.. option:: --constant-cfstrings
140
Richard Smith081ad4d2017-01-24 19:39:46 +0000141.. option:: -coverage, --coverage
142
Richard Smith081ad4d2017-01-24 19:39:46 +0000143.. option:: --cuda-compile-host-device
144
145Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
146
Richard Smith081ad4d2017-01-24 19:39:46 +0000147.. option:: --cuda-device-only
148
149Compile CUDA code for device only
150
Richard Smith081ad4d2017-01-24 19:39:46 +0000151.. option:: --cuda-gpu-arch=<arg>, --no-cuda-gpu-arch=<arg>
152
153CUDA GPU architecture (e.g. sm\_35). May be specified more than once.
154
Richard Smith081ad4d2017-01-24 19:39:46 +0000155.. option:: --cuda-host-only
156
157Compile CUDA code for host only. Has no effect on non-CUDA compilations.
158
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000159.. option:: --cuda-include-ptx=<arg>, --no-cuda-include-ptx=<arg>
160
Sylvestre Ledru90f1dfb2019-01-01 12:51:14 +0000161Include PTX for the following GPU architecture (e.g. sm\_35) or 'all'. May be specified more than once.
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000162
Richard Smith081ad4d2017-01-24 19:39:46 +0000163.. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug
164
165Enable device-side debug info generation. Disables ptxas optimizations.
166
Richard Smith081ad4d2017-01-24 19:39:46 +0000167.. option:: -current\_version<arg>
168
Richard Smith081ad4d2017-01-24 19:39:46 +0000169.. option:: -dead\_strip
170
Richard Smith081ad4d2017-01-24 19:39:46 +0000171.. option:: -dependency-dot <arg>
172
173Filename to write DOT-formatted header dependencies to
174
Richard Smith081ad4d2017-01-24 19:39:46 +0000175.. option:: -dependency-file <arg>
176
177Filename (or -) to write dependency output to
178
Richard Smith081ad4d2017-01-24 19:39:46 +0000179.. option:: -dumpmachine
180
Richard Smith081ad4d2017-01-24 19:39:46 +0000181.. option:: -dumpversion
182
Richard Smith081ad4d2017-01-24 19:39:46 +0000183.. option:: --dyld-prefix=<arg>, --dyld-prefix <arg>
184
Richard Smith081ad4d2017-01-24 19:39:46 +0000185.. option:: -dylib\_file <arg>
186
Richard Smith081ad4d2017-01-24 19:39:46 +0000187.. option:: -dylinker
188
Richard Smithb2c82a62017-01-27 01:54:42 +0000189.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000190.. option:: -dylinker\_install\_name<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000191.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000192
Richard Smith081ad4d2017-01-24 19:39:46 +0000193.. option:: -dynamic
194
Richard Smith081ad4d2017-01-24 19:39:46 +0000195.. option:: -dynamiclib
196
Richard Smith081ad4d2017-01-24 19:39:46 +0000197.. option:: -emit-ast
198
199Emit Clang AST files for source inputs
200
Richard Smith081ad4d2017-01-24 19:39:46 +0000201.. option:: -exported\_symbols\_list <arg>
202
Richard Smith081ad4d2017-01-24 19:39:46 +0000203.. option:: -faligned-new=<arg>
204
Richard Smith081ad4d2017-01-24 19:39:46 +0000205.. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals
206
207Use approximate transcendental functions
208
Richard Smith081ad4d2017-01-24 19:39:46 +0000209.. option:: -fcuda-flush-denormals-to-zero, -fno-cuda-flush-denormals-to-zero
210
211Flush denormal floating point values to zero in CUDA device mode.
212
Craig Topper42da9cb2018-04-23 21:41:06 +0000213.. option:: -fcuda-rdc, -fno-cuda-rdc
214
215Generate relocatable device code, also known as separate compilation mode.
216
Vedant Kumar368540f2018-08-23 17:55:03 +0000217.. option:: -fcuda-short-ptr, -fno-cuda-short-ptr
218
219Use 32-bit pointers for accessing const/local/shared address spaces.
220
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000221.. option:: -ffixed-r19
222
Vedant Kumar368540f2018-08-23 17:55:03 +0000223Reserve register r19 (Hexagon only)
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000224
Richard Smith081ad4d2017-01-24 19:39:46 +0000225.. option:: -fheinous-gnu-extensions
226
Richard Smith081ad4d2017-01-24 19:39:46 +0000227.. option:: -flat\_namespace
228
Richard Smith081ad4d2017-01-24 19:39:46 +0000229.. option:: -fopenmp-targets=<arg1>,<arg2>...
230
231Specify comma-separated list of triples OpenMP offloading targets to be supported
232
Richard Smith081ad4d2017-01-24 19:39:46 +0000233.. option:: -force\_cpusubtype\_ALL
234
Richard Smithb2c82a62017-01-27 01:54:42 +0000235.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000236.. option:: -force\_flat\_namespace
Richard Smithb2c82a62017-01-27 01:54:42 +0000237.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000238
Richard Smithb2c82a62017-01-27 01:54:42 +0000239.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000240.. option:: -force\_load <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000241.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000242
Richard Smith081ad4d2017-01-24 19:39:46 +0000243.. option:: -framework <arg>
244
Richard Smith78e23fd2017-04-13 22:39:49 +0000245.. option:: -frtlib-add-rpath, -fno-rtlib-add-rpath
246
247Add -rpath with architecture-specific resource directory to the linker flags
248
Richard Smith081ad4d2017-01-24 19:39:46 +0000249.. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg>
250
251Use the gcc toolchain at the given directory
252
Richard Smith081ad4d2017-01-24 19:39:46 +0000253.. option:: -gcodeview
254
255Generate CodeView debug information
256
Richard Smith081ad4d2017-01-24 19:39:46 +0000257.. option:: -headerpad\_max\_install\_names<arg>
258
Richard Smith081ad4d2017-01-24 19:39:46 +0000259.. option:: -help, --help
260
261Display available options
262
Richard Smith081ad4d2017-01-24 19:39:46 +0000263.. option:: --help-hidden
264
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000265Display help for hidden options
266
Vedant Kumar368540f2018-08-23 17:55:03 +0000267.. option:: --hip-link
268
269Link clang-offload-bundler bundles for HIP
270
Richard Smith081ad4d2017-01-24 19:39:46 +0000271.. option:: -image\_base <arg>
272
Richard Smith081ad4d2017-01-24 19:39:46 +0000273.. option:: -index-header-map
274
275Make the next included directory (-I or -F) an indexer header map
276
Richard Smith081ad4d2017-01-24 19:39:46 +0000277.. option:: -init <arg>
278
Richard Smith081ad4d2017-01-24 19:39:46 +0000279.. option:: -install\_name <arg>
280
Richard Smith081ad4d2017-01-24 19:39:46 +0000281.. option:: -keep\_private\_externs
282
Richard Smith081ad4d2017-01-24 19:39:46 +0000283.. option:: -lazy\_framework <arg>
284
Richard Smithb2c82a62017-01-27 01:54:42 +0000285.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000286.. option:: -lazy\_library <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000287.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000288
Richard Smith081ad4d2017-01-24 19:39:46 +0000289.. option:: -mbig-endian, -EB
290
Richard Smith081ad4d2017-01-24 19:39:46 +0000291.. option:: --migrate
292
293Run the migrator
294
Richard Smith78e23fd2017-04-13 22:39:49 +0000295.. option:: -mios-simulator-version-min=<arg>, -miphonesimulator-version-min=<arg>
296
Richard Smith081ad4d2017-01-24 19:39:46 +0000297.. option:: -mlinker-version=<arg>
298
Richard Smith081ad4d2017-01-24 19:39:46 +0000299.. option:: -mlittle-endian, -EL
300
Richard Smith081ad4d2017-01-24 19:39:46 +0000301.. option:: -mllvm <arg>
302
303Additional arguments to forward to LLVM's option processing
304
Richard Smith081ad4d2017-01-24 19:39:46 +0000305.. option:: -module-dependency-dir <arg>
306
307Directory to dump module dependencies to
308
Richard Smith78e23fd2017-04-13 22:39:49 +0000309.. option:: -mtvos-simulator-version-min=<arg>, -mappletvsimulator-version-min=<arg>
310
Richard Smith081ad4d2017-01-24 19:39:46 +0000311.. option:: -multi\_module
312
Richard Smith081ad4d2017-01-24 19:39:46 +0000313.. option:: -multiply\_defined <arg>
314
Richard Smithb2c82a62017-01-27 01:54:42 +0000315.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000316.. option:: -multiply\_defined\_unused <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000317.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000318
Richard Smith78e23fd2017-04-13 22:39:49 +0000319.. option:: -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg>
320
Richard Smith081ad4d2017-01-24 19:39:46 +0000321.. option:: --no-cuda-version-check
322
323Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
324
Richard Smith081ad4d2017-01-24 19:39:46 +0000325.. option:: -no-integrated-cpp, --no-integrated-cpp
326
Richard Smith081ad4d2017-01-24 19:39:46 +0000327.. option:: -no\_dead\_strip\_inits\_and\_terms
328
Richard Smith081ad4d2017-01-24 19:39:46 +0000329.. option:: -nobuiltininc
330
331Disable builtin #include directories
332
Richard Smith081ad4d2017-01-24 19:39:46 +0000333.. option:: -nocudainc
334
Richard Smith081ad4d2017-01-24 19:39:46 +0000335.. option:: -nocudalib
336
Richard Smith081ad4d2017-01-24 19:39:46 +0000337.. option:: -nodefaultlibs
338
Richard Smith081ad4d2017-01-24 19:39:46 +0000339.. option:: -nofixprebinding
340
Richard Smith081ad4d2017-01-24 19:39:46 +0000341.. option:: -nolibc
342
Richard Smith081ad4d2017-01-24 19:39:46 +0000343.. option:: -nomultidefs
344
Craig Topperd23254a2017-07-20 17:52:48 +0000345.. option:: -nopie, -no-pie
Richard Smith081ad4d2017-01-24 19:39:46 +0000346
Richard Smith081ad4d2017-01-24 19:39:46 +0000347.. option:: -noprebind
348
Richard Smith081ad4d2017-01-24 19:39:46 +0000349.. option:: -noseglinkedit
350
Richard Smith081ad4d2017-01-24 19:39:46 +0000351.. option:: -nostartfiles
352
Richard Smith081ad4d2017-01-24 19:39:46 +0000353.. option:: -nostdinc, --no-standard-includes
354
Richard Smithb2c82a62017-01-27 01:54:42 +0000355.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000356.. option:: -nostdinc++
Richard Smithb2c82a62017-01-27 01:54:42 +0000357.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000358
359Disable standard #include directories for the C++ standard library
360
Richard Smith081ad4d2017-01-24 19:39:46 +0000361.. option:: -nostdlib, --no-standard-libraries
362
Boris Kolpackovb150d242017-08-30 09:15:53 +0000363.. program:: clang1
364.. option:: -nostdlib++
365.. program:: clang
366
Richard Smith081ad4d2017-01-24 19:39:46 +0000367.. option:: -nostdlibinc
368
Richard Smith081ad4d2017-01-24 19:39:46 +0000369.. option:: -o<file>, --output <arg>, --output=<arg>
370
371Write output to <file>
372
Richard Smith081ad4d2017-01-24 19:39:46 +0000373.. option:: -objcmt-atomic-property
374
375Make migration to 'atomic' properties
376
Richard Smith081ad4d2017-01-24 19:39:46 +0000377.. option:: -objcmt-migrate-all
378
379Enable migration to modern ObjC
380
Richard Smith081ad4d2017-01-24 19:39:46 +0000381.. option:: -objcmt-migrate-annotation
382
383Enable migration to property and method annotations
384
Richard Smith081ad4d2017-01-24 19:39:46 +0000385.. option:: -objcmt-migrate-designated-init
386
387Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods
388
Richard Smith081ad4d2017-01-24 19:39:46 +0000389.. option:: -objcmt-migrate-instancetype
390
391Enable migration to infer instancetype for method result type
392
Richard Smith081ad4d2017-01-24 19:39:46 +0000393.. option:: -objcmt-migrate-literals
394
395Enable migration to modern ObjC literals
396
Richard Smith081ad4d2017-01-24 19:39:46 +0000397.. option:: -objcmt-migrate-ns-macros
398
399Enable migration to NS\_ENUM/NS\_OPTIONS macros
400
Richard Smith081ad4d2017-01-24 19:39:46 +0000401.. option:: -objcmt-migrate-property
402
403Enable migration to modern ObjC property
404
Richard Smith081ad4d2017-01-24 19:39:46 +0000405.. option:: -objcmt-migrate-property-dot-syntax
406
407Enable migration of setter/getter messages to property-dot syntax
408
Richard Smith081ad4d2017-01-24 19:39:46 +0000409.. option:: -objcmt-migrate-protocol-conformance
410
411Enable migration to add protocol conformance on classes
412
Richard Smith081ad4d2017-01-24 19:39:46 +0000413.. option:: -objcmt-migrate-readonly-property
414
415Enable migration to modern ObjC readonly property
416
Richard Smith081ad4d2017-01-24 19:39:46 +0000417.. option:: -objcmt-migrate-readwrite-property
418
419Enable migration to modern ObjC readwrite property
420
Richard Smith081ad4d2017-01-24 19:39:46 +0000421.. option:: -objcmt-migrate-subscripting
422
423Enable migration to modern ObjC subscripting
424
Richard Smith081ad4d2017-01-24 19:39:46 +0000425.. option:: -objcmt-ns-nonatomic-iosonly
426
427Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute
428
Richard Smith081ad4d2017-01-24 19:39:46 +0000429.. option:: -objcmt-returns-innerpointer-property
430
431Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER
432
Richard Smith081ad4d2017-01-24 19:39:46 +0000433.. option:: -objcmt-whitelist-dir-path=<arg>, -objcmt-white-list-dir-path=<arg>
434
435Only modify files with a filename contained in the provided directory path
436
Richard Smith081ad4d2017-01-24 19:39:46 +0000437.. option:: -object
438
Richard Smith081ad4d2017-01-24 19:39:46 +0000439.. option:: -p, --profile
440
Richard Smith081ad4d2017-01-24 19:39:46 +0000441.. option:: -pagezero\_size<arg>
442
Richard Smith081ad4d2017-01-24 19:39:46 +0000443.. option:: -pg
444
445Enable mcount instrumentation
446
Richard Smith081ad4d2017-01-24 19:39:46 +0000447.. option:: -pie
448
Richard Smith081ad4d2017-01-24 19:39:46 +0000449.. option:: -pipe, --pipe
450
451Use pipes between commands, when possible
452
Richard Smith081ad4d2017-01-24 19:39:46 +0000453.. option:: -prebind
454
Richard Smithb2c82a62017-01-27 01:54:42 +0000455.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000456.. option:: -prebind\_all\_twolevel\_modules
Richard Smithb2c82a62017-01-27 01:54:42 +0000457.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000458
Richard Smith081ad4d2017-01-24 19:39:46 +0000459.. option:: -preload
460
Richard Smith081ad4d2017-01-24 19:39:46 +0000461.. option:: --print-diagnostic-categories
462
Vedant Kumar368540f2018-08-23 17:55:03 +0000463.. option:: -print-effective-triple, --print-effective-triple
464
465Print the effective target triple
466
Richard Smith081ad4d2017-01-24 19:39:46 +0000467.. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg>
468
469Print the full library path of <file>
470
Richard Smith081ad4d2017-01-24 19:39:46 +0000471.. option:: -print-ivar-layout
472
473Enable Objective-C Ivar layout bitmap print trace
474
Richard Smith081ad4d2017-01-24 19:39:46 +0000475.. option:: -print-libgcc-file-name, --print-libgcc-file-name
476
477Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang\_rt.builtins.\*.a")
478
Richard Smith081ad4d2017-01-24 19:39:46 +0000479.. option:: -print-multi-directory, --print-multi-directory
480
Richard Smith081ad4d2017-01-24 19:39:46 +0000481.. option:: -print-multi-lib, --print-multi-lib
482
Richard Smith081ad4d2017-01-24 19:39:46 +0000483.. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg>
484
485Print the full program path of <name>
486
Richard Smith78e23fd2017-04-13 22:39:49 +0000487.. option:: -print-resource-dir, --print-resource-dir
488
489Print the resource directory pathname
490
Richard Smith081ad4d2017-01-24 19:39:46 +0000491.. option:: -print-search-dirs, --print-search-dirs
492
493Print the paths used for finding libraries and programs
494
Vedant Kumar368540f2018-08-23 17:55:03 +0000495.. option:: -print-target-triple, --print-target-triple
496
497Print the normalized target triple
498
Richard Smith081ad4d2017-01-24 19:39:46 +0000499.. option:: -private\_bundle
500
Richard Smith081ad4d2017-01-24 19:39:46 +0000501.. option:: -pthread, -no-pthread
502
503Support POSIX threads in generated code
504
Richard Smith081ad4d2017-01-24 19:39:46 +0000505.. option:: -pthreads
506
Richard Smith081ad4d2017-01-24 19:39:46 +0000507.. option:: -rdynamic
508
Richard Smith081ad4d2017-01-24 19:39:46 +0000509.. option:: -read\_only\_relocs <arg>
510
Richard Smith081ad4d2017-01-24 19:39:46 +0000511.. option:: -relocatable-pch, --relocatable-pch
512
513Whether to build a relocatable precompiled header
514
Richard Smith081ad4d2017-01-24 19:39:46 +0000515.. option:: -remap
516
Richard Smith081ad4d2017-01-24 19:39:46 +0000517.. option:: -rewrite-legacy-objc
518
519Rewrite Legacy Objective-C source to C++
520
Richard Smith081ad4d2017-01-24 19:39:46 +0000521.. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg>
522
523Compiler runtime library to use
524
Richard Smith081ad4d2017-01-24 19:39:46 +0000525.. option:: -save-stats=<arg>, --save-stats=<arg>, -save-stats (equivalent to -save-stats=cwd), --save-stats (equivalent to -save-stats=cwd)
526
527Save llvm statistics.
528
Richard Smith081ad4d2017-01-24 19:39:46 +0000529.. option:: -save-temps=<arg>, --save-temps=<arg>, -save-temps (equivalent to -save-temps=cwd), --save-temps (equivalent to -save-temps=cwd)
530
531Save intermediate compilation results.
532
Richard Smith081ad4d2017-01-24 19:39:46 +0000533.. option:: -sectalign <arg1> <arg2> <arg3>
534
Richard Smith081ad4d2017-01-24 19:39:46 +0000535.. option:: -sectcreate <arg1> <arg2> <arg3>
536
Richard Smith081ad4d2017-01-24 19:39:46 +0000537.. option:: -sectobjectsymbols <arg1> <arg2>
538
Richard Smith081ad4d2017-01-24 19:39:46 +0000539.. option:: -sectorder <arg1> <arg2> <arg3>
540
Richard Smith081ad4d2017-01-24 19:39:46 +0000541.. option:: -seg1addr<arg>
542
Richard Smith081ad4d2017-01-24 19:39:46 +0000543.. option:: -seg\_addr\_table <arg>
544
Richard Smithb2c82a62017-01-27 01:54:42 +0000545.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000546.. option:: -seg\_addr\_table\_filename <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000547.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000548
Richard Smith081ad4d2017-01-24 19:39:46 +0000549.. option:: -segaddr <arg1> <arg2>
550
Richard Smith081ad4d2017-01-24 19:39:46 +0000551.. option:: -segcreate <arg1> <arg2> <arg3>
552
Richard Smith081ad4d2017-01-24 19:39:46 +0000553.. option:: -seglinkedit
554
Richard Smith081ad4d2017-01-24 19:39:46 +0000555.. option:: -segprot <arg1> <arg2> <arg3>
556
Richard Smith081ad4d2017-01-24 19:39:46 +0000557.. option:: -segs\_read\_<arg>
558
Richard Smithb2c82a62017-01-27 01:54:42 +0000559.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000560.. option:: -segs\_read\_only\_addr <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000561.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000562
Richard Smithb2c82a62017-01-27 01:54:42 +0000563.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000564.. option:: -segs\_read\_write\_addr <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000565.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000566
Richard Smith081ad4d2017-01-24 19:39:46 +0000567.. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg>
568
569Serialize compiler diagnostics to a file
570
Richard Smith081ad4d2017-01-24 19:39:46 +0000571.. option:: -shared, --shared
572
Richard Smith081ad4d2017-01-24 19:39:46 +0000573.. option:: -shared-libgcc
574
Craig Topper16418662017-11-20 18:07:43 +0000575.. option:: -shared-libsan, -shared-libasan
576
Vedant Kumar368540f2018-08-23 17:55:03 +0000577Dynamically link the sanitizer runtime
578
Richard Smith081ad4d2017-01-24 19:39:46 +0000579.. option:: -single\_module
580
Richard Smith081ad4d2017-01-24 19:39:46 +0000581.. option:: -specs=<arg>, --specs=<arg>
582
Richard Smith081ad4d2017-01-24 19:39:46 +0000583.. option:: -static, --static
584
Richard Smith081ad4d2017-01-24 19:39:46 +0000585.. option:: -static-libgcc
586
Craig Topper16418662017-11-20 18:07:43 +0000587.. option:: -static-libsan
588
Vedant Kumar368540f2018-08-23 17:55:03 +0000589Statically link the sanitizer runtime
590
Richard Smith081ad4d2017-01-24 19:39:46 +0000591.. option:: -static-libstdc++
592
Richard Smith081ad4d2017-01-24 19:39:46 +0000593.. option:: -std-default=<arg>
594
Richard Smith081ad4d2017-01-24 19:39:46 +0000595.. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg>
596
597C++ standard library to use
598
Richard Smith081ad4d2017-01-24 19:39:46 +0000599.. option:: -sub\_library<arg>
600
Richard Smithb2c82a62017-01-27 01:54:42 +0000601.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000602.. option:: -sub\_umbrella<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000603.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000604
Richard Smith081ad4d2017-01-24 19:39:46 +0000605.. option:: --sysroot=<arg>, --sysroot <arg>
606
Richard Smith081ad4d2017-01-24 19:39:46 +0000607.. option:: --target-help
608
Richard Smith081ad4d2017-01-24 19:39:46 +0000609.. option:: --target=<arg>, -target <arg>
610
611Generate code for the given target
612
Richard Smith081ad4d2017-01-24 19:39:46 +0000613.. option:: -time
614
615Time individual commands
616
Richard Smith081ad4d2017-01-24 19:39:46 +0000617.. option:: -traditional, --traditional
618
Richard Smith081ad4d2017-01-24 19:39:46 +0000619.. option:: -traditional-cpp, --traditional-cpp
620
621Enable some traditional CPP emulation
622
Richard Smith081ad4d2017-01-24 19:39:46 +0000623.. option:: -twolevel\_namespace
624
Richard Smithb2c82a62017-01-27 01:54:42 +0000625.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000626.. option:: -twolevel\_namespace\_hints
Richard Smithb2c82a62017-01-27 01:54:42 +0000627.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000628
Richard Smith081ad4d2017-01-24 19:39:46 +0000629.. option:: -umbrella <arg>
630
Richard Smith081ad4d2017-01-24 19:39:46 +0000631.. option:: -unexported\_symbols\_list <arg>
632
Richard Smith081ad4d2017-01-24 19:39:46 +0000633.. option:: -v, --verbose
634
635Show commands to run and use verbose output
636
Richard Smith081ad4d2017-01-24 19:39:46 +0000637.. option:: --verify-debug-info
638
639Verify the binary representation of debug output
640
Richard Smith081ad4d2017-01-24 19:39:46 +0000641.. option:: --version
642
Craig Topper16418662017-11-20 18:07:43 +0000643Print version information
644
Richard Smith081ad4d2017-01-24 19:39:46 +0000645.. option:: -w, --no-warnings
646
647Suppress all warnings
648
Richard Smith081ad4d2017-01-24 19:39:46 +0000649.. option:: -weak-l<arg>
650
Richard Smith081ad4d2017-01-24 19:39:46 +0000651.. option:: -weak\_framework <arg>
652
Richard Smithb2c82a62017-01-27 01:54:42 +0000653.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000654.. option:: -weak\_library <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000655.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000656
Richard Smithb2c82a62017-01-27 01:54:42 +0000657.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000658.. option:: -weak\_reference\_mismatches <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000659.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000660
Richard Smith081ad4d2017-01-24 19:39:46 +0000661.. option:: -whatsloaded
662
Richard Smith081ad4d2017-01-24 19:39:46 +0000663.. option:: -whyload
664
Richard Smith081ad4d2017-01-24 19:39:46 +0000665.. option:: -working-directory<arg>, -working-directory=<arg>
666
667Resolve file paths relative to the specified directory
668
Richard Smith081ad4d2017-01-24 19:39:46 +0000669.. option:: -x<language>, --language <arg>, --language=<arg>
670
671Treat subsequent input files as having type <language>
672
Richard Smith081ad4d2017-01-24 19:39:46 +0000673.. option:: -y<arg>
674
675Actions
676=======
677The action to perform on the input.
678
Richard Smith081ad4d2017-01-24 19:39:46 +0000679.. option:: -E, --preprocess
680
681Only run the preprocessor
682
Richard Smith081ad4d2017-01-24 19:39:46 +0000683.. option:: -S, --assemble
684
685Only run preprocess and compilation steps
686
Richard Smithc5b2e002017-01-27 02:08:37 +0000687.. option:: -c, --compile
688
689Only run preprocess, compile, and assemble steps
690
Richard Smith081ad4d2017-01-24 19:39:46 +0000691.. option:: -emit-llvm
692
693Use the LLVM representation for assembler and object files
694
Richard Smith081ad4d2017-01-24 19:39:46 +0000695.. option:: -fsyntax-only
696
Richard Smith081ad4d2017-01-24 19:39:46 +0000697.. option:: -module-file-info
698
699Provide information about a particular module file
700
Richard Smith081ad4d2017-01-24 19:39:46 +0000701.. option:: --precompile
702
703Only precompile the input
704
Richard Smith081ad4d2017-01-24 19:39:46 +0000705.. option:: -rewrite-objc
706
707Rewrite Objective-C source to C++
708
Richard Smith081ad4d2017-01-24 19:39:46 +0000709.. option:: -verify-pch
710
711Load and verify that a pre-compiled header file is not stale
712
713Compilation flags
714=================
715
716Flags controlling the behavior of Clang during compilation. These flags have
717no effect during actions that do not perform compilation.
718
Richard Smithc5b2e002017-01-27 02:08:37 +0000719.. option:: -Xassembler <arg>
Richard Smith081ad4d2017-01-24 19:39:46 +0000720
Richard Smithc5b2e002017-01-27 02:08:37 +0000721Pass <arg> to the assembler
Richard Smith081ad4d2017-01-24 19:39:46 +0000722
Richard Smith081ad4d2017-01-24 19:39:46 +0000723.. option:: -Xclang <arg>
724
725Pass <arg> to the clang compiler
726
Boris Kolpackovb150d242017-08-30 09:15:53 +0000727.. option:: -fclang-abi-compat=<version>
728
729Attempt to match the ABI of Clang <version>
730
Richard Smith081ad4d2017-01-24 19:39:46 +0000731.. option:: -fcomment-block-commands=<arg>,<arg2>...
732
733Treat each comma separated argument in <arg> as a documentation comment block command
734
Vedant Kumar368540f2018-08-23 17:55:03 +0000735.. option:: -fcomplete-member-pointers, -fno-complete-member-pointers
736
737Require member pointer base types to be complete if they would be significant under the Microsoft ABI
738
739.. option:: -fcrash-diagnostics-dir=<arg>
740
Richard Smith081ad4d2017-01-24 19:39:46 +0000741.. option:: -fdeclspec, -fno-declspec
742
743Allow \_\_declspec as a keyword
744
Richard Smith081ad4d2017-01-24 19:39:46 +0000745.. option:: -fdepfile-entry=<arg>
746
Richard Smith081ad4d2017-01-24 19:39:46 +0000747.. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info
748
Richard Smith081ad4d2017-01-24 19:39:46 +0000749.. option:: -fdiagnostics-format=<arg>
750
Richard Smith081ad4d2017-01-24 19:39:46 +0000751.. option:: -fdiagnostics-parseable-fixits
752
753Print fix-its in machine parseable form
754
Richard Smith081ad4d2017-01-24 19:39:46 +0000755.. option:: -fdiagnostics-print-source-range-info
756
757Print source range spans in numeric form
758
Richard Smith081ad4d2017-01-24 19:39:46 +0000759.. option:: -fdiagnostics-show-category=<arg>
760
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000761.. option:: -fdiscard-value-names, -fno-discard-value-names
762
763Discard value names in LLVM IR
764
765.. option:: -fexperimental-isel, -fno-experimental-isel
766
767Enables the experimental global instruction selector
768
Richard Smith081ad4d2017-01-24 19:39:46 +0000769.. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager
770
771Enables an experimental new pass manager in LLVM.
772
Craig Topper16418662017-11-20 18:07:43 +0000773.. option:: -ffine-grained-bitfield-accesses, -fno-fine-grained-bitfield-accesses
774
Vedant Kumar368540f2018-08-23 17:55:03 +0000775Use separate accesses for consecutive bitfield runs with legal widths and alignments.
Craig Topper16418662017-11-20 18:07:43 +0000776
Richard Smith081ad4d2017-01-24 19:39:46 +0000777.. option:: -finline-functions, -fno-inline-functions
778
779Inline suitable functions
780
Richard Smith081ad4d2017-01-24 19:39:46 +0000781.. option:: -finline-hint-functions
782
783Inline functions which are (explicitly or implicitly) marked inline
784
Richard Smith081ad4d2017-01-24 19:39:46 +0000785.. option:: -fno-crash-diagnostics
786
Richard Smith78e23fd2017-04-13 22:39:49 +0000787Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
788
Richard Smith081ad4d2017-01-24 19:39:46 +0000789.. option:: -fno-sanitize-blacklist
790
791Don't use blacklist file for sanitizers
792
Richard Smith081ad4d2017-01-24 19:39:46 +0000793.. option:: -fparse-all-comments
794
Scott Linderde6beb02018-12-14 15:38:15 +0000795.. option:: -frecord-command-line, -frecord-gcc-switches, -fno-record-command-line, -fno-record-gcc-switches
796
797Generate a section named ".GCC.command.line" containing the clang driver
798command-line. After linking, the section may contain multiple command lines,
799which will be individually terminated by null bytes. Separate arguments within
800a command line are combined with spaces; spaces and backslashes within an
801argument are escaped with backslashes. This format differs from the format of
802the equivalent section produced by GCC with the -frecord-gcc-switches flag.
803This option is currently only supported on ELF targets.
804
Richard Smith081ad4d2017-01-24 19:39:46 +0000805.. option:: -fsanitize-address-field-padding=<arg>
806
807Level of field padding for AddressSanitizer
808
Craig Topperd23254a2017-07-20 17:52:48 +0000809.. option:: -fsanitize-address-globals-dead-stripping
810
811Enable linker dead stripping of globals in AddressSanitizer
812
Vitaly Buka8076c572018-12-05 01:44:31 +0000813.. option:: -fsanitize-address-use-odr-indicator, -fno-sanitize-address-use-odr-indicator
814
815Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
816
Filipe Cabecinhas0eb50082018-11-02 17:29:04 +0000817.. option:: -fsanitize-address-poison-custom-array-cookie, -fno-sanitize-address-poison-custom-array-cookie
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000818
Filipe Cabecinhas0eb50082018-11-02 17:29:04 +0000819Enable "poisoning" array cookies when allocating arrays with a custom operator new\[\] in Address Sanitizer, preventing accesses to the cookies from user code. An array cookie is a small implementation-defined header added to certain array allocations to record metadata such as the length of the array. Accesses to array cookies from user code are technically allowed by the standard but are more likely to be the result of an out-of-bounds array access.
820
821An operator new\[\] is "custom" if it is not one of the allocation functions provided by the C++ standard library. Array cookies from non-custom allocation functions are always poisoned.
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000822
Richard Smith081ad4d2017-01-24 19:39:46 +0000823.. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope
824
825Enable use-after-scope detection in AddressSanitizer
826
Richard Smith081ad4d2017-01-24 19:39:46 +0000827.. option:: -fsanitize-blacklist=<arg>
828
829Path to blacklist file for sanitizers
830
Richard Smith081ad4d2017-01-24 19:39:46 +0000831.. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso
832
833Enable control flow integrity (CFI) checks for cross-DSO calls.
834
Vlad Tsyrklevich634c6012017-10-31 22:39:44 +0000835.. option:: -fsanitize-cfi-icall-generalize-pointers
836
Craig Topper16418662017-11-20 18:07:43 +0000837Generalize pointers in CFI indirect call type signature checks
Vlad Tsyrklevich634c6012017-10-31 22:39:44 +0000838
Richard Smith081ad4d2017-01-24 19:39:46 +0000839.. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>...
840
841Specify the type of coverage instrumentation for Sanitizers
842
Richard Smith081ad4d2017-01-24 19:39:46 +0000843.. option:: -fsanitize-link-c++-runtime
844
Richard Smith081ad4d2017-01-24 19:39:46 +0000845.. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins
846
847Enable origins tracking in MemorySanitizer
848
Richard Smithb2c82a62017-01-27 01:54:42 +0000849.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000850.. option:: -fsanitize-memory-track-origins=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000851.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000852
853Enable origins tracking in MemorySanitizer
854
Craig Topper16418662017-11-20 18:07:43 +0000855.. option:: -fsanitize-memory-use-after-dtor, -fno-sanitize-memory-use-after-dtor
Richard Smith081ad4d2017-01-24 19:39:46 +0000856
857Enable use-after-destroy detection in MemorySanitizer
858
Boris Kolpackovb150d242017-08-30 09:15:53 +0000859.. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime
860
Richard Smith081ad4d2017-01-24 19:39:46 +0000861.. option:: -fsanitize-recover, -fno-sanitize-recover
862
Richard Smithb2c82a62017-01-27 01:54:42 +0000863.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000864.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>...
Richard Smithb2c82a62017-01-27 01:54:42 +0000865.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000866
867Enable recovery for specified sanitizers
868
Richard Smith081ad4d2017-01-24 19:39:46 +0000869.. option:: -fsanitize-stats, -fno-sanitize-stats
870
871Enable sanitizer statistics gathering.
872
Richard Smith081ad4d2017-01-24 19:39:46 +0000873.. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics
874
875Enable atomic operations instrumentation in ThreadSanitizer (default)
876
Richard Smith081ad4d2017-01-24 19:39:46 +0000877.. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit
878
879Enable function entry/exit instrumentation in ThreadSanitizer (default)
880
Richard Smith081ad4d2017-01-24 19:39:46 +0000881.. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access
882
883Enable memory access instrumentation in ThreadSanitizer (default)
884
Richard Smith081ad4d2017-01-24 19:39:46 +0000885.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>...
886
887Enable trapping for specified sanitizers
888
Richard Smith081ad4d2017-01-24 19:39:46 +0000889.. option:: -fsanitize-undefined-strip-path-components=<number>
890
891Strip (or keep only, if negative) a given number of path components when emitting check metadata.
892
Richard Smith081ad4d2017-01-24 19:39:46 +0000893.. option:: -fsanitize-undefined-trap-on-error, -fno-sanitize-undefined-trap-on-error
894
Richard Smith081ad4d2017-01-24 19:39:46 +0000895.. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>...
896
897Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
898
Vedant Kumar368540f2018-08-23 17:55:03 +0000899.. option:: -moutline, -mno-outline
900
901Enable function outlining (AArch64 only)
902
Richard Smith081ad4d2017-01-24 19:39:46 +0000903.. option:: --param <arg>, --param=<arg>
904
Richard Smith081ad4d2017-01-24 19:39:46 +0000905.. option:: -std=<arg>, --std=<arg>, --std <arg>
906
907Language standard to compile for
908
Richard Smithc5b2e002017-01-27 02:08:37 +0000909Preprocessor flags
910~~~~~~~~~~~~~~~~~~
911
912Flags controlling the behavior of the Clang preprocessor.
913
914.. option:: -C, --comments
915
916Include comments in preprocessed output
917
918.. option:: -CC, --comments-in-macros
919
920Include comments from within macros in preprocessed output
921
922.. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg>
923
924Define <macro> to <value> (or 1 if <value> omitted)
925
926.. option:: -H, --trace-includes
927
928Show header includes and nesting depth
929
930.. option:: -P, --no-line-commands
931
932Disable linemarker output in -E mode
933
934.. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg>
935
936Undefine macro <macro>
937
938.. option:: -Wp,<arg>,<arg2>...
939
940Pass the comma separated arguments in <arg> to the preprocessor
941
942.. option:: -Xpreprocessor <arg>
943
944Pass <arg> to the preprocessor
945
Richard Smith081ad4d2017-01-24 19:39:46 +0000946Include path management
Richard Smithc5b2e002017-01-27 02:08:37 +0000947-----------------------
Richard Smith081ad4d2017-01-24 19:39:46 +0000948
949Flags controlling how ``#include``\s are resolved to files.
950
Richard Smithc5b2e002017-01-27 02:08:37 +0000951.. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +0000952
953Add directory to include search path
954
Richard Smith081ad4d2017-01-24 19:39:46 +0000955.. option:: -I-, --include-barrier
956
Richard Smithc5b2e002017-01-27 02:08:37 +0000957Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
958
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000959.. option:: --cuda-path-ignore-env
960
961Ignore environment variables to detect CUDA installation
962
Richard Smith081ad4d2017-01-24 19:39:46 +0000963.. option:: --cuda-path=<arg>
964
965CUDA installation path
966
Richard Smith081ad4d2017-01-24 19:39:46 +0000967.. option:: -cxx-isystem<directory>
968
969Add directory to the C++ SYSTEM include search path
970
Richard Smith081ad4d2017-01-24 19:39:46 +0000971.. option:: -fbuild-session-file=<file>
972
973Use the last modification time of <file> as the build session timestamp
974
Richard Smith081ad4d2017-01-24 19:39:46 +0000975.. option:: -fbuild-session-timestamp=<time since Epoch in seconds>
976
977Time when the current build session started
978
Boris Kolpackovb150d242017-08-30 09:15:53 +0000979.. option:: -fmodule-file=\[<name>=\]<file>
980
981Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
982
Richard Smith081ad4d2017-01-24 19:39:46 +0000983.. option:: -fmodules-cache-path=<directory>
984
985Specify the module cache path
986
Richard Smith081ad4d2017-01-24 19:39:46 +0000987.. option:: -fmodules-disable-diagnostic-validation
988
989Disable validation of the diagnostic options when loading the module
990
Richard Smith081ad4d2017-01-24 19:39:46 +0000991.. option:: -fmodules-prune-after=<seconds>
992
993Specify the interval (in seconds) after which a module file will be considered unused
994
Richard Smith081ad4d2017-01-24 19:39:46 +0000995.. option:: -fmodules-prune-interval=<seconds>
996
997Specify the interval (in seconds) between attempts to prune the module cache
998
Richard Smith081ad4d2017-01-24 19:39:46 +0000999.. option:: -fmodules-user-build-path <directory>
1000
1001Specify the module user build path
1002
Richard Smith081ad4d2017-01-24 19:39:46 +00001003.. option:: -fmodules-validate-once-per-build-session
1004
1005Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
1006
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001007.. option:: -fmodules-validate-system-headers, -fno-modules-validate-system-headers
Richard Smith081ad4d2017-01-24 19:39:46 +00001008
1009Validate the system headers that a module depends on when loading the module
1010
Richard Smith081ad4d2017-01-24 19:39:46 +00001011.. option:: -fprebuilt-module-path=<directory>
1012
1013Specify the prebuilt module path
1014
Richard Smith081ad4d2017-01-24 19:39:46 +00001015.. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg>
1016
1017Add directory to AFTER include search path
1018
Richard Smith081ad4d2017-01-24 19:39:46 +00001019.. option:: -iframework<arg>
1020
1021Add directory to SYSTEM framework search path
1022
Richard Smith78e23fd2017-04-13 22:39:49 +00001023.. option:: -iframeworkwithsysroot<directory>
1024
1025Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
1026
Richard Smith081ad4d2017-01-24 19:39:46 +00001027.. option:: -imacros<file>, --imacros<file>, --imacros=<arg>
1028
1029Include macros from file before parsing
1030
Richard Smith081ad4d2017-01-24 19:39:46 +00001031.. option:: -include<file>, --include<file>, --include=<arg>
1032
1033Include file before parsing
1034
Richard Smith081ad4d2017-01-24 19:39:46 +00001035.. option:: -include-pch <file>
1036
1037Include precompiled header file
1038
Richard Smith081ad4d2017-01-24 19:39:46 +00001039.. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg>
1040
1041Set the -iwithprefix/-iwithprefixbefore prefix
1042
Richard Smith081ad4d2017-01-24 19:39:46 +00001043.. option:: -iquote<directory>
1044
1045Add directory to QUOTE include search path
1046
Richard Smith081ad4d2017-01-24 19:39:46 +00001047.. option:: -isysroot<dir>
1048
1049Set the system root directory (usually /)
1050
Richard Smith081ad4d2017-01-24 19:39:46 +00001051.. option:: -isystem<directory>
1052
1053Add directory to SYSTEM include search path
1054
Richard Smith081ad4d2017-01-24 19:39:46 +00001055.. option:: -isystem-after<directory>
1056
1057Add directory to end of the SYSTEM include search path
1058
Richard Smith081ad4d2017-01-24 19:39:46 +00001059.. option:: -ivfsoverlay<arg>
1060
1061Overlay the virtual filesystem described by file over the real file system
1062
Richard Smith081ad4d2017-01-24 19:39:46 +00001063.. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg>
1064
1065Set directory to SYSTEM include search path with prefix
1066
Richard Smith081ad4d2017-01-24 19:39:46 +00001067.. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg>
1068
1069Set directory to include search path with prefix
1070
Richard Smith081ad4d2017-01-24 19:39:46 +00001071.. option:: -iwithsysroot<directory>
1072
1073Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
1074
Richard Smith081ad4d2017-01-24 19:39:46 +00001075.. option:: --ptxas-path=<arg>
1076
1077Path to ptxas (used for compiling CUDA code)
1078
Richard Smith081ad4d2017-01-24 19:39:46 +00001079.. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg>
1080
1081Treat all #include paths starting with <prefix> as including a system header.
1082
1083Dependency file generation
Richard Smithc5b2e002017-01-27 02:08:37 +00001084--------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001085
1086Flags controlling generation of a dependency file for ``make``-like build
1087systems.
1088
Richard Smith081ad4d2017-01-24 19:39:46 +00001089.. option:: -M, --dependencies
1090
1091Like -MD, but also implies -E and writes to stdout by default
1092
Richard Smith081ad4d2017-01-24 19:39:46 +00001093.. option:: -MD, --write-dependencies
1094
1095Write a depfile containing user and system headers
1096
Richard Smith081ad4d2017-01-24 19:39:46 +00001097.. option:: -MF<file>
1098
1099Write depfile output from -MMD, -MD, -MM, or -M to <file>
1100
Richard Smith081ad4d2017-01-24 19:39:46 +00001101.. option:: -MG, --print-missing-file-dependencies
1102
1103Add missing headers to depfile
1104
Richard Smith081ad4d2017-01-24 19:39:46 +00001105.. option:: -MJ<arg>
1106
1107Write a compilation database entry per input
1108
Richard Smith081ad4d2017-01-24 19:39:46 +00001109.. option:: -MM, --user-dependencies
1110
1111Like -MMD, but also implies -E and writes to stdout by default
1112
Richard Smith081ad4d2017-01-24 19:39:46 +00001113.. option:: -MMD, --write-user-dependencies
1114
1115Write a depfile containing user headers
1116
Richard Smith081ad4d2017-01-24 19:39:46 +00001117.. option:: -MP
1118
1119Create phony target for each dependency (other than main file)
1120
Richard Smith081ad4d2017-01-24 19:39:46 +00001121.. option:: -MQ<arg>
1122
1123Specify name of main file output to quote in depfile
1124
Richard Smith081ad4d2017-01-24 19:39:46 +00001125.. option:: -MT<arg>
1126
1127Specify name of main file output in depfile
1128
Richard Smith081ad4d2017-01-24 19:39:46 +00001129.. option:: -MV
1130
1131Use NMake/Jom format for the depfile
1132
1133Dumping preprocessor state
Richard Smithc5b2e002017-01-27 02:08:37 +00001134--------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001135
1136Flags allowing the state of the preprocessor to be dumped in various ways.
1137
Richard Smith081ad4d2017-01-24 19:39:46 +00001138.. option:: -d
1139
Richard Smithb2c82a62017-01-27 01:54:42 +00001140.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001141.. option:: -d<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001142.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001143
Richard Smith081ad4d2017-01-24 19:39:46 +00001144.. option:: -dA
1145
Richard Smith081ad4d2017-01-24 19:39:46 +00001146.. option:: -dD
1147
1148Print macro definitions in -E mode in addition to normal output
1149
Richard Smith081ad4d2017-01-24 19:39:46 +00001150.. option:: -dI
1151
1152Print include directives in -E mode in addition to normal output
1153
Richard Smith081ad4d2017-01-24 19:39:46 +00001154.. option:: -dM
1155
1156Print macro definitions in -E mode instead of normal output
1157
1158Diagnostic flags
1159~~~~~~~~~~~~~~~~
1160
1161Flags controlling which warnings, errors, and remarks Clang will generate.
1162See the :doc:`full list of warning and remark flags <DiagnosticsReference>`.
1163
Richard Smith081ad4d2017-01-24 19:39:46 +00001164.. option:: -R<remark>
1165
1166Enable the specified remark
1167
Richard Smith081ad4d2017-01-24 19:39:46 +00001168.. option:: -Rpass-analysis=<arg>
1169
1170Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
1171
Richard Smith081ad4d2017-01-24 19:39:46 +00001172.. option:: -Rpass-missed=<arg>
1173
1174Report missed transformations by optimization passes whose name matches the given POSIX regular expression
1175
Richard Smith081ad4d2017-01-24 19:39:46 +00001176.. option:: -Rpass=<arg>
1177
1178Report transformations performed by optimization passes whose name matches the given POSIX regular expression
1179
Richard Smith081ad4d2017-01-24 19:39:46 +00001180.. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg>
1181
1182Enable the specified warning
1183
Richard Smith081ad4d2017-01-24 19:39:46 +00001184.. option:: -Wdeprecated, -Wno-deprecated
1185
Richard Smithc5b2e002017-01-27 02:08:37 +00001186Enable warnings for deprecated constructs and define \_\_DEPRECATED
Richard Smith081ad4d2017-01-24 19:39:46 +00001187
Richard Smith081ad4d2017-01-24 19:39:46 +00001188.. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg>
1189
Richard Smith081ad4d2017-01-24 19:39:46 +00001190Target-independent compilation options
1191~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Richard Smith081ad4d2017-01-24 19:39:46 +00001192.. option:: -Wframe-larger-than=<arg>
1193
Richard Smith081ad4d2017-01-24 19:39:46 +00001194.. option:: -fPIC, -fno-PIC
1195
Richard Smith081ad4d2017-01-24 19:39:46 +00001196.. option:: -fPIE, -fno-PIE
1197
Richard Smith081ad4d2017-01-24 19:39:46 +00001198.. option:: -faccess-control, -fno-access-control
1199
Vedant Kumar368540f2018-08-23 17:55:03 +00001200.. option:: -faddrsig, -fno-addrsig
1201
1202Emit an address-significance table
1203
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001204.. option:: -falign-functions, -fno-align-functions
1205
1206.. program:: clang1
1207.. option:: -falign-functions=<arg>
1208.. program:: clang
1209
Richard Smithb2c82a62017-01-27 01:54:42 +00001210.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001211.. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation
Richard Smithb2c82a62017-01-27 01:54:42 +00001212.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001213
1214Enable C++17 aligned allocation functions
1215
Craig Topperd23254a2017-07-20 17:52:48 +00001216.. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders
1217
1218Treat editor placeholders as valid source code
1219
Richard Smith081ad4d2017-01-24 19:39:46 +00001220.. option:: -fallow-unsupported
1221
Richard Smith78e23fd2017-04-13 22:39:49 +00001222.. option:: -faltivec, -fno-altivec
Richard Smith081ad4d2017-01-24 19:39:46 +00001223
Richard Smith081ad4d2017-01-24 19:39:46 +00001224.. option:: -fansi-escape-codes
1225
1226Use ANSI escape codes for diagnostics
1227
Richard Smith081ad4d2017-01-24 19:39:46 +00001228.. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables
1229
1230Use Apple's kernel extensions ABI
1231
Richard Smith081ad4d2017-01-24 19:39:46 +00001232.. option:: -fapple-pragma-pack, -fno-apple-pragma-pack
1233
1234Enable Apple gcc-compatible #pragma pack handling
1235
Richard Smith081ad4d2017-01-24 19:39:46 +00001236.. option:: -fapplication-extension, -fno-application-extension
1237
1238Restrict code to those available for App Extensions
1239
Richard Smith081ad4d2017-01-24 19:39:46 +00001240.. option:: -fasm, -fno-asm
1241
Richard Smith081ad4d2017-01-24 19:39:46 +00001242.. option:: -fasm-blocks, -fno-asm-blocks
1243
Richard Smith081ad4d2017-01-24 19:39:46 +00001244.. option:: -fassociative-math, -fno-associative-math
1245
Richard Smith081ad4d2017-01-24 19:39:46 +00001246.. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new
1247
Richard Smith081ad4d2017-01-24 19:39:46 +00001248.. option:: -fast
1249
Richard Smith081ad4d2017-01-24 19:39:46 +00001250.. option:: -fastcp
1251
Richard Smith081ad4d2017-01-24 19:39:46 +00001252.. option:: -fastf
1253
Richard Smith081ad4d2017-01-24 19:39:46 +00001254.. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables
1255
Richard Smith081ad4d2017-01-24 19:39:46 +00001256.. option:: -fautolink, -fno-autolink
1257
Richard Smith081ad4d2017-01-24 19:39:46 +00001258.. option:: -fblocks, -fno-blocks
1259
1260Enable the 'blocks' language feature
1261
Richard Smith081ad4d2017-01-24 19:39:46 +00001262.. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg>
1263
Richard Smith081ad4d2017-01-24 19:39:46 +00001264.. option:: -fborland-extensions, -fno-borland-extensions
1265
1266Accept non-standard constructs supported by the Borland compiler
1267
Richard Smith081ad4d2017-01-24 19:39:46 +00001268.. option:: -fbracket-depth=<arg>
1269
Richard Smith081ad4d2017-01-24 19:39:46 +00001270.. option:: -fbuiltin, -fno-builtin
1271
Richard Smith081ad4d2017-01-24 19:39:46 +00001272.. option:: -fbuiltin-module-map
1273
1274Load the clang builtins module map file.
1275
Vedant Kumar368540f2018-08-23 17:55:03 +00001276.. option:: -fc++-static-destructors, -fno-c++-static-destructors
1277
1278Enable C++ static destructor registration (the default)
1279
Richard Smith081ad4d2017-01-24 19:39:46 +00001280.. option:: -fcaret-diagnostics, -fno-caret-diagnostics
1281
Craig Topper596527b2018-01-23 18:40:15 +00001282.. option:: -fcf-protection=<arg>, -fcf-protection (equivalent to -fcf-protection=full)
1283
1284Instrument control-flow architecture protection. Options: return, branch, full, none.
1285
Vedant Kumar368540f2018-08-23 17:55:03 +00001286.. option:: -fchar8\_t, -fno-char8\_t
1287
1288Enable C++ builtin type char8\_t
1289
Richard Smith081ad4d2017-01-24 19:39:46 +00001290.. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg>
1291
Richard Smith081ad4d2017-01-24 19:39:46 +00001292.. option:: -fcolor-diagnostics, -fno-color-diagnostics
1293
1294Use colors in diagnostics
1295
Richard Smith081ad4d2017-01-24 19:39:46 +00001296.. option:: -fcommon, -fno-common
1297
Richard Smith081ad4d2017-01-24 19:39:46 +00001298.. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg>
1299
Richard Smith081ad4d2017-01-24 19:39:46 +00001300.. option:: -fconstant-cfstrings, -fno-constant-cfstrings
1301
Richard Smith081ad4d2017-01-24 19:39:46 +00001302.. option:: -fconstant-string-class=<arg>
1303
Richard Smith081ad4d2017-01-24 19:39:46 +00001304.. option:: -fconstexpr-backtrace-limit=<arg>
1305
Richard Smith081ad4d2017-01-24 19:39:46 +00001306.. option:: -fconstexpr-depth=<arg>
1307
Richard Smith081ad4d2017-01-24 19:39:46 +00001308.. option:: -fconstexpr-steps=<arg>
1309
Richard Smith081ad4d2017-01-24 19:39:46 +00001310.. option:: -fcoroutines-ts, -fno-coroutines-ts
1311
1312Enable support for the C++ Coroutines TS
1313
Richard Smith081ad4d2017-01-24 19:39:46 +00001314.. option:: -fcoverage-mapping, -fno-coverage-mapping
1315
1316Generate coverage mapping to enable code coverage analysis
1317
Richard Smith081ad4d2017-01-24 19:39:46 +00001318.. option:: -fcreate-profile
1319
Richard Smith081ad4d2017-01-24 19:39:46 +00001320.. option:: -fcxx-exceptions, -fno-cxx-exceptions
1321
1322Enable C++ exceptions
1323
Richard Smith081ad4d2017-01-24 19:39:46 +00001324.. option:: -fcxx-modules, -fno-cxx-modules
1325
Richard Smith081ad4d2017-01-24 19:39:46 +00001326.. option:: -fdata-sections, -fno-data-sections
1327
1328Place each data in its own section (ELF Only)
1329
Richard Smith081ad4d2017-01-24 19:39:46 +00001330.. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling
1331
1332Emit extra debug info to make sample profile more accurate.
1333
Richard Smith78e23fd2017-04-13 22:39:49 +00001334.. option:: -fdebug-macro, -fno-debug-macro
1335
1336Emit macro debug information
1337
Richard Smith081ad4d2017-01-24 19:39:46 +00001338.. option:: -fdebug-pass-arguments
1339
Richard Smith081ad4d2017-01-24 19:39:46 +00001340.. option:: -fdebug-pass-structure
1341
Richard Smith081ad4d2017-01-24 19:39:46 +00001342.. option:: -fdebug-prefix-map=<arg>
1343
1344remap file source paths in debug info
1345
Richard Smith081ad4d2017-01-24 19:39:46 +00001346.. option:: -fdebug-types-section, -fno-debug-types-section
1347
1348Place debug types in their own section (ELF Only)
1349
Richard Smith081ad4d2017-01-24 19:39:46 +00001350.. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing
1351
1352Parse templated function definitions at the end of the translation unit
1353
Vedant Kumar368540f2018-08-23 17:55:03 +00001354.. option:: -fdelete-null-pointer-checks, -fno-delete-null-pointer-checks
1355
1356Treat usage of null pointers as undefined behavior.
1357
Richard Smith081ad4d2017-01-24 19:39:46 +00001358.. option:: -fdenormal-fp-math=<arg>
1359
Richard Smith081ad4d2017-01-24 19:39:46 +00001360.. option:: -fdiagnostics-absolute-paths
1361
1362Print absolute paths in diagnostics
1363
Richard Smith081ad4d2017-01-24 19:39:46 +00001364.. option:: -fdiagnostics-color, -fno-diagnostics-color
1365
Richard Smithb2c82a62017-01-27 01:54:42 +00001366.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001367.. option:: -fdiagnostics-color=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001368.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001369
Craig Topperd23254a2017-07-20 17:52:48 +00001370.. option:: -fdiagnostics-hotness-threshold=<number>
1371
1372Prevent optimization remarks from being output if they do not have at least this profile count
1373
Richard Smith081ad4d2017-01-24 19:39:46 +00001374.. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness
1375
1376Enable profile hotness information in diagnostic line
1377
Richard Smith081ad4d2017-01-24 19:39:46 +00001378.. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack
1379
1380Display include stacks for diagnostic notes
1381
Richard Smith081ad4d2017-01-24 19:39:46 +00001382.. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option
1383
1384Print option name with mappable diagnostics
1385
Richard Smith081ad4d2017-01-24 19:39:46 +00001386.. option:: -fdiagnostics-show-template-tree
1387
1388Print a template comparison tree for differing templates
1389
Vedant Kumar368540f2018-08-23 17:55:03 +00001390.. option:: -fdigraphs, -fno-digraphs
1391
1392Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
1393
Richard Smith081ad4d2017-01-24 19:39:46 +00001394.. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers
1395
1396Allow '$' in identifiers
1397
Craig Topper16418662017-11-20 18:07:43 +00001398.. option:: -fdouble-square-bracket-attributes, -fno-double-square-bracket-attributes
1399
1400Enable '\[\[\]\]' attributes in all C and C++ language modes
1401
Richard Smith081ad4d2017-01-24 19:39:46 +00001402.. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm
1403
Craig Topper188252d2017-12-11 21:09:16 +00001404.. option:: -fdwarf-exceptions
1405
1406Use DWARF style exceptions
1407
Richard Smith081ad4d2017-01-24 19:39:46 +00001408.. option:: -felide-constructors, -fno-elide-constructors
1409
Richard Smith081ad4d2017-01-24 19:39:46 +00001410.. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols
1411
Richard Smith081ad4d2017-01-24 19:39:46 +00001412.. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker)
1413
1414Embed LLVM bitcode (option: off, all, bitcode, marker)
1415
Richard Smith081ad4d2017-01-24 19:39:46 +00001416.. option:: -femit-all-decls
1417
1418Emit all declarations, even if unused
1419
Richard Smith081ad4d2017-01-24 19:39:46 +00001420.. option:: -femulated-tls, -fno-emulated-tls
1421
1422Use emutls functions to access thread\_local variables
1423
Richard Smith081ad4d2017-01-24 19:39:46 +00001424.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg>
1425
Richard Smith081ad4d2017-01-24 19:39:46 +00001426.. option:: -ferror-limit=<arg>
1427
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001428.. option:: -fescaping-block-tail-calls, -fno-escaping-block-tail-calls
1429
Richard Smith081ad4d2017-01-24 19:39:46 +00001430.. option:: -fexceptions, -fno-exceptions
1431
1432Enable support for exception handling
1433
Richard Smith081ad4d2017-01-24 19:39:46 +00001434.. option:: -fexec-charset=<arg>
1435
Richard Smith081ad4d2017-01-24 19:39:46 +00001436.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg>
1437
Richard Smith081ad4d2017-01-24 19:39:46 +00001438.. option:: -ffast-math, -fno-fast-math
1439
1440Allow aggressive, lossy floating-point optimizations
1441
Richard Smith081ad4d2017-01-24 19:39:46 +00001442.. option:: -ffinite-math-only, -fno-finite-math-only
1443
Vedant Kumar368540f2018-08-23 17:55:03 +00001444.. option:: -ffixed-point, -fno-fixed-point
1445
1446Enable fixed point types
1447
Richard Smith081ad4d2017-01-24 19:39:46 +00001448.. option:: -ffor-scope, -fno-for-scope
1449
Vedant Kumar368540f2018-08-23 17:55:03 +00001450.. option:: -fforce-emit-vtables, -fno-force-emit-vtables
1451
1452Emits more virtual tables to improve devirtualization
1453
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001454.. option:: -fforce-enable-int128, -fno-force-enable-int128
1455
1456Enable support for int128\_t type
1457
Richard Smith081ad4d2017-01-24 19:39:46 +00001458.. option:: -ffp-contract=<arg>
1459
1460Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma, default) \| off (never fuse)
1461
Richard Smith081ad4d2017-01-24 19:39:46 +00001462.. option:: -ffreestanding
1463
1464Assert that the compilation takes place in a freestanding environment
1465
Richard Smith081ad4d2017-01-24 19:39:46 +00001466.. option:: -ffunction-sections, -fno-function-sections
1467
1468Place each function in its own section (ELF Only)
1469
Richard Smith081ad4d2017-01-24 19:39:46 +00001470.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm
1471
Richard Smith081ad4d2017-01-24 19:39:46 +00001472.. option:: -fgnu-keywords, -fno-gnu-keywords
1473
1474Allow GNU-extension keywords regardless of language standard
1475
Richard Smith081ad4d2017-01-24 19:39:46 +00001476.. option:: -fgnu-runtime
1477
1478Generate output compatible with the standard GNU Objective-C runtime
1479
Richard Smith081ad4d2017-01-24 19:39:46 +00001480.. option:: -fgnu89-inline, -fno-gnu89-inline
1481
1482Use the gnu89 inline semantics
1483
Richard Smith081ad4d2017-01-24 19:39:46 +00001484.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities
1485
Richard Smith081ad4d2017-01-24 19:39:46 +00001486.. option:: -fhonor-nans, -fno-honor-nans
1487
Richard Smith081ad4d2017-01-24 19:39:46 +00001488.. option:: -fhosted
1489
Richard Smith081ad4d2017-01-24 19:39:46 +00001490.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps
1491
1492Implicitly search the file system for module map files.
1493
Richard Smith081ad4d2017-01-24 19:39:46 +00001494.. option:: -fimplicit-modules, -fno-implicit-modules
1495
Richard Smith081ad4d2017-01-24 19:39:46 +00001496.. option:: -finput-charset=<arg>
1497
Craig Topper188252d2017-12-11 21:09:16 +00001498.. option:: -finstrument-function-entry-bare
1499
1500Instrument function entry only, after inlining, without arguments to the instrumentation call
1501
Richard Smith081ad4d2017-01-24 19:39:46 +00001502.. option:: -finstrument-functions
1503
1504Generate calls to instrument function entry and exit
1505
Craig Topper16418662017-11-20 18:07:43 +00001506.. option:: -finstrument-functions-after-inlining
1507
1508Like -finstrument-functions, but insert the calls after inlining
1509
Richard Smith081ad4d2017-01-24 19:39:46 +00001510.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as
1511
1512Enable the integrated assembler
1513
Richard Smith081ad4d2017-01-24 19:39:46 +00001514.. option:: -fjump-tables, -fno-jump-tables
1515
Vedant Kumar368540f2018-08-23 17:55:03 +00001516.. option:: -fkeep-static-consts
1517
1518Keep static const variables even if unused
1519
Richard Smith081ad4d2017-01-24 19:39:46 +00001520.. option:: -flax-vector-conversions, -fno-lax-vector-conversions
1521
Richard Smith081ad4d2017-01-24 19:39:46 +00001522.. option:: -flimited-precision=<arg>
1523
Richard Smith081ad4d2017-01-24 19:39:46 +00001524.. option:: -flto, -fno-lto
1525
1526Enable LTO in 'full' mode
1527
Richard Smith081ad4d2017-01-24 19:39:46 +00001528.. option:: -flto-jobs=<arg>
1529
1530Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
1531
Richard Smithb2c82a62017-01-27 01:54:42 +00001532.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001533.. option:: -flto=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001534.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001535
1536Set LTO mode to either 'full' or 'thin'
1537
Richard Smith081ad4d2017-01-24 19:39:46 +00001538.. option:: -fmacro-backtrace-limit=<arg>
1539
Richard Smith081ad4d2017-01-24 19:39:46 +00001540.. option:: -fmath-errno, -fno-math-errno
1541
1542Require math functions to indicate errors by setting errno
1543
Richard Smith081ad4d2017-01-24 19:39:46 +00001544.. option:: -fmax-type-align=<arg>
1545
1546Specify the maximum alignment to enforce on pointers lacking an explicit alignment
1547
Richard Smith081ad4d2017-01-24 19:39:46 +00001548.. option:: -fmerge-all-constants, -fno-merge-all-constants
1549
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001550Allow merging of constants
1551
Richard Smith081ad4d2017-01-24 19:39:46 +00001552.. option:: -fmessage-length=<arg>
1553
Richard Smith081ad4d2017-01-24 19:39:46 +00001554.. option:: -fmodule-file-deps, -fno-module-file-deps
1555
Richard Smith081ad4d2017-01-24 19:39:46 +00001556.. option:: -fmodule-map-file=<file>
1557
1558Load this module map file
1559
Richard Smith081ad4d2017-01-24 19:39:46 +00001560.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg>
1561
1562Specify the name of the module to build
1563
Richard Smith081ad4d2017-01-24 19:39:46 +00001564.. option:: -fmodules, -fno-modules
1565
1566Enable the 'modules' language feature
1567
Richard Smith081ad4d2017-01-24 19:39:46 +00001568.. option:: -fmodules-decluse, -fno-modules-decluse
1569
1570Require declaration of modules used within a module
1571
Richard Smith081ad4d2017-01-24 19:39:46 +00001572.. option:: -fmodules-ignore-macro=<arg>
1573
1574Ignore the definition of the given macro when building and loading modules
1575
Richard Smith081ad4d2017-01-24 19:39:46 +00001576.. option:: -fmodules-search-all, -fno-modules-search-all
1577
1578Search even non-imported modules to resolve references
1579
Richard Smith081ad4d2017-01-24 19:39:46 +00001580.. option:: -fmodules-strict-decluse
1581
1582Like -fmodules-decluse but requires all headers to be in modules
1583
Richard Smith081ad4d2017-01-24 19:39:46 +00001584.. option:: -fmodules-ts
1585
1586Enable support for the C++ Modules TS
1587
Richard Smith081ad4d2017-01-24 19:39:46 +00001588.. option:: -fms-compatibility, -fno-ms-compatibility
1589
1590Enable full Microsoft Visual C++ compatibility
1591
Richard Smith081ad4d2017-01-24 19:39:46 +00001592.. option:: -fms-compatibility-version=<arg>
1593
1594Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1595
Richard Smith081ad4d2017-01-24 19:39:46 +00001596.. option:: -fms-extensions, -fno-ms-extensions
1597
1598Accept some non-standard constructs supported by the Microsoft compiler
1599
Richard Smith081ad4d2017-01-24 19:39:46 +00001600.. option:: -fms-memptr-rep=<arg>
1601
Richard Smith081ad4d2017-01-24 19:39:46 +00001602.. option:: -fms-volatile<arg>
1603
Richard Smith081ad4d2017-01-24 19:39:46 +00001604.. option:: -fmsc-version=<arg>
1605
1606Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1607
Richard Smith081ad4d2017-01-24 19:39:46 +00001608.. option:: -fmudflap
1609
Richard Smith081ad4d2017-01-24 19:39:46 +00001610.. option:: -fmudflapth
1611
Richard Smith081ad4d2017-01-24 19:39:46 +00001612.. option:: -fnested-functions
1613
Richard Smith081ad4d2017-01-24 19:39:46 +00001614.. option:: -fnew-alignment=<align>, -fnew-alignment <arg>
1615
1616Specifies the largest alignment guaranteed by '::operator new(size\_t)'
1617
Richard Smith081ad4d2017-01-24 19:39:46 +00001618.. option:: -fnext-runtime
1619
Richard Smith081ad4d2017-01-24 19:39:46 +00001620.. option:: -fno-builtin-<arg>
1621
1622Disable implicit builtin knowledge of a specific function
1623
Richard Smith081ad4d2017-01-24 19:39:46 +00001624.. option:: -fno-elide-type
1625
1626Do not elide types when printing diagnostics
1627
Richard Smith081ad4d2017-01-24 19:39:46 +00001628.. option:: -fno-max-type-align
1629
Richard Smith081ad4d2017-01-24 19:39:46 +00001630.. option:: -fno-operator-names
1631
1632Do not treat C++ operator name keywords as synonyms for operators
1633
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001634.. option:: -fno-rtti-data
1635
1636Control emission of RTTI data
1637
Richard Smith081ad4d2017-01-24 19:39:46 +00001638.. option:: -fno-strict-modules-decluse
1639
Richard Smith081ad4d2017-01-24 19:39:46 +00001640.. option:: -fno-working-directory
1641
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001642.. option:: -fnoxray-link-deps
1643
Richard Smith081ad4d2017-01-24 19:39:46 +00001644.. option:: -fobjc-abi-version=<arg>
1645
Richard Smith081ad4d2017-01-24 19:39:46 +00001646.. option:: -fobjc-arc, -fno-objc-arc
1647
1648Synthesize retain and release calls for Objective-C pointers
1649
Richard Smith081ad4d2017-01-24 19:39:46 +00001650.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions
1651
1652Use EH-safe code when synthesizing retains and releases in -fobjc-arc
1653
Richard Smith081ad4d2017-01-24 19:39:46 +00001654.. option:: -fobjc-exceptions, -fno-objc-exceptions
1655
1656Enable Objective-C exceptions
1657
Richard Smith081ad4d2017-01-24 19:39:46 +00001658.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type
1659
Richard Smith081ad4d2017-01-24 19:39:46 +00001660.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch
1661
Richard Smith081ad4d2017-01-24 19:39:46 +00001662.. option:: -fobjc-link-runtime
1663
Richard Smith081ad4d2017-01-24 19:39:46 +00001664.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi
1665
Richard Smith081ad4d2017-01-24 19:39:46 +00001666.. option:: -fobjc-nonfragile-abi-version=<arg>
1667
Richard Smith081ad4d2017-01-24 19:39:46 +00001668.. option:: -fobjc-runtime=<arg>
1669
1670Specify the target Objective-C runtime kind and version
1671
Richard Smith081ad4d2017-01-24 19:39:46 +00001672.. option:: -fobjc-sender-dependent-dispatch
1673
Richard Smith081ad4d2017-01-24 19:39:46 +00001674.. option:: -fobjc-weak, -fno-objc-weak
1675
1676Enable ARC-style weak references in Objective-C
1677
Richard Smith081ad4d2017-01-24 19:39:46 +00001678.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer
1679
Richard Smith081ad4d2017-01-24 19:39:46 +00001680.. option:: -fopenmp, -fno-openmp
1681
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00001682Parse OpenMP pragmas and generate parallel code.
Boris Kolpackovb150d242017-08-30 09:15:53 +00001683
Craig Topper287c8012018-01-03 18:29:12 +00001684.. option:: -fopenmp-simd, -fno-openmp-simd
1685
1686Emit OpenMP code only for SIMD-based constructs.
1687
Richard Smith081ad4d2017-01-24 19:39:46 +00001688.. option:: -fopenmp-version=<arg>
1689
Richard Smithb2c82a62017-01-27 01:54:42 +00001690.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001691.. option:: -fopenmp=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001692.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001693
Richard Smith081ad4d2017-01-24 19:39:46 +00001694.. option:: -foperator-arrow-depth=<arg>
1695
Richard Smith081ad4d2017-01-24 19:39:46 +00001696.. option:: -foptimization-record-file=<arg>
1697
1698Specify the file name of any generated YAML optimization record
1699
Richard Smith081ad4d2017-01-24 19:39:46 +00001700.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls
1701
Richard Smith081ad4d2017-01-24 19:39:46 +00001702.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg>
1703
Richard Smith081ad4d2017-01-24 19:39:46 +00001704.. option:: -fpack-struct, -fno-pack-struct
1705
Richard Smithb2c82a62017-01-27 01:54:42 +00001706.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001707.. option:: -fpack-struct=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001708.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001709
1710Specify the default maximum struct packing alignment
1711
Richard Smith081ad4d2017-01-24 19:39:46 +00001712.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings
1713
1714Recognize and construct Pascal-style string literals
1715
Richard Smith081ad4d2017-01-24 19:39:46 +00001716.. option:: -fpcc-struct-return
1717
1718Override the default ABI to return all structs on the stack
1719
Richard Smith081ad4d2017-01-24 19:39:46 +00001720.. option:: -fpch-preprocess
1721
Richard Smith081ad4d2017-01-24 19:39:46 +00001722.. option:: -fpic, -fno-pic
1723
Richard Smith081ad4d2017-01-24 19:39:46 +00001724.. option:: -fpie, -fno-pie
1725
Craig Topper16418662017-11-20 18:07:43 +00001726.. option:: -fplt, -fno-plt
1727
1728Use the PLT to make function calls
1729
Richard Smith081ad4d2017-01-24 19:39:46 +00001730.. option:: -fplugin=<dsopath>
1731
1732Load the named plugin (dynamic shared object)
1733
Richard Smith081ad4d2017-01-24 19:39:46 +00001734.. option:: -fpreserve-as-comments, -fno-preserve-as-comments
1735
Richard Smith081ad4d2017-01-24 19:39:46 +00001736.. option:: -fprofile-arcs, -fno-profile-arcs
1737
Richard Smith081ad4d2017-01-24 19:39:46 +00001738.. option:: -fprofile-dir=<arg>
1739
Richard Smith081ad4d2017-01-24 19:39:46 +00001740.. option:: -fprofile-generate, -fno-profile-generate
1741
1742Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1743
Richard Smithb2c82a62017-01-27 01:54:42 +00001744.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001745.. option:: -fprofile-generate=<directory>
Richard Smithb2c82a62017-01-27 01:54:42 +00001746.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001747
1748Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1749
Richard Smith081ad4d2017-01-24 19:39:46 +00001750.. option:: -fprofile-instr-generate, -fno-profile-instr-generate
1751
1752Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)
1753
Richard Smithb2c82a62017-01-27 01:54:42 +00001754.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001755.. option:: -fprofile-instr-generate=<file>
Richard Smithb2c82a62017-01-27 01:54:42 +00001756.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001757
1758Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var)
1759
Richard Smith081ad4d2017-01-24 19:39:46 +00001760.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use
1761
Richard Smithb2c82a62017-01-27 01:54:42 +00001762.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001763.. option:: -fprofile-instr-use=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001764.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001765
1766Use instrumentation data for profile-guided optimization
1767
Boris Kolpackovb150d242017-08-30 09:15:53 +00001768.. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate
1769
1770Specifies that the sample profile is accurate. If the sample
1771 profile is accurate, callsites without profile samples are marked
1772 as cold. Otherwise, treat callsites without profile samples as if
1773 we have no profile
1774
Richard Smith78e23fd2017-04-13 22:39:49 +00001775.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use
1776
1777.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001778.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg>
Richard Smith78e23fd2017-04-13 22:39:49 +00001779.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001780
1781Enable sample-based profile guided optimizations
1782
Richard Smithb2c82a62017-01-27 01:54:42 +00001783.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001784.. option:: -fprofile-use=<pathname>
Richard Smithb2c82a62017-01-27 01:54:42 +00001785.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001786
1787Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
1788
Richard Smith081ad4d2017-01-24 19:39:46 +00001789.. option:: -freciprocal-math, -fno-reciprocal-math
1790
1791Allow division operations to be reassociated
1792
Richard Smith081ad4d2017-01-24 19:39:46 +00001793.. option:: -freg-struct-return
1794
1795Override the default ABI to return small structs in registers
1796
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001797.. option:: -fregister-global-dtors-with-atexit, -fno-register-global-dtors-with-atexit
1798
1799Use atexit or \_\_cxa\_atexit to register global destructors
1800
Richard Smith081ad4d2017-01-24 19:39:46 +00001801.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args
1802
1803Enable C++17 relaxed template template argument matching
1804
Richard Smith081ad4d2017-01-24 19:39:46 +00001805.. option:: -freroll-loops, -fno-reroll-loops
1806
1807Turn on loop reroller
1808
Richard Smith081ad4d2017-01-24 19:39:46 +00001809.. option:: -fretain-comments-from-system-headers
1810
Craig Topperd23254a2017-07-20 17:52:48 +00001811.. option:: -frewrite-imports, -fno-rewrite-imports
1812
Richard Smith081ad4d2017-01-24 19:39:46 +00001813.. option:: -frewrite-includes, -fno-rewrite-includes
1814
Richard Smith081ad4d2017-01-24 19:39:46 +00001815.. option:: -frewrite-map-file <arg>
1816
Richard Smithb2c82a62017-01-27 01:54:42 +00001817.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001818.. option:: -frewrite-map-file=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001819.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001820
Richard Smith081ad4d2017-01-24 19:39:46 +00001821.. option:: -fropi, -fno-ropi
1822
Richard Smith081ad4d2017-01-24 19:39:46 +00001823.. option:: -frtti, -fno-rtti
1824
Richard Smith081ad4d2017-01-24 19:39:46 +00001825.. option:: -frwpi, -fno-rwpi
1826
Richard Smith081ad4d2017-01-24 19:39:46 +00001827.. option:: -fsave-optimization-record, -fno-save-optimization-record
1828
1829Generate a YAML optimization record file
1830
Craig Topper188252d2017-12-11 21:09:16 +00001831.. option:: -fseh-exceptions
1832
1833Use SEH style exceptions
1834
Richard Smith081ad4d2017-01-24 19:39:46 +00001835.. option:: -fshort-enums, -fno-short-enums
1836
1837Allocate to an enum type only as many bytes as it needs for the declared range of possible values
1838
Richard Smith081ad4d2017-01-24 19:39:46 +00001839.. option:: -fshort-wchar, -fno-short-wchar
1840
1841Force wchar\_t to be a short unsigned int
1842
Richard Smith081ad4d2017-01-24 19:39:46 +00001843.. option:: -fshow-column, -fno-show-column
1844
Richard Smith081ad4d2017-01-24 19:39:46 +00001845.. option:: -fshow-overloads=<arg>
1846
1847Which overload candidates to show when overload resolution fails: best\|all; defaults to all
1848
Richard Smith081ad4d2017-01-24 19:39:46 +00001849.. option:: -fshow-source-location, -fno-show-source-location
1850
Richard Smith081ad4d2017-01-24 19:39:46 +00001851.. option:: -fsignaling-math, -fno-signaling-math
1852
Richard Smith081ad4d2017-01-24 19:39:46 +00001853.. option:: -fsigned-bitfields
1854
Richard Smith081ad4d2017-01-24 19:39:46 +00001855.. option:: -fsigned-char, -fno-signed-char, --signed-char
1856
Richard Smith081ad4d2017-01-24 19:39:46 +00001857.. option:: -fsigned-zeros, -fno-signed-zeros
1858
Richard Smith081ad4d2017-01-24 19:39:46 +00001859.. option:: -fsized-deallocation, -fno-sized-deallocation
1860
1861Enable C++14 sized global deallocation functions
1862
Richard Smith081ad4d2017-01-24 19:39:46 +00001863.. option:: -fsjlj-exceptions
1864
1865Use SjLj style exceptions
1866
Richard Smith081ad4d2017-01-24 19:39:46 +00001867.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize
1868
1869Enable the superword-level parallelism vectorization passes
1870
Richard Smith081ad4d2017-01-24 19:39:46 +00001871.. option:: -fspell-checking, -fno-spell-checking
1872
Richard Smith081ad4d2017-01-24 19:39:46 +00001873.. option:: -fspell-checking-limit=<arg>
1874
Richard Smith081ad4d2017-01-24 19:39:46 +00001875.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining
1876
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00001877Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
Richard Smith081ad4d2017-01-24 19:39:46 +00001878
Richard Smith081ad4d2017-01-24 19:39:46 +00001879.. option:: -fsplit-stack
1880
Richard Smith081ad4d2017-01-24 19:39:46 +00001881.. option:: -fstack-protector, -fno-stack-protector
1882
1883Enable stack protectors for functions potentially vulnerable to stack smashing
1884
Richard Smith081ad4d2017-01-24 19:39:46 +00001885.. option:: -fstack-protector-all
1886
1887Force the usage of stack protectors for all functions
1888
Richard Smith081ad4d2017-01-24 19:39:46 +00001889.. option:: -fstack-protector-strong
1890
1891Use a strong heuristic to apply stack protectors to functions
1892
Craig Topper596527b2018-01-23 18:40:15 +00001893.. option:: -fstack-size-section, -fno-stack-size-section
1894
1895Emit section containing metadata on function stack sizes
1896
Richard Smith081ad4d2017-01-24 19:39:46 +00001897.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug
1898
1899Emit full debug info for all types used by the program
1900
Richard Smith081ad4d2017-01-24 19:39:46 +00001901.. option:: -fstrict-aliasing, -fno-strict-aliasing
1902
Richard Smith081ad4d2017-01-24 19:39:46 +00001903.. option:: -fstrict-enums, -fno-strict-enums
1904
1905Enable optimizations based on the strict definition of an enum's value range
1906
Vedant Kumar368540f2018-08-23 17:55:03 +00001907.. option:: -fstrict-float-cast-overflow, -fno-strict-float-cast-overflow
1908
1909Assume that overflowing float-to-int casts are undefined (default)
1910
Richard Smith081ad4d2017-01-24 19:39:46 +00001911.. option:: -fstrict-overflow, -fno-strict-overflow
1912
Richard Smith081ad4d2017-01-24 19:39:46 +00001913.. option:: -fstrict-return, -fno-strict-return
1914
Richard Smith78e23fd2017-04-13 22:39:49 +00001915Always treat control flow paths that fall off the end of a non-void function as unreachable
Richard Smith081ad4d2017-01-24 19:39:46 +00001916
Richard Smith081ad4d2017-01-24 19:39:46 +00001917.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers
1918
1919Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
1920
Richard Smith081ad4d2017-01-24 19:39:46 +00001921.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa
1922
Richard Smith081ad4d2017-01-24 19:39:46 +00001923.. option:: -ftabstop=<arg>
1924
Richard Smith081ad4d2017-01-24 19:39:46 +00001925.. option:: -ftemplate-backtrace-limit=<arg>
1926
Richard Smith081ad4d2017-01-24 19:39:46 +00001927.. option:: -ftemplate-depth-<arg>
1928
Richard Smith081ad4d2017-01-24 19:39:46 +00001929.. option:: -ftemplate-depth=<arg>
1930
Richard Smith081ad4d2017-01-24 19:39:46 +00001931.. option:: -ftest-coverage
1932
Richard Smith081ad4d2017-01-24 19:39:46 +00001933.. option:: -fthinlto-index=<arg>
1934
1935Perform ThinLTO importing using provided function summary index
1936
Richard Smith081ad4d2017-01-24 19:39:46 +00001937.. option:: -fthreadsafe-statics, -fno-threadsafe-statics
1938
Richard Smith081ad4d2017-01-24 19:39:46 +00001939.. option:: -ftime-report
1940
Richard Smith081ad4d2017-01-24 19:39:46 +00001941.. option:: -ftls-model=<arg>
1942
Richard Smith081ad4d2017-01-24 19:39:46 +00001943.. option:: -ftrap-function=<arg>
1944
1945Issue call to specified function rather than a trap instruction
1946
Richard Smith081ad4d2017-01-24 19:39:46 +00001947.. option:: -ftrapping-math, -fno-trapping-math
1948
Richard Smith081ad4d2017-01-24 19:39:46 +00001949.. option:: -ftrapv
1950
1951Trap on integer overflow
1952
Richard Smith081ad4d2017-01-24 19:39:46 +00001953.. option:: -ftrapv-handler <arg>
1954
Richard Smithb2c82a62017-01-27 01:54:42 +00001955.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001956.. option:: -ftrapv-handler=<function name>
Richard Smithb2c82a62017-01-27 01:54:42 +00001957.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001958
1959Specify the function to be called on overflow
1960
Richard Smith081ad4d2017-01-24 19:39:46 +00001961.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs
1962
1963Process trigraph sequences
1964
Richard Smith081ad4d2017-01-24 19:39:46 +00001965.. option:: -funique-section-names, -fno-unique-section-names
1966
1967Use unique names for text and data sections (ELF Only)
1968
Richard Smith081ad4d2017-01-24 19:39:46 +00001969.. option:: -funit-at-a-time, -fno-unit-at-a-time
1970
Richard Smith081ad4d2017-01-24 19:39:46 +00001971.. option:: -funroll-loops, -fno-unroll-loops
1972
1973Turn on loop unroller
1974
Richard Smith081ad4d2017-01-24 19:39:46 +00001975.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations
1976
Richard Smith081ad4d2017-01-24 19:39:46 +00001977.. option:: -funsigned-bitfields
1978
Richard Smith081ad4d2017-01-24 19:39:46 +00001979.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char
1980
Richard Smith081ad4d2017-01-24 19:39:46 +00001981.. option:: -funwind-tables, -fno-unwind-tables
1982
Richard Smith081ad4d2017-01-24 19:39:46 +00001983.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit
1984
Richard Smith081ad4d2017-01-24 19:39:46 +00001985.. option:: -fuse-init-array, -fno-use-init-array
1986
1987Use .init\_array instead of .ctors
1988
Richard Smith081ad4d2017-01-24 19:39:46 +00001989.. option:: -fuse-ld=<arg>
1990
Richard Smith081ad4d2017-01-24 19:39:46 +00001991.. option:: -fuse-line-directives, -fno-use-line-directives
1992
Richard Smith081ad4d2017-01-24 19:39:46 +00001993.. option:: -fveclib=<arg>
1994
1995Use the given vector functions library
1996
Richard Smith081ad4d2017-01-24 19:39:46 +00001997.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize
1998
1999Enable the loop vectorization passes
2000
Richard Smith081ad4d2017-01-24 19:39:46 +00002001.. option:: -fverbose-asm, -fno-verbose-asm
2002
Richard Smith081ad4d2017-01-24 19:39:46 +00002003.. option:: -fvisibility-inlines-hidden
2004
Fangrui Songdf81b972018-07-19 22:45:41 +00002005Give inline C++ member functions hidden visibility by default
Richard Smith081ad4d2017-01-24 19:39:46 +00002006
Richard Smith081ad4d2017-01-24 19:39:46 +00002007.. option:: -fvisibility-ms-compat
2008
2009Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
2010
Richard Smith081ad4d2017-01-24 19:39:46 +00002011.. option:: -fvisibility=<arg>
2012
2013Set the default symbol visibility for all global declarations
2014
Richard Smith081ad4d2017-01-24 19:39:46 +00002015.. option:: -fwhole-program-vtables, -fno-whole-program-vtables
2016
2017Enables whole-program vtable optimization. Requires -flto
2018
Richard Smith081ad4d2017-01-24 19:39:46 +00002019.. option:: -fwrapv, -fno-wrapv
2020
2021Treat signed integer overflow as two's complement
2022
Richard Smith081ad4d2017-01-24 19:39:46 +00002023.. option:: -fwritable-strings
2024
2025Store string literals as writable data
2026
Craig Topper188252d2017-12-11 21:09:16 +00002027.. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents
2028
2029Determine whether to always emit \_\_xray\_customevent(...) calls even if the function it appears in is not always instrumented.
2030
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002031.. option:: -fxray-always-emit-typedevents, -fno-xray-always-emit-typedevents
2032
2033Determine whether to always emit \_\_xray\_typedevent(...) calls even if the function it appears in is not always instrumented.
2034
Richard Smith78e23fd2017-04-13 22:39:49 +00002035.. option:: -fxray-always-instrument=<arg>
2036
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002037DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
2038
2039.. option:: -fxray-attr-list=<arg>
2040
2041Filename defining the list of functions/types for imbuing XRay attributes.
Richard Smith78e23fd2017-04-13 22:39:49 +00002042
Richard Smith081ad4d2017-01-24 19:39:46 +00002043.. option:: -fxray-instruction-threshold<arg>
2044
Richard Smithb2c82a62017-01-27 01:54:42 +00002045.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002046.. option:: -fxray-instruction-threshold=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00002047.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002048
2049Sets the minimum function size to instrument with XRay
2050
Richard Smith081ad4d2017-01-24 19:39:46 +00002051.. option:: -fxray-instrument, -fno-xray-instrument
2052
2053Generate XRay instrumentation sleds on function entry and exit
2054
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002055.. option:: -fxray-instrumentation-bundle=<arg>
2056
2057Select which XRay instrumentation points to emit. Options: all, none, function, custom. Default is 'all'.
2058
2059.. option:: -fxray-link-deps
2060
2061Tells clang to add the link dependencies for XRay.
2062
2063.. option:: -fxray-modes=<arg>
2064
2065List of modes to link in by default into XRay instrumented binaries.
2066
Richard Smith78e23fd2017-04-13 22:39:49 +00002067.. option:: -fxray-never-instrument=<arg>
2068
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002069DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
Richard Smith78e23fd2017-04-13 22:39:49 +00002070
Richard Smith081ad4d2017-01-24 19:39:46 +00002071.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss
2072
Richard Smith081ad4d2017-01-24 19:39:46 +00002073.. option:: -fzvector, -fno-zvector, -mzvector
2074
2075Enable System z vector language extension
2076
Richard Smith081ad4d2017-01-24 19:39:46 +00002077.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic
2078
Richard Smith081ad4d2017-01-24 19:39:46 +00002079.. option:: -pedantic-errors, --pedantic-errors
2080
2081OpenCL flags
2082------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002083.. option:: -cl-denorms-are-zero
2084
2085OpenCL only. Allow denormals to be flushed to zero.
2086
Richard Smith081ad4d2017-01-24 19:39:46 +00002087.. option:: -cl-fast-relaxed-math
2088
2089OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_.
2090
Richard Smith081ad4d2017-01-24 19:39:46 +00002091.. option:: -cl-finite-math-only
2092
2093OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
2094
Richard Smith081ad4d2017-01-24 19:39:46 +00002095.. option:: -cl-fp32-correctly-rounded-divide-sqrt
2096
2097OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
2098
Richard Smith081ad4d2017-01-24 19:39:46 +00002099.. option:: -cl-kernel-arg-info
2100
2101OpenCL only. Generate kernel argument metadata.
2102
Richard Smith081ad4d2017-01-24 19:39:46 +00002103.. option:: -cl-mad-enable
2104
2105OpenCL only. Allow use of less precise MAD computations in the generated binary.
2106
Richard Smith081ad4d2017-01-24 19:39:46 +00002107.. option:: -cl-no-signed-zeros
2108
2109OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
2110
Richard Smith081ad4d2017-01-24 19:39:46 +00002111.. option:: -cl-opt-disable
2112
2113OpenCL only. This option disables all optimizations. By default optimizations are enabled.
2114
Richard Smith081ad4d2017-01-24 19:39:46 +00002115.. option:: -cl-single-precision-constant
2116
2117OpenCL only. Treat double precision floating-point constant as single precision constant.
2118
Richard Smith081ad4d2017-01-24 19:39:46 +00002119.. option:: -cl-std=<arg>
2120
2121OpenCL language standard to compile for.
2122
Richard Smith081ad4d2017-01-24 19:39:46 +00002123.. option:: -cl-strict-aliasing
2124
2125OpenCL only. This option is added for compatibility with OpenCL 1.0.
2126
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00002127.. option:: -cl-uniform-work-group-size
2128
2129OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
2130
Richard Smith081ad4d2017-01-24 19:39:46 +00002131.. option:: -cl-unsafe-math-optimizations
2132
2133OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
2134
2135Target-dependent compilation options
2136~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Richard Smithc5b2e002017-01-27 02:08:37 +00002137.. option:: -G<size>, -G=<arg>, -msmall-data-threshold=<arg>
2138
2139Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
2140
Richard Smith081ad4d2017-01-24 19:39:46 +00002141.. option:: -m16
2142
Richard Smith081ad4d2017-01-24 19:39:46 +00002143.. option:: -m32
2144
Richard Smith081ad4d2017-01-24 19:39:46 +00002145.. option:: -m64
2146
Richard Smith081ad4d2017-01-24 19:39:46 +00002147.. option:: -mabi=<arg>
2148
Richard Smith081ad4d2017-01-24 19:39:46 +00002149.. option:: -malign-double
2150
2151Align doubles to two words in structs (x86 only)
2152
Richard Smith081ad4d2017-01-24 19:39:46 +00002153.. option:: -march=<arg>
2154
Richard Smith081ad4d2017-01-24 19:39:46 +00002155.. option:: -masm=<arg>
2156
Richard Smith081ad4d2017-01-24 19:39:46 +00002157.. option:: -mbackchain, -mno-backchain
2158
2159Link stack frames through backchain on System Z
2160
Richard Smith081ad4d2017-01-24 19:39:46 +00002161.. option:: -mcmodel=<arg>
2162
Richard Smith081ad4d2017-01-24 19:39:46 +00002163.. option:: -mconsole<arg>
2164
Krzysztof Parzyszek57e67062018-10-19 15:36:45 +00002165.. option:: -mcpu=<arg>, -mv5 (equivalent to -mcpu=hexagonv5), -mv55 (equivalent to -mcpu=hexagonv55), -mv60 (equivalent to -mcpu=hexagonv60), -mv62 (equivalent to -mcpu=hexagonv62), -mv65 (equivalent to -mcpu=hexagonv65)
Richard Smith081ad4d2017-01-24 19:39:46 +00002166
Vedant Kumar368540f2018-08-23 17:55:03 +00002167.. option:: -mcrc, -mno-crc
2168
2169Allow use of CRC instructions (ARM/Mips only)
2170
Craig Topperd23254a2017-07-20 17:52:48 +00002171.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg>
2172
Richard Smith081ad4d2017-01-24 19:39:46 +00002173.. option:: -mdll<arg>
2174
Richard Smith081ad4d2017-01-24 19:39:46 +00002175.. option:: -mdynamic-no-pic<arg>
2176
Richard Smith081ad4d2017-01-24 19:39:46 +00002177.. option:: -meabi <arg>
2178
2179Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
2180
Richard Smith78e23fd2017-04-13 22:39:49 +00002181.. option:: -mfentry
2182
2183Insert calls to fentry at function entry (x86 only)
2184
Richard Smith081ad4d2017-01-24 19:39:46 +00002185.. option:: -mfloat-abi=<arg>
2186
Richard Smith081ad4d2017-01-24 19:39:46 +00002187.. option:: -mfpmath=<arg>
2188
Richard Smith081ad4d2017-01-24 19:39:46 +00002189.. option:: -mfpu=<arg>
2190
Richard Smith081ad4d2017-01-24 19:39:46 +00002191.. option:: -mglobal-merge, -mno-global-merge
2192
2193Enable merging of globals
2194
Richard Smith081ad4d2017-01-24 19:39:46 +00002195.. option:: -mhard-float
2196
Richard Smith081ad4d2017-01-24 19:39:46 +00002197.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg>
2198
Richard Smith081ad4d2017-01-24 19:39:46 +00002199.. option:: -miamcu, -mno-iamcu
2200
2201Use Intel MCU ABI
2202
Richard Smith081ad4d2017-01-24 19:39:46 +00002203.. option:: -mimplicit-float, -mno-implicit-float
2204
Richard Smith081ad4d2017-01-24 19:39:46 +00002205.. option:: -mimplicit-it=<arg>
2206
Richard Smith081ad4d2017-01-24 19:39:46 +00002207.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible
2208
2209(integrated-as) Emit an object file which can be used with an incremental linker
2210
Richard Smith78e23fd2017-04-13 22:39:49 +00002211.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002212
Richard Smith081ad4d2017-01-24 19:39:46 +00002213.. option:: -mkernel
2214
Richard Smith081ad4d2017-01-24 19:39:46 +00002215.. option:: -mlong-calls, -mno-long-calls
2216
2217Generate branches with extended addressability, usually via indirect jumps.
2218
Craig Topperd23254a2017-07-20 17:52:48 +00002219.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002220
2221Set Mac OS X deployment target
2222
Craig Topperd23254a2017-07-20 17:52:48 +00002223.. option:: -mmcu=<arg>
2224
Richard Smith081ad4d2017-01-24 19:39:46 +00002225.. option:: -mms-bitfields, -mno-ms-bitfields
2226
2227Set the default structure layout to be compatible with the Microsoft compiler standard
2228
Richard Smith081ad4d2017-01-24 19:39:46 +00002229.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer
2230
2231Omit frame pointer setup for leaf functions
2232
Richard Smith081ad4d2017-01-24 19:39:46 +00002233.. option:: -moslib=<arg>
2234
Richard Smith081ad4d2017-01-24 19:39:46 +00002235.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations
2236
2237Use copy relocations support for PIE builds
2238
Craig Topper9a724aa2017-12-11 21:09:19 +00002239.. option:: -mprefer-vector-width=<arg>
2240
2241Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
2242
Richard Smith081ad4d2017-01-24 19:39:46 +00002243.. option:: -mqdsp6-compat
2244
2245Enable hexagon-qdsp6 backward compatibility
2246
Richard Smith081ad4d2017-01-24 19:39:46 +00002247.. option:: -mrecip
2248
Richard Smithb2c82a62017-01-27 01:54:42 +00002249.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002250.. option:: -mrecip=<arg1>,<arg2>...
Richard Smithb2c82a62017-01-27 01:54:42 +00002251.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002252
Richard Smith081ad4d2017-01-24 19:39:46 +00002253.. option:: -mred-zone, -mno-red-zone
2254
Richard Smith081ad4d2017-01-24 19:39:46 +00002255.. option:: -mregparm=<arg>
2256
Richard Smith081ad4d2017-01-24 19:39:46 +00002257.. option:: -mrelax-all, -mno-relax-all
2258
2259(integrated-as) Relax all machine instructions
2260
Vedant Kumar368540f2018-08-23 17:55:03 +00002261.. option:: -mretpoline, -mno-retpoline
2262
Richard Smith081ad4d2017-01-24 19:39:46 +00002263.. option:: -mrtd, -mno-rtd
2264
2265Make StdCall calling convention the default
2266
Vedant Kumar368540f2018-08-23 17:55:03 +00002267.. option:: -msign-return-address=<arg>
2268
2269Select return address signing scope
Richard Smith081ad4d2017-01-24 19:39:46 +00002270
Richard Smith081ad4d2017-01-24 19:39:46 +00002271.. option:: -msoft-float, -mno-soft-float
2272
2273Use software floating point
2274
Richard Smith081ad4d2017-01-24 19:39:46 +00002275.. option:: -mstack-alignment=<arg>
2276
2277Set the stack alignment
2278
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002279.. option:: -mstack-arg-probe, -mno-stack-arg-probe
2280
2281Enable stack probes
2282
Richard Smith081ad4d2017-01-24 19:39:46 +00002283.. option:: -mstack-probe-size=<arg>
2284
2285Set the stack probe size
2286
Richard Smith081ad4d2017-01-24 19:39:46 +00002287.. option:: -mstackrealign, -mno-stackrealign
2288
2289Force realign the stack at entry to every function
2290
Richard Smith081ad4d2017-01-24 19:39:46 +00002291.. option:: -mthread-model <arg>
2292
2293The thread model to use, e.g. posix, single (posix by default)
2294
Richard Smith081ad4d2017-01-24 19:39:46 +00002295.. option:: -mthreads<arg>
2296
Richard Smith081ad4d2017-01-24 19:39:46 +00002297.. option:: -mthumb, -mno-thumb
2298
Richard Smith081ad4d2017-01-24 19:39:46 +00002299.. option:: -mtune=<arg>
2300
Richard Smith78e23fd2017-04-13 22:39:49 +00002301.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002302
Richard Smith081ad4d2017-01-24 19:39:46 +00002303.. option:: -municode<arg>
2304
Richard Smith081ad4d2017-01-24 19:39:46 +00002305.. option:: -mvx, -mno-vx
2306
Richard Smith081ad4d2017-01-24 19:39:46 +00002307.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings
2308
Richard Smith78e23fd2017-04-13 22:39:49 +00002309.. option:: -mwatchos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002310
Richard Smith081ad4d2017-01-24 19:39:46 +00002311.. option:: -mwindows<arg>
2312
Richard Smith081ad4d2017-01-24 19:39:46 +00002313.. option:: -mx32
2314
Richard Smith081ad4d2017-01-24 19:39:46 +00002315AARCH64
2316-------
Tri Vo6e8abbc2018-09-12 23:45:04 +00002317.. option:: -ffixed-x1
2318
2319Reserve the x1 register (AArch64 only)
2320
2321.. option:: -ffixed-x2
2322
2323Reserve the x2 register (AArch64 only)
2324
2325.. option:: -ffixed-x3
2326
2327Reserve the x3 register (AArch64 only)
2328
2329.. option:: -ffixed-x4
2330
2331Reserve the x4 register (AArch64 only)
2332
2333.. option:: -ffixed-x5
2334
2335Reserve the x5 register (AArch64 only)
2336
2337.. option:: -ffixed-x6
2338
2339Reserve the x6 register (AArch64 only)
2340
2341.. option:: -ffixed-x7
2342
2343Reserve the x7 register (AArch64 only)
2344
Richard Smith081ad4d2017-01-24 19:39:46 +00002345.. option:: -ffixed-x18
2346
2347Reserve the x18 register (AArch64 only)
2348
Petr Hosek72509082018-06-12 20:00:50 +00002349.. option:: -ffixed-x20
2350
2351Reserve the x20 register (AArch64 only)
2352
Tri Vo28e7e602018-09-25 16:48:40 +00002353.. option:: -fcall-saved-x8
2354
2355Make the x8 register call-saved (AArch64 only)
2356
2357.. option:: -fcall-saved-x9
2358
2359Make the x9 register call-saved (AArch64 only)
2360
2361.. option:: -fcall-saved-x10
2362
2363Make the x10 register call-saved (AArch64 only)
2364
2365.. option:: -fcall-saved-x11
2366
2367Make the x11 register call-saved (AArch64 only)
2368
2369.. option:: -fcall-saved-x12
2370
2371Make the x12 register call-saved (AArch64 only)
2372
2373.. option:: -fcall-saved-x13
2374
2375Make the x13 register call-saved (AArch64 only)
2376
2377.. option:: -fcall-saved-x14
2378
2379Make the x14 register call-saved (AArch64 only)
2380
2381.. option:: -fcall-saved-x15
2382
2383Make the x15 register call-saved (AArch64 only)
2384
2385.. option:: -fcall-saved-x18
2386
2387Make the x18 register call-saved (AArch64 only)
2388
Richard Smith081ad4d2017-01-24 19:39:46 +00002389.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769
2390
2391Workaround Cortex-A53 erratum 835769 (AArch64 only)
2392
Richard Smith081ad4d2017-01-24 19:39:46 +00002393.. option:: -mgeneral-regs-only
2394
2395Generate code which only uses the general purpose registers (AArch64 only)
2396
2397AMDGPU
2398------
Stanislav Mekhanoshin91792f12019-05-13 23:15:59 +00002399.. option:: -mcumode, -mno-cumode
2400
2401CU wavefront execution mode is used if enabled and WGP wavefront execution mode
2402is used if disabled (AMDGPU only)
2403
Craig Topper16418662017-11-20 18:07:43 +00002404.. option:: -mxnack, -mno-xnack
2405
2406Enable XNACK (AMDGPU only)
2407
Richard Smith081ad4d2017-01-24 19:39:46 +00002408ARM
2409---
Richard Smith081ad4d2017-01-24 19:39:46 +00002410.. option:: -ffixed-r9
2411
2412Reserve the r9 register (ARM only)
2413
Richard Smith081ad4d2017-01-24 19:39:46 +00002414.. option:: -mexecute-only, -mno-execute-only, -mpure-code
2415
2416Disallow generation of data access to code sections (ARM only)
2417
Richard Smith081ad4d2017-01-24 19:39:46 +00002418.. option:: -mno-movt
2419
2420Disallow use of movt/movw pairs (ARM only)
2421
Richard Smith78e23fd2017-04-13 22:39:49 +00002422.. option:: -mno-neg-immediates
2423
2424Disallow converting instructions with negative immediates to their negation or inversion.
2425
Richard Smith081ad4d2017-01-24 19:39:46 +00002426.. option:: -mnocrc
2427
2428Disallow use of CRC instructions (ARM only)
2429
Richard Smith081ad4d2017-01-24 19:39:46 +00002430.. option:: -mrestrict-it, -mno-restrict-it
2431
2432Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
2433
Craig Topper16418662017-11-20 18:07:43 +00002434.. option:: -mtp=<arg>
2435
2436Read thread pointer from coprocessor register (ARM only)
2437
Richard Smith081ad4d2017-01-24 19:39:46 +00002438.. option:: -munaligned-access, -mno-unaligned-access
2439
2440Allow memory accesses to be unaligned (AArch32/AArch64 only)
2441
2442Hexagon
2443-------
Craig Topper16418662017-11-20 18:07:43 +00002444.. option:: -mieee-rnd-near
2445
Vedant Kumar368540f2018-08-23 17:55:03 +00002446.. option:: -mmemops, -mno-memops
2447
2448Enable generation of memop instructions
2449
2450.. option:: -mnvj, -mno-nvj
2451
2452Enable generation of new-value jumps
2453
2454.. option:: -mnvs, -mno-nvs
2455
2456Enable generation of new-value stores
2457
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002458.. option:: -mpackets, -mno-packets
2459
2460Enable generation of instruction packets
2461
Craig Topper16418662017-11-20 18:07:43 +00002462Hexagon
2463-------
Richard Smith081ad4d2017-01-24 19:39:46 +00002464.. option:: -mhvx, -mno-hvx
2465
2466Enable Hexagon Vector eXtensions
2467
Craig Topper16418662017-11-20 18:07:43 +00002468.. option:: -mhvx-length=<arg>
2469
2470Set Hexagon Vector Length
2471
2472.. program:: clang1
2473.. option:: -mhvx=<arg>
2474.. program:: clang
2475
2476Enable Hexagon Vector eXtensions
Richard Smith081ad4d2017-01-24 19:39:46 +00002477
Vedant Kumar368540f2018-08-23 17:55:03 +00002478MIPS
2479----
2480.. option:: -mabicalls, -mno-abicalls
2481
2482Enable SVR4-style position-independent code (Mips only)
2483
2484.. option:: -mabs=<arg>
2485
2486.. option:: -mcheck-zero-division, -mno-check-zero-division
2487
2488.. option:: -mcompact-branches=<arg>
2489
2490.. option:: -mdouble-float
2491
2492.. option:: -mdsp, -mno-dsp
2493
2494.. option:: -mdspr2, -mno-dspr2
2495
2496.. option:: -membedded-data, -mno-embedded-data
2497
2498Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
2499
2500.. option:: -mextern-sdata, -mno-extern-sdata
2501
2502Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
2503
2504.. option:: -mfp32
2505
2506Use 32-bit floating point registers (MIPS only)
2507
2508.. option:: -mfp64
2509
2510Use 64-bit floating point registers (MIPS only)
2511
2512.. option:: -mginv, -mno-ginv
2513
2514.. option:: -mgpopt, -mno-gpopt
2515
2516Use GP relative accesses for symbols known to be in a small data section (MIPS)
2517
2518.. option:: -mindirect-jump=<arg>
2519
2520Change indirect jump instructions to inhibit speculation
2521
2522.. option:: -mips16
2523
2524.. option:: -mldc1-sdc1, -mno-ldc1-sdc1
2525
2526.. option:: -mlocal-sdata, -mno-local-sdata
2527
2528Extend the -G behaviour to object local data (MIPS)
2529
2530.. option:: -mmadd4, -mno-madd4
2531
2532Enable the generation of 4-operand madd.s, madd.d and related instructions.
2533
2534.. option:: -mmicromips, -mno-micromips
2535
2536.. option:: -mmsa, -mno-msa
2537
2538Enable MSA ASE (MIPS only)
2539
2540.. option:: -mmt, -mno-mt
2541
2542Enable MT ASE (MIPS only)
2543
2544.. option:: -mnan=<arg>
2545
2546.. option:: -mno-mips16
2547
2548.. option:: -msingle-float
2549
2550.. option:: -mvirt, -mno-virt
2551
2552.. option:: -mxgot, -mno-xgot
2553
Richard Smith081ad4d2017-01-24 19:39:46 +00002554PowerPC
2555-------
Richard Smith78e23fd2017-04-13 22:39:49 +00002556.. option:: -maltivec, -mno-altivec
2557
Richard Smith081ad4d2017-01-24 19:39:46 +00002558.. option:: -mcmpb, -mno-cmpb
2559
Richard Smith081ad4d2017-01-24 19:39:46 +00002560.. option:: -mcrbits, -mno-crbits
2561
Richard Smith081ad4d2017-01-24 19:39:46 +00002562.. option:: -mcrypto, -mno-crypto
2563
Richard Smith081ad4d2017-01-24 19:39:46 +00002564.. option:: -mdirect-move, -mno-direct-move
2565
Richard Smith081ad4d2017-01-24 19:39:46 +00002566.. option:: -mfloat128, -mno-float128
2567
Richard Smith081ad4d2017-01-24 19:39:46 +00002568.. option:: -mfprnd, -mno-fprnd
2569
Richard Smith081ad4d2017-01-24 19:39:46 +00002570.. option:: -mhtm, -mno-htm
2571
Richard Smith081ad4d2017-01-24 19:39:46 +00002572.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors
2573
Richard Smith081ad4d2017-01-24 19:39:46 +00002574.. option:: -misel, -mno-isel
2575
Richard Smith081ad4d2017-01-24 19:39:46 +00002576.. option:: -mlongcall, -mno-longcall
2577
Richard Smith081ad4d2017-01-24 19:39:46 +00002578.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf
2579
Richard Smith081ad4d2017-01-24 19:39:46 +00002580.. option:: -mpopcntd, -mno-popcntd
2581
Richard Smith081ad4d2017-01-24 19:39:46 +00002582.. option:: -mpower8-vector, -mno-power8-vector
2583
Richard Smith081ad4d2017-01-24 19:39:46 +00002584.. option:: -mpower9-vector, -mno-power9-vector
2585
Richard Smith081ad4d2017-01-24 19:39:46 +00002586.. option:: -mqpx, -mno-qpx
2587
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002588.. option:: -msecure-plt
2589
Richard Smith081ad4d2017-01-24 19:39:46 +00002590.. option:: -mvsx, -mno-vsx
2591
2592WebAssembly
2593-----------
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002594.. option:: -mexception-handling, -mno-exception-handling
2595
Craig Topper188252d2017-12-11 21:09:16 +00002596.. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint
2597
Dan Gohmand0c4e1e2018-01-19 17:16:32 +00002598.. option:: -msign-ext, -mno-sign-ext
2599
Richard Smith081ad4d2017-01-24 19:39:46 +00002600.. option:: -msimd128, -mno-simd128
2601
2602X86
2603---
Richard Smith081ad4d2017-01-24 19:39:46 +00002604.. option:: -m3dnow, -mno-3dnow
2605
Richard Smith081ad4d2017-01-24 19:39:46 +00002606.. option:: -m3dnowa, -mno-3dnowa
2607
Richard Smith081ad4d2017-01-24 19:39:46 +00002608.. option:: -madx, -mno-adx
2609
Richard Smith081ad4d2017-01-24 19:39:46 +00002610.. option:: -maes, -mno-aes
2611
Richard Smith081ad4d2017-01-24 19:39:46 +00002612.. option:: -mavx, -mno-avx
2613
Richard Smith081ad4d2017-01-24 19:39:46 +00002614.. option:: -mavx2, -mno-avx2
2615
Craig Topper287c8012018-01-03 18:29:12 +00002616.. option:: -mavx512bitalg, -mno-avx512bitalg
2617
Luo, Yuanke844f6622019-05-06 08:25:11 +00002618.. option:: -mavx512bf16, -mno-avx512bf16
2619
Richard Smith081ad4d2017-01-24 19:39:46 +00002620.. option:: -mavx512bw, -mno-avx512bw
2621
Richard Smith081ad4d2017-01-24 19:39:46 +00002622.. option:: -mavx512cd, -mno-avx512cd
2623
Richard Smith081ad4d2017-01-24 19:39:46 +00002624.. option:: -mavx512dq, -mno-avx512dq
2625
Richard Smith081ad4d2017-01-24 19:39:46 +00002626.. option:: -mavx512er, -mno-avx512er
2627
Richard Smith081ad4d2017-01-24 19:39:46 +00002628.. option:: -mavx512f, -mno-avx512f
2629
Richard Smith081ad4d2017-01-24 19:39:46 +00002630.. option:: -mavx512ifma, -mno-avx512ifma
2631
Richard Smith081ad4d2017-01-24 19:39:46 +00002632.. option:: -mavx512pf, -mno-avx512pf
2633
Richard Smith081ad4d2017-01-24 19:39:46 +00002634.. option:: -mavx512vbmi, -mno-avx512vbmi
2635
Craig Topper287c8012018-01-03 18:29:12 +00002636.. option:: -mavx512vbmi2, -mno-avx512vbmi2
2637
Richard Smith081ad4d2017-01-24 19:39:46 +00002638.. option:: -mavx512vl, -mno-avx512vl
2639
Craig Topper287c8012018-01-03 18:29:12 +00002640.. option:: -mavx512vnni, -mno-avx512vnni
2641
Craig Topperd23254a2017-07-20 17:52:48 +00002642.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq
2643
Richard Smith081ad4d2017-01-24 19:39:46 +00002644.. option:: -mbmi, -mno-bmi
2645
Richard Smith081ad4d2017-01-24 19:39:46 +00002646.. option:: -mbmi2, -mno-bmi2
2647
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002648.. option:: -mcldemote, -mno-cldemote
2649
Craig Topper78b47872017-02-08 06:48:58 +00002650.. option:: -mclflushopt, -mno-clflushopt
2651
Craig Topper177a57c2017-02-08 07:57:01 +00002652.. option:: -mclwb, -mno-clwb
2653
Richard Smith78e23fd2017-04-13 22:39:49 +00002654.. option:: -mclzero, -mno-clzero
2655
Richard Smith081ad4d2017-01-24 19:39:46 +00002656.. option:: -mcx16, -mno-cx16
2657
Richard Smith081ad4d2017-01-24 19:39:46 +00002658.. option:: -mf16c, -mno-f16c
2659
Richard Smith081ad4d2017-01-24 19:39:46 +00002660.. option:: -mfma, -mno-fma
2661
Richard Smith081ad4d2017-01-24 19:39:46 +00002662.. option:: -mfma4, -mno-fma4
2663
Richard Smith081ad4d2017-01-24 19:39:46 +00002664.. option:: -mfsgsbase, -mno-fsgsbase
2665
Richard Smith081ad4d2017-01-24 19:39:46 +00002666.. option:: -mfxsr, -mno-fxsr
2667
Craig Topper287c8012018-01-03 18:29:12 +00002668.. option:: -mgfni, -mno-gfni
2669
Vedant Kumar368540f2018-08-23 17:55:03 +00002670.. option:: -minvpcid, -mno-invpcid
2671
Craig Topperd23254a2017-07-20 17:52:48 +00002672.. option:: -mlwp, -mno-lwp
2673
Richard Smith081ad4d2017-01-24 19:39:46 +00002674.. option:: -mlzcnt, -mno-lzcnt
2675
Richard Smith081ad4d2017-01-24 19:39:46 +00002676.. option:: -mmmx, -mno-mmx
2677
Craig Topper177a57c2017-02-08 07:57:01 +00002678.. option:: -mmovbe, -mno-movbe
2679
Gabor Buellaa51e0c22018-05-01 10:05:42 +00002680.. option:: -mmovdir64b, -mno-movdir64b
2681
Vedant Kumar368540f2018-08-23 17:55:03 +00002682.. option:: -mmovdiri, -mno-movdiri
2683
Craig Topperb16cb822017-02-08 07:56:42 +00002684.. option:: -mmpx, -mno-mpx
2685
Richard Smith081ad4d2017-01-24 19:39:46 +00002686.. option:: -mmwaitx, -mno-mwaitx
2687
Richard Smith081ad4d2017-01-24 19:39:46 +00002688.. option:: -mpclmul, -mno-pclmul
2689
Vedant Kumar368540f2018-08-23 17:55:03 +00002690.. option:: -mpconfig, -mno-pconfig
2691
Richard Smith081ad4d2017-01-24 19:39:46 +00002692.. option:: -mpku, -mno-pku
2693
Richard Smith081ad4d2017-01-24 19:39:46 +00002694.. option:: -mpopcnt, -mno-popcnt
2695
Craig Topperd2bf7b02017-02-08 08:23:40 +00002696.. option:: -mprefetchwt1, -mno-prefetchwt1
2697
Richard Smith081ad4d2017-01-24 19:39:46 +00002698.. option:: -mprfchw, -mno-prfchw
2699
Vedant Kumar368540f2018-08-23 17:55:03 +00002700.. option:: -mptwrite, -mno-ptwrite
2701
Craig Topper596527b2018-01-23 18:40:15 +00002702.. option:: -mrdpid, -mno-rdpid
2703
Richard Smith081ad4d2017-01-24 19:39:46 +00002704.. option:: -mrdrnd, -mno-rdrnd
2705
Richard Smith081ad4d2017-01-24 19:39:46 +00002706.. option:: -mrdseed, -mno-rdseed
2707
Craig Topper596527b2018-01-23 18:40:15 +00002708.. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk
2709
Richard Smith081ad4d2017-01-24 19:39:46 +00002710.. option:: -mrtm, -mno-rtm
2711
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00002712.. option:: -msahf, -mno-sahf
2713
Craig Topper204ecff2017-02-08 08:23:17 +00002714.. option:: -msgx, -mno-sgx
2715
Richard Smith081ad4d2017-01-24 19:39:46 +00002716.. option:: -msha, -mno-sha
2717
Craig Topper188252d2017-12-11 21:09:16 +00002718.. option:: -mshstk, -mno-shstk
2719
Richard Smith081ad4d2017-01-24 19:39:46 +00002720.. option:: -msse, -mno-sse
2721
Richard Smith081ad4d2017-01-24 19:39:46 +00002722.. option:: -msse2, -mno-sse2
2723
Richard Smith081ad4d2017-01-24 19:39:46 +00002724.. option:: -msse3, -mno-sse3
2725
Richard Smith081ad4d2017-01-24 19:39:46 +00002726.. option:: -msse4.1, -mno-sse4.1
2727
Richard Smithb2c82a62017-01-27 01:54:42 +00002728.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002729.. option:: -msse4.2, -mno-sse4.2, -msse4
Richard Smithb2c82a62017-01-27 01:54:42 +00002730.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002731
Richard Smith081ad4d2017-01-24 19:39:46 +00002732.. option:: -msse4a, -mno-sse4a
2733
Richard Smith081ad4d2017-01-24 19:39:46 +00002734.. option:: -mssse3, -mno-ssse3
2735
Richard Smith081ad4d2017-01-24 19:39:46 +00002736.. option:: -mtbm, -mno-tbm
2737
Craig Topper287c8012018-01-03 18:29:12 +00002738.. option:: -mvaes, -mno-vaes
2739
2740.. option:: -mvpclmulqdq, -mno-vpclmulqdq
2741
Craig Topper42da9cb2018-04-23 21:41:06 +00002742.. option:: -mwaitpkg, -mno-waitpkg
2743
Gabor Buellaa0520162018-04-11 20:09:09 +00002744.. option:: -mwbnoinvd, -mno-wbnoinvd
2745
Richard Smith081ad4d2017-01-24 19:39:46 +00002746.. option:: -mx87, -m80387, -mno-x87
2747
Richard Smith081ad4d2017-01-24 19:39:46 +00002748.. option:: -mxop, -mno-xop
2749
Richard Smith081ad4d2017-01-24 19:39:46 +00002750.. option:: -mxsave, -mno-xsave
2751
Richard Smith081ad4d2017-01-24 19:39:46 +00002752.. option:: -mxsavec, -mno-xsavec
2753
Richard Smith081ad4d2017-01-24 19:39:46 +00002754.. option:: -mxsaveopt, -mno-xsaveopt
2755
Richard Smith081ad4d2017-01-24 19:39:46 +00002756.. option:: -mxsaves, -mno-xsaves
2757
Vedant Kumar368540f2018-08-23 17:55:03 +00002758RISCV
2759-----
2760.. option:: -mrelax, -mno-relax
2761
2762Enable linker relaxation
2763
Richard Smith081ad4d2017-01-24 19:39:46 +00002764Optimization level
2765~~~~~~~~~~~~~~~~~~
2766
2767Flags controlling how much optimization should be performed.
2768
Richard Smith081ad4d2017-01-24 19:39:46 +00002769.. option:: -O<arg>, -O (equivalent to -O2), --optimize, --optimize=<arg>
2770
Richard Smith081ad4d2017-01-24 19:39:46 +00002771.. option:: -Ofast<arg>
2772
2773Debug information generation
2774~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2775
2776Flags controlling how much and what kind of debug information should be
2777generated.
2778
2779Kind and level of debug information
2780-----------------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002781.. option:: -g, --debug, --debug=<arg>
2782
2783Generate source-level debug information
2784
Richard Smith081ad4d2017-01-24 19:39:46 +00002785.. option:: -gdwarf-2
2786
2787Generate source-level debug information with dwarf version 2
2788
Richard Smith081ad4d2017-01-24 19:39:46 +00002789.. option:: -gdwarf-3
2790
2791Generate source-level debug information with dwarf version 3
2792
Richard Smith081ad4d2017-01-24 19:39:46 +00002793.. option:: -gdwarf-4, -gdwarf
2794
2795Generate source-level debug information with dwarf version 4
2796
Richard Smith081ad4d2017-01-24 19:39:46 +00002797.. option:: -gdwarf-5
2798
2799Generate source-level debug information with dwarf version 5
2800
Richard Smith081ad4d2017-01-24 19:39:46 +00002801.. option:: -gfull
2802
Richard Smith081ad4d2017-01-24 19:39:46 +00002803.. option:: -gused
2804
2805Debug level
2806___________
Richard Smith081ad4d2017-01-24 19:39:46 +00002807.. option:: -g0
2808
Richard Smith081ad4d2017-01-24 19:39:46 +00002809.. option:: -g2
2810
Richard Smith081ad4d2017-01-24 19:39:46 +00002811.. option:: -g3
2812
Richard Smith081ad4d2017-01-24 19:39:46 +00002813.. option:: -ggdb0
2814
Richard Smith081ad4d2017-01-24 19:39:46 +00002815.. option:: -ggdb1
2816
Richard Smith081ad4d2017-01-24 19:39:46 +00002817.. option:: -ggdb2
2818
Richard Smith081ad4d2017-01-24 19:39:46 +00002819.. option:: -ggdb3
2820
Richard Smith081ad4d2017-01-24 19:39:46 +00002821.. option:: -gline-tables-only, -g1, -gmlt
2822
2823Emit debug line number tables only
2824
Richard Smith081ad4d2017-01-24 19:39:46 +00002825.. option:: -gmodules
2826
2827Generate debug info with external references to clang modules or precompiled headers
2828
2829Debugger to tune debug information for
2830______________________________________
Richard Smith081ad4d2017-01-24 19:39:46 +00002831.. option:: -ggdb
2832
Richard Smith081ad4d2017-01-24 19:39:46 +00002833.. option:: -glldb
2834
Richard Smith081ad4d2017-01-24 19:39:46 +00002835.. option:: -gsce
2836
2837Debug information flags
2838-----------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002839.. option:: -gcolumn-info, -gno-column-info
2840
Richard Smith081ad4d2017-01-24 19:39:46 +00002841.. option:: -gdwarf-aranges
2842
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002843.. option:: -gembed-source, -gno-embed-source
Scott Lindera2fbcef2018-02-26 17:32:31 +00002844
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002845Embed source text in DWARF debug sections
Scott Lindera2fbcef2018-02-26 17:32:31 +00002846
Vedant Kumar368540f2018-08-23 17:55:03 +00002847.. option:: -ggnu-pubnames, -gno-gnu-pubnames
2848
2849.. option:: -gpubnames, -gno-pubnames
Richard Smith081ad4d2017-01-24 19:39:46 +00002850
Scott Linderde6beb02018-12-14 15:38:15 +00002851.. option:: -grecord-command-line, -grecord-gcc-switches, -gno-record-command-line, -gno-record-gcc-switches
Richard Smith081ad4d2017-01-24 19:39:46 +00002852
Richard Smith081ad4d2017-01-24 19:39:46 +00002853.. option:: -gsplit-dwarf
2854
Richard Smith081ad4d2017-01-24 19:39:46 +00002855.. option:: -gstrict-dwarf, -gno-strict-dwarf
2856
Craig Topperd23254a2017-07-20 17:52:48 +00002857.. option:: -gz
2858
2859DWARF debug sections compression type
2860
2861.. program:: clang1
2862.. option:: -gz=<arg>
2863.. program:: clang
2864
2865DWARF debug sections compression type
2866
Richard Smithc5b2e002017-01-27 02:08:37 +00002867Static analyzer flags
2868=====================
Richard Smith081ad4d2017-01-24 19:39:46 +00002869
Richard Smithc5b2e002017-01-27 02:08:37 +00002870Flags controlling the behavior of the Clang Static Analyzer.
Richard Smith081ad4d2017-01-24 19:39:46 +00002871
Richard Smithc5b2e002017-01-27 02:08:37 +00002872.. option:: -Xanalyzer <arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002873
Richard Smithc5b2e002017-01-27 02:08:37 +00002874Pass <arg> to the static analyzer
Richard Smith081ad4d2017-01-24 19:39:46 +00002875
2876Fortran compilation flags
2877=========================
2878
2879Flags that will be passed onto the ``gfortran`` compiler when Clang is given
2880a Fortran input.
2881
Richard Smithc5b2e002017-01-27 02:08:37 +00002882.. option:: -A<arg>, --assert <arg>, --assert=<arg>
2883
Richard Smith081ad4d2017-01-24 19:39:46 +00002884.. option:: -A-<arg>
2885
Richard Smith081ad4d2017-01-24 19:39:46 +00002886.. option:: -J<arg>
2887
Richard Smith081ad4d2017-01-24 19:39:46 +00002888.. option:: -cpp
2889
Richard Smith081ad4d2017-01-24 19:39:46 +00002890.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination
2891
Richard Smith081ad4d2017-01-24 19:39:46 +00002892.. option:: -falign-commons, -fno-align-commons
2893
Richard Smith081ad4d2017-01-24 19:39:46 +00002894.. option:: -fall-intrinsics, -fno-all-intrinsics
2895
Richard Smith081ad4d2017-01-24 19:39:46 +00002896.. option:: -fautomatic, -fno-automatic
2897
Richard Smith081ad4d2017-01-24 19:39:46 +00002898.. option:: -fbackslash, -fno-backslash
2899
Richard Smith081ad4d2017-01-24 19:39:46 +00002900.. option:: -fbacktrace, -fno-backtrace
2901
Richard Smith081ad4d2017-01-24 19:39:46 +00002902.. option:: -fblas-matmul-limit=<arg>
2903
Richard Smith081ad4d2017-01-24 19:39:46 +00002904.. option:: -fbounds-check, -fno-bounds-check
2905
Richard Smith081ad4d2017-01-24 19:39:46 +00002906.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries
2907
Richard Smith081ad4d2017-01-24 19:39:46 +00002908.. option:: -fcheck=<arg>
2909
Richard Smith081ad4d2017-01-24 19:39:46 +00002910.. option:: -fcoarray=<arg>
2911
Richard Smith081ad4d2017-01-24 19:39:46 +00002912.. option:: -fconvert=<arg>
2913
Richard Smith081ad4d2017-01-24 19:39:46 +00002914.. option:: -fcray-pointer, -fno-cray-pointer
2915
Richard Smith081ad4d2017-01-24 19:39:46 +00002916.. option:: -fd-lines-as-code, -fno-d-lines-as-code
2917
Richard Smith081ad4d2017-01-24 19:39:46 +00002918.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments
2919
Richard Smith081ad4d2017-01-24 19:39:46 +00002920.. option:: -fdefault-double-8, -fno-default-double-8
2921
Richard Smith081ad4d2017-01-24 19:39:46 +00002922.. option:: -fdefault-integer-8, -fno-default-integer-8
2923
Richard Smith081ad4d2017-01-24 19:39:46 +00002924.. option:: -fdefault-real-8, -fno-default-real-8
2925
Richard Smith081ad4d2017-01-24 19:39:46 +00002926.. option:: -fdollar-ok, -fno-dollar-ok
2927
Richard Smith081ad4d2017-01-24 19:39:46 +00002928.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized
2929
Richard Smith081ad4d2017-01-24 19:39:46 +00002930.. option:: -fdump-fortran-original, -fno-dump-fortran-original
2931
Richard Smith081ad4d2017-01-24 19:39:46 +00002932.. option:: -fdump-parse-tree, -fno-dump-parse-tree
2933
Richard Smith081ad4d2017-01-24 19:39:46 +00002934.. option:: -fexternal-blas, -fno-external-blas
2935
Richard Smith081ad4d2017-01-24 19:39:46 +00002936.. option:: -ff2c, -fno-f2c
2937
Richard Smith081ad4d2017-01-24 19:39:46 +00002938.. option:: -ffixed-form, -fno-fixed-form
2939
Richard Smith081ad4d2017-01-24 19:39:46 +00002940.. option:: -ffixed-line-length-<arg>
2941
Richard Smith081ad4d2017-01-24 19:39:46 +00002942.. option:: -ffpe-trap=<arg>
2943
Richard Smith081ad4d2017-01-24 19:39:46 +00002944.. option:: -ffree-form, -fno-free-form
2945
Richard Smith081ad4d2017-01-24 19:39:46 +00002946.. option:: -ffree-line-length-<arg>
2947
Richard Smith081ad4d2017-01-24 19:39:46 +00002948.. option:: -ffrontend-optimize, -fno-frontend-optimize
2949
Richard Smith081ad4d2017-01-24 19:39:46 +00002950.. option:: -fimplicit-none, -fno-implicit-none
2951
Richard Smith081ad4d2017-01-24 19:39:46 +00002952.. option:: -finit-character=<arg>
2953
Richard Smith081ad4d2017-01-24 19:39:46 +00002954.. option:: -finit-integer=<arg>
2955
Richard Smith081ad4d2017-01-24 19:39:46 +00002956.. option:: -finit-local-zero, -fno-init-local-zero
2957
Richard Smith081ad4d2017-01-24 19:39:46 +00002958.. option:: -finit-logical=<arg>
2959
Richard Smith081ad4d2017-01-24 19:39:46 +00002960.. option:: -finit-real=<arg>
2961
Richard Smith081ad4d2017-01-24 19:39:46 +00002962.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8
2963
Richard Smith081ad4d2017-01-24 19:39:46 +00002964.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path
2965
Richard Smith081ad4d2017-01-24 19:39:46 +00002966.. option:: -fmax-array-constructor=<arg>
2967
Richard Smith081ad4d2017-01-24 19:39:46 +00002968.. option:: -fmax-errors=<arg>
2969
Richard Smith081ad4d2017-01-24 19:39:46 +00002970.. option:: -fmax-identifier-length, -fno-max-identifier-length
2971
Richard Smith081ad4d2017-01-24 19:39:46 +00002972.. option:: -fmax-stack-var-size=<arg>
2973
Richard Smith081ad4d2017-01-24 19:39:46 +00002974.. option:: -fmax-subrecord-length=<arg>
2975
Richard Smith081ad4d2017-01-24 19:39:46 +00002976.. option:: -fmodule-private, -fno-module-private
2977
Richard Smith081ad4d2017-01-24 19:39:46 +00002978.. option:: -fpack-derived, -fno-pack-derived
2979
Richard Smith081ad4d2017-01-24 19:39:46 +00002980.. option:: -fprotect-parens, -fno-protect-parens
2981
Richard Smith081ad4d2017-01-24 19:39:46 +00002982.. option:: -frange-check, -fno-range-check
2983
Richard Smith081ad4d2017-01-24 19:39:46 +00002984.. option:: -freal-4-real-10, -fno-real-4-real-10
2985
Richard Smith081ad4d2017-01-24 19:39:46 +00002986.. option:: -freal-4-real-16, -fno-real-4-real-16
2987
Richard Smith081ad4d2017-01-24 19:39:46 +00002988.. option:: -freal-4-real-8, -fno-real-4-real-8
2989
Richard Smith081ad4d2017-01-24 19:39:46 +00002990.. option:: -freal-8-real-10, -fno-real-8-real-10
2991
Richard Smith081ad4d2017-01-24 19:39:46 +00002992.. option:: -freal-8-real-16, -fno-real-8-real-16
2993
Richard Smith081ad4d2017-01-24 19:39:46 +00002994.. option:: -freal-8-real-4, -fno-real-8-real-4
2995
Richard Smith081ad4d2017-01-24 19:39:46 +00002996.. option:: -frealloc-lhs, -fno-realloc-lhs
2997
Richard Smith081ad4d2017-01-24 19:39:46 +00002998.. option:: -frecord-marker=<arg>
2999
Richard Smith081ad4d2017-01-24 19:39:46 +00003000.. option:: -frecursive, -fno-recursive
3001
Richard Smith081ad4d2017-01-24 19:39:46 +00003002.. option:: -frepack-arrays, -fno-repack-arrays
3003
Richard Smith081ad4d2017-01-24 19:39:46 +00003004.. option:: -fsecond-underscore, -fno-second-underscore
3005
Richard Smith081ad4d2017-01-24 19:39:46 +00003006.. option:: -fsign-zero, -fno-sign-zero
3007
Richard Smith081ad4d2017-01-24 19:39:46 +00003008.. option:: -fstack-arrays, -fno-stack-arrays
3009
Richard Smith081ad4d2017-01-24 19:39:46 +00003010.. option:: -funderscoring, -fno-underscoring
3011
Richard Smith081ad4d2017-01-24 19:39:46 +00003012.. option:: -fwhole-file, -fno-whole-file
3013
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003014.. option:: -imultilib <arg>
3015
Richard Smith081ad4d2017-01-24 19:39:46 +00003016.. option:: -nocpp
3017
Richard Smith081ad4d2017-01-24 19:39:46 +00003018.. option:: -static-libgfortran
3019
Richard Smithc5b2e002017-01-27 02:08:37 +00003020Linker flags
3021============
3022Flags that are passed on to the linker
3023
3024.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>
3025
3026Add directory to library search path
3027
3028.. option:: -Mach
3029
3030.. option:: -T<script>
3031
3032Specify <script> as linker script
3033
Richard Smith78e23fd2017-04-13 22:39:49 +00003034.. option:: -Tbss<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003035
3036Set starting address of BSS to <addr>
3037
Richard Smith78e23fd2017-04-13 22:39:49 +00003038.. option:: -Tdata<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003039
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003040Set starting address of DATA to <addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003041
Richard Smith78e23fd2017-04-13 22:39:49 +00003042.. option:: -Ttext<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003043
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003044Set starting address of TEXT to <addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003045
3046.. option:: -Wl,<arg>,<arg2>...
3047
3048Pass the comma separated arguments in <arg> to the linker
3049
3050.. option:: -X
3051
3052.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>
3053
3054Pass <arg> to the linker
3055
3056.. program:: clang1
3057.. option:: -Z
3058.. program:: clang
3059
3060.. option:: -e<arg>, --entry
3061
3062.. option:: -filelist <arg>
3063
Vedant Kumar368540f2018-08-23 17:55:03 +00003064.. option:: --hip-device-lib-path=<arg>
3065
3066HIP device library path
3067
3068.. option:: --hip-device-lib=<arg>
3069
3070HIP device library
3071
Richard Smithc5b2e002017-01-27 02:08:37 +00003072.. option:: -l<arg>
3073
3074.. option:: -r
3075
3076.. option:: -rpath <arg>
3077
3078.. option:: -s
3079
3080.. option:: -t
3081
3082.. option:: -u<arg>, --force-link <arg>, --force-link=<arg>
3083
3084.. option:: -undef
3085
3086undef all system defines
3087
3088.. option:: -undefined<arg>, --no-undefined
3089
3090.. option:: -z <arg>
3091
3092Pass -z <arg> to the linker
3093