blob: 2ba544b06b4bf04d05954e0a4cb89d28cb762637 [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
161Include PTX for the follwing GPU architecture (e.g. sm\_35) or 'all'. May be specified more than once.
162
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
Richard Smith081ad4d2017-01-24 19:39:46 +0000795.. option:: -fsanitize-address-field-padding=<arg>
796
797Level of field padding for AddressSanitizer
798
Craig Topperd23254a2017-07-20 17:52:48 +0000799.. option:: -fsanitize-address-globals-dead-stripping
800
801Enable linker dead stripping of globals in AddressSanitizer
802
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000803.. option:: -fsanitize-address-poison-class-member-array-new-cookie, -fno-sanitize-address-poison-class-member-array-new-cookie
804
805Enable poisoning array cookies when using class member operator new\[\] in AddressSanitizer
806
Richard Smith081ad4d2017-01-24 19:39:46 +0000807.. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope
808
809Enable use-after-scope detection in AddressSanitizer
810
Richard Smith081ad4d2017-01-24 19:39:46 +0000811.. option:: -fsanitize-blacklist=<arg>
812
813Path to blacklist file for sanitizers
814
Richard Smith081ad4d2017-01-24 19:39:46 +0000815.. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso
816
817Enable control flow integrity (CFI) checks for cross-DSO calls.
818
Vlad Tsyrklevich634c6012017-10-31 22:39:44 +0000819.. option:: -fsanitize-cfi-icall-generalize-pointers
820
Craig Topper16418662017-11-20 18:07:43 +0000821Generalize pointers in CFI indirect call type signature checks
Vlad Tsyrklevich634c6012017-10-31 22:39:44 +0000822
Richard Smith081ad4d2017-01-24 19:39:46 +0000823.. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>...
824
825Specify the type of coverage instrumentation for Sanitizers
826
Richard Smith081ad4d2017-01-24 19:39:46 +0000827.. option:: -fsanitize-link-c++-runtime
828
Richard Smith081ad4d2017-01-24 19:39:46 +0000829.. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins
830
831Enable origins tracking in MemorySanitizer
832
Richard Smithb2c82a62017-01-27 01:54:42 +0000833.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000834.. option:: -fsanitize-memory-track-origins=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000835.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000836
837Enable origins tracking in MemorySanitizer
838
Craig Topper16418662017-11-20 18:07:43 +0000839.. option:: -fsanitize-memory-use-after-dtor, -fno-sanitize-memory-use-after-dtor
Richard Smith081ad4d2017-01-24 19:39:46 +0000840
841Enable use-after-destroy detection in MemorySanitizer
842
Boris Kolpackovb150d242017-08-30 09:15:53 +0000843.. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime
844
Richard Smith081ad4d2017-01-24 19:39:46 +0000845.. option:: -fsanitize-recover, -fno-sanitize-recover
846
Richard Smithb2c82a62017-01-27 01:54:42 +0000847.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000848.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>...
Richard Smithb2c82a62017-01-27 01:54:42 +0000849.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000850
851Enable recovery for specified sanitizers
852
Richard Smith081ad4d2017-01-24 19:39:46 +0000853.. option:: -fsanitize-stats, -fno-sanitize-stats
854
855Enable sanitizer statistics gathering.
856
Richard Smith081ad4d2017-01-24 19:39:46 +0000857.. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics
858
859Enable atomic operations instrumentation in ThreadSanitizer (default)
860
Richard Smith081ad4d2017-01-24 19:39:46 +0000861.. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit
862
863Enable function entry/exit instrumentation in ThreadSanitizer (default)
864
Richard Smith081ad4d2017-01-24 19:39:46 +0000865.. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access
866
867Enable memory access instrumentation in ThreadSanitizer (default)
868
Richard Smith081ad4d2017-01-24 19:39:46 +0000869.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>...
870
871Enable trapping for specified sanitizers
872
Richard Smith081ad4d2017-01-24 19:39:46 +0000873.. option:: -fsanitize-undefined-strip-path-components=<number>
874
875Strip (or keep only, if negative) a given number of path components when emitting check metadata.
876
Richard Smith081ad4d2017-01-24 19:39:46 +0000877.. option:: -fsanitize-undefined-trap-on-error, -fno-sanitize-undefined-trap-on-error
878
Richard Smith081ad4d2017-01-24 19:39:46 +0000879.. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>...
880
881Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
882
Vedant Kumar368540f2018-08-23 17:55:03 +0000883.. option:: -moutline, -mno-outline
884
885Enable function outlining (AArch64 only)
886
Richard Smith081ad4d2017-01-24 19:39:46 +0000887.. option:: --param <arg>, --param=<arg>
888
Richard Smith081ad4d2017-01-24 19:39:46 +0000889.. option:: -std=<arg>, --std=<arg>, --std <arg>
890
891Language standard to compile for
892
Richard Smithc5b2e002017-01-27 02:08:37 +0000893Preprocessor flags
894~~~~~~~~~~~~~~~~~~
895
896Flags controlling the behavior of the Clang preprocessor.
897
898.. option:: -C, --comments
899
900Include comments in preprocessed output
901
902.. option:: -CC, --comments-in-macros
903
904Include comments from within macros in preprocessed output
905
906.. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg>
907
908Define <macro> to <value> (or 1 if <value> omitted)
909
910.. option:: -H, --trace-includes
911
912Show header includes and nesting depth
913
914.. option:: -P, --no-line-commands
915
916Disable linemarker output in -E mode
917
918.. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg>
919
920Undefine macro <macro>
921
922.. option:: -Wp,<arg>,<arg2>...
923
924Pass the comma separated arguments in <arg> to the preprocessor
925
926.. option:: -Xpreprocessor <arg>
927
928Pass <arg> to the preprocessor
929
Richard Smith081ad4d2017-01-24 19:39:46 +0000930Include path management
Richard Smithc5b2e002017-01-27 02:08:37 +0000931-----------------------
Richard Smith081ad4d2017-01-24 19:39:46 +0000932
933Flags controlling how ``#include``\s are resolved to files.
934
Richard Smithc5b2e002017-01-27 02:08:37 +0000935.. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +0000936
937Add directory to include search path
938
Richard Smith081ad4d2017-01-24 19:39:46 +0000939.. option:: -I-, --include-barrier
940
Richard Smithc5b2e002017-01-27 02:08:37 +0000941Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
942
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000943.. option:: --cuda-path-ignore-env
944
945Ignore environment variables to detect CUDA installation
946
Richard Smith081ad4d2017-01-24 19:39:46 +0000947.. option:: --cuda-path=<arg>
948
949CUDA installation path
950
Richard Smith081ad4d2017-01-24 19:39:46 +0000951.. option:: -cxx-isystem<directory>
952
953Add directory to the C++ SYSTEM include search path
954
Richard Smith081ad4d2017-01-24 19:39:46 +0000955.. option:: -fbuild-session-file=<file>
956
957Use the last modification time of <file> as the build session timestamp
958
Richard Smith081ad4d2017-01-24 19:39:46 +0000959.. option:: -fbuild-session-timestamp=<time since Epoch in seconds>
960
961Time when the current build session started
962
Boris Kolpackovb150d242017-08-30 09:15:53 +0000963.. option:: -fmodule-file=\[<name>=\]<file>
964
965Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
966
Richard Smith081ad4d2017-01-24 19:39:46 +0000967.. option:: -fmodules-cache-path=<directory>
968
969Specify the module cache path
970
Richard Smith081ad4d2017-01-24 19:39:46 +0000971.. option:: -fmodules-disable-diagnostic-validation
972
973Disable validation of the diagnostic options when loading the module
974
Richard Smith081ad4d2017-01-24 19:39:46 +0000975.. option:: -fmodules-prune-after=<seconds>
976
977Specify the interval (in seconds) after which a module file will be considered unused
978
Richard Smith081ad4d2017-01-24 19:39:46 +0000979.. option:: -fmodules-prune-interval=<seconds>
980
981Specify the interval (in seconds) between attempts to prune the module cache
982
Richard Smith081ad4d2017-01-24 19:39:46 +0000983.. option:: -fmodules-user-build-path <directory>
984
985Specify the module user build path
986
Richard Smith081ad4d2017-01-24 19:39:46 +0000987.. option:: -fmodules-validate-once-per-build-session
988
989Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
990
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000991.. option:: -fmodules-validate-system-headers, -fno-modules-validate-system-headers
Richard Smith081ad4d2017-01-24 19:39:46 +0000992
993Validate the system headers that a module depends on when loading the module
994
Richard Smith081ad4d2017-01-24 19:39:46 +0000995.. option:: -fprebuilt-module-path=<directory>
996
997Specify the prebuilt module path
998
Richard Smith081ad4d2017-01-24 19:39:46 +0000999.. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg>
1000
1001Add directory to AFTER include search path
1002
Richard Smith081ad4d2017-01-24 19:39:46 +00001003.. option:: -iframework<arg>
1004
1005Add directory to SYSTEM framework search path
1006
Richard Smith78e23fd2017-04-13 22:39:49 +00001007.. option:: -iframeworkwithsysroot<directory>
1008
1009Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
1010
Richard Smith081ad4d2017-01-24 19:39:46 +00001011.. option:: -imacros<file>, --imacros<file>, --imacros=<arg>
1012
1013Include macros from file before parsing
1014
Richard Smith081ad4d2017-01-24 19:39:46 +00001015.. option:: -include<file>, --include<file>, --include=<arg>
1016
1017Include file before parsing
1018
Richard Smith081ad4d2017-01-24 19:39:46 +00001019.. option:: -include-pch <file>
1020
1021Include precompiled header file
1022
Richard Smith081ad4d2017-01-24 19:39:46 +00001023.. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg>
1024
1025Set the -iwithprefix/-iwithprefixbefore prefix
1026
Richard Smith081ad4d2017-01-24 19:39:46 +00001027.. option:: -iquote<directory>
1028
1029Add directory to QUOTE include search path
1030
Richard Smith081ad4d2017-01-24 19:39:46 +00001031.. option:: -isysroot<dir>
1032
1033Set the system root directory (usually /)
1034
Richard Smith081ad4d2017-01-24 19:39:46 +00001035.. option:: -isystem<directory>
1036
1037Add directory to SYSTEM include search path
1038
Richard Smith081ad4d2017-01-24 19:39:46 +00001039.. option:: -isystem-after<directory>
1040
1041Add directory to end of the SYSTEM include search path
1042
Richard Smith081ad4d2017-01-24 19:39:46 +00001043.. option:: -ivfsoverlay<arg>
1044
1045Overlay the virtual filesystem described by file over the real file system
1046
Richard Smith081ad4d2017-01-24 19:39:46 +00001047.. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg>
1048
1049Set directory to SYSTEM include search path with prefix
1050
Richard Smith081ad4d2017-01-24 19:39:46 +00001051.. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg>
1052
1053Set directory to include search path with prefix
1054
Richard Smith081ad4d2017-01-24 19:39:46 +00001055.. option:: -iwithsysroot<directory>
1056
1057Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
1058
Richard Smith081ad4d2017-01-24 19:39:46 +00001059.. option:: --ptxas-path=<arg>
1060
1061Path to ptxas (used for compiling CUDA code)
1062
Richard Smith081ad4d2017-01-24 19:39:46 +00001063.. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg>
1064
1065Treat all #include paths starting with <prefix> as including a system header.
1066
1067Dependency file generation
Richard Smithc5b2e002017-01-27 02:08:37 +00001068--------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001069
1070Flags controlling generation of a dependency file for ``make``-like build
1071systems.
1072
Richard Smith081ad4d2017-01-24 19:39:46 +00001073.. option:: -M, --dependencies
1074
1075Like -MD, but also implies -E and writes to stdout by default
1076
Richard Smith081ad4d2017-01-24 19:39:46 +00001077.. option:: -MD, --write-dependencies
1078
1079Write a depfile containing user and system headers
1080
Richard Smith081ad4d2017-01-24 19:39:46 +00001081.. option:: -MF<file>
1082
1083Write depfile output from -MMD, -MD, -MM, or -M to <file>
1084
Richard Smith081ad4d2017-01-24 19:39:46 +00001085.. option:: -MG, --print-missing-file-dependencies
1086
1087Add missing headers to depfile
1088
Richard Smith081ad4d2017-01-24 19:39:46 +00001089.. option:: -MJ<arg>
1090
1091Write a compilation database entry per input
1092
Richard Smith081ad4d2017-01-24 19:39:46 +00001093.. option:: -MM, --user-dependencies
1094
1095Like -MMD, but also implies -E and writes to stdout by default
1096
Richard Smith081ad4d2017-01-24 19:39:46 +00001097.. option:: -MMD, --write-user-dependencies
1098
1099Write a depfile containing user headers
1100
Richard Smith081ad4d2017-01-24 19:39:46 +00001101.. option:: -MP
1102
1103Create phony target for each dependency (other than main file)
1104
Richard Smith081ad4d2017-01-24 19:39:46 +00001105.. option:: -MQ<arg>
1106
1107Specify name of main file output to quote in depfile
1108
Richard Smith081ad4d2017-01-24 19:39:46 +00001109.. option:: -MT<arg>
1110
1111Specify name of main file output in depfile
1112
Richard Smith081ad4d2017-01-24 19:39:46 +00001113.. option:: -MV
1114
1115Use NMake/Jom format for the depfile
1116
1117Dumping preprocessor state
Richard Smithc5b2e002017-01-27 02:08:37 +00001118--------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001119
1120Flags allowing the state of the preprocessor to be dumped in various ways.
1121
Richard Smith081ad4d2017-01-24 19:39:46 +00001122.. option:: -d
1123
Richard Smithb2c82a62017-01-27 01:54:42 +00001124.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001125.. option:: -d<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001126.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001127
Richard Smith081ad4d2017-01-24 19:39:46 +00001128.. option:: -dA
1129
Richard Smith081ad4d2017-01-24 19:39:46 +00001130.. option:: -dD
1131
1132Print macro definitions in -E mode in addition to normal output
1133
Richard Smith081ad4d2017-01-24 19:39:46 +00001134.. option:: -dI
1135
1136Print include directives in -E mode in addition to normal output
1137
Richard Smith081ad4d2017-01-24 19:39:46 +00001138.. option:: -dM
1139
1140Print macro definitions in -E mode instead of normal output
1141
1142Diagnostic flags
1143~~~~~~~~~~~~~~~~
1144
1145Flags controlling which warnings, errors, and remarks Clang will generate.
1146See the :doc:`full list of warning and remark flags <DiagnosticsReference>`.
1147
Richard Smith081ad4d2017-01-24 19:39:46 +00001148.. option:: -R<remark>
1149
1150Enable the specified remark
1151
Richard Smith081ad4d2017-01-24 19:39:46 +00001152.. option:: -Rpass-analysis=<arg>
1153
1154Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
1155
Richard Smith081ad4d2017-01-24 19:39:46 +00001156.. option:: -Rpass-missed=<arg>
1157
1158Report missed transformations by optimization passes whose name matches the given POSIX regular expression
1159
Richard Smith081ad4d2017-01-24 19:39:46 +00001160.. option:: -Rpass=<arg>
1161
1162Report transformations performed by optimization passes whose name matches the given POSIX regular expression
1163
Richard Smith081ad4d2017-01-24 19:39:46 +00001164.. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg>
1165
1166Enable the specified warning
1167
Richard Smith081ad4d2017-01-24 19:39:46 +00001168.. option:: -Wdeprecated, -Wno-deprecated
1169
Richard Smithc5b2e002017-01-27 02:08:37 +00001170Enable warnings for deprecated constructs and define \_\_DEPRECATED
Richard Smith081ad4d2017-01-24 19:39:46 +00001171
Richard Smith081ad4d2017-01-24 19:39:46 +00001172.. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg>
1173
Richard Smith081ad4d2017-01-24 19:39:46 +00001174Target-independent compilation options
1175~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Richard Smith081ad4d2017-01-24 19:39:46 +00001176.. option:: -Wframe-larger-than=<arg>
1177
Richard Smith081ad4d2017-01-24 19:39:46 +00001178.. option:: -fPIC, -fno-PIC
1179
Richard Smith081ad4d2017-01-24 19:39:46 +00001180.. option:: -fPIE, -fno-PIE
1181
Richard Smith081ad4d2017-01-24 19:39:46 +00001182.. option:: -faccess-control, -fno-access-control
1183
Vedant Kumar368540f2018-08-23 17:55:03 +00001184.. option:: -faddrsig, -fno-addrsig
1185
1186Emit an address-significance table
1187
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001188.. option:: -falign-functions, -fno-align-functions
1189
1190.. program:: clang1
1191.. option:: -falign-functions=<arg>
1192.. program:: clang
1193
Richard Smithb2c82a62017-01-27 01:54:42 +00001194.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001195.. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation
Richard Smithb2c82a62017-01-27 01:54:42 +00001196.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001197
1198Enable C++17 aligned allocation functions
1199
Craig Topperd23254a2017-07-20 17:52:48 +00001200.. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders
1201
1202Treat editor placeholders as valid source code
1203
Richard Smith081ad4d2017-01-24 19:39:46 +00001204.. option:: -fallow-unsupported
1205
Richard Smith78e23fd2017-04-13 22:39:49 +00001206.. option:: -faltivec, -fno-altivec
Richard Smith081ad4d2017-01-24 19:39:46 +00001207
Richard Smith081ad4d2017-01-24 19:39:46 +00001208.. option:: -fansi-escape-codes
1209
1210Use ANSI escape codes for diagnostics
1211
Richard Smith081ad4d2017-01-24 19:39:46 +00001212.. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables
1213
1214Use Apple's kernel extensions ABI
1215
Richard Smith081ad4d2017-01-24 19:39:46 +00001216.. option:: -fapple-pragma-pack, -fno-apple-pragma-pack
1217
1218Enable Apple gcc-compatible #pragma pack handling
1219
Richard Smith081ad4d2017-01-24 19:39:46 +00001220.. option:: -fapplication-extension, -fno-application-extension
1221
1222Restrict code to those available for App Extensions
1223
Richard Smith081ad4d2017-01-24 19:39:46 +00001224.. option:: -fasm, -fno-asm
1225
Richard Smith081ad4d2017-01-24 19:39:46 +00001226.. option:: -fasm-blocks, -fno-asm-blocks
1227
Richard Smith081ad4d2017-01-24 19:39:46 +00001228.. option:: -fassociative-math, -fno-associative-math
1229
Richard Smith081ad4d2017-01-24 19:39:46 +00001230.. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new
1231
Richard Smith081ad4d2017-01-24 19:39:46 +00001232.. option:: -fast
1233
Richard Smith081ad4d2017-01-24 19:39:46 +00001234.. option:: -fastcp
1235
Richard Smith081ad4d2017-01-24 19:39:46 +00001236.. option:: -fastf
1237
Richard Smith081ad4d2017-01-24 19:39:46 +00001238.. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables
1239
Richard Smith081ad4d2017-01-24 19:39:46 +00001240.. option:: -fautolink, -fno-autolink
1241
Richard Smith081ad4d2017-01-24 19:39:46 +00001242.. option:: -fblocks, -fno-blocks
1243
1244Enable the 'blocks' language feature
1245
Richard Smith081ad4d2017-01-24 19:39:46 +00001246.. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg>
1247
Richard Smith081ad4d2017-01-24 19:39:46 +00001248.. option:: -fborland-extensions, -fno-borland-extensions
1249
1250Accept non-standard constructs supported by the Borland compiler
1251
Richard Smith081ad4d2017-01-24 19:39:46 +00001252.. option:: -fbracket-depth=<arg>
1253
Richard Smith081ad4d2017-01-24 19:39:46 +00001254.. option:: -fbuiltin, -fno-builtin
1255
Richard Smith081ad4d2017-01-24 19:39:46 +00001256.. option:: -fbuiltin-module-map
1257
1258Load the clang builtins module map file.
1259
Vedant Kumar368540f2018-08-23 17:55:03 +00001260.. option:: -fc++-static-destructors, -fno-c++-static-destructors
1261
1262Enable C++ static destructor registration (the default)
1263
Richard Smith081ad4d2017-01-24 19:39:46 +00001264.. option:: -fcaret-diagnostics, -fno-caret-diagnostics
1265
Craig Topper596527b2018-01-23 18:40:15 +00001266.. option:: -fcf-protection=<arg>, -fcf-protection (equivalent to -fcf-protection=full)
1267
1268Instrument control-flow architecture protection. Options: return, branch, full, none.
1269
Vedant Kumar368540f2018-08-23 17:55:03 +00001270.. option:: -fchar8\_t, -fno-char8\_t
1271
1272Enable C++ builtin type char8\_t
1273
Richard Smith081ad4d2017-01-24 19:39:46 +00001274.. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg>
1275
Richard Smith081ad4d2017-01-24 19:39:46 +00001276.. option:: -fcolor-diagnostics, -fno-color-diagnostics
1277
1278Use colors in diagnostics
1279
Richard Smith081ad4d2017-01-24 19:39:46 +00001280.. option:: -fcommon, -fno-common
1281
Richard Smith081ad4d2017-01-24 19:39:46 +00001282.. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg>
1283
Richard Smith081ad4d2017-01-24 19:39:46 +00001284.. option:: -fconstant-cfstrings, -fno-constant-cfstrings
1285
Richard Smith081ad4d2017-01-24 19:39:46 +00001286.. option:: -fconstant-string-class=<arg>
1287
Richard Smith081ad4d2017-01-24 19:39:46 +00001288.. option:: -fconstexpr-backtrace-limit=<arg>
1289
Richard Smith081ad4d2017-01-24 19:39:46 +00001290.. option:: -fconstexpr-depth=<arg>
1291
Richard Smith081ad4d2017-01-24 19:39:46 +00001292.. option:: -fconstexpr-steps=<arg>
1293
Richard Smith081ad4d2017-01-24 19:39:46 +00001294.. option:: -fcoroutines-ts, -fno-coroutines-ts
1295
1296Enable support for the C++ Coroutines TS
1297
Richard Smith081ad4d2017-01-24 19:39:46 +00001298.. option:: -fcoverage-mapping, -fno-coverage-mapping
1299
1300Generate coverage mapping to enable code coverage analysis
1301
Richard Smith081ad4d2017-01-24 19:39:46 +00001302.. option:: -fcreate-profile
1303
Richard Smith081ad4d2017-01-24 19:39:46 +00001304.. option:: -fcxx-exceptions, -fno-cxx-exceptions
1305
1306Enable C++ exceptions
1307
Richard Smith081ad4d2017-01-24 19:39:46 +00001308.. option:: -fcxx-modules, -fno-cxx-modules
1309
Richard Smith081ad4d2017-01-24 19:39:46 +00001310.. option:: -fdata-sections, -fno-data-sections
1311
1312Place each data in its own section (ELF Only)
1313
Richard Smith081ad4d2017-01-24 19:39:46 +00001314.. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling
1315
1316Emit extra debug info to make sample profile more accurate.
1317
Richard Smith78e23fd2017-04-13 22:39:49 +00001318.. option:: -fdebug-macro, -fno-debug-macro
1319
1320Emit macro debug information
1321
Richard Smith081ad4d2017-01-24 19:39:46 +00001322.. option:: -fdebug-pass-arguments
1323
Richard Smith081ad4d2017-01-24 19:39:46 +00001324.. option:: -fdebug-pass-structure
1325
Richard Smith081ad4d2017-01-24 19:39:46 +00001326.. option:: -fdebug-prefix-map=<arg>
1327
1328remap file source paths in debug info
1329
Richard Smith081ad4d2017-01-24 19:39:46 +00001330.. option:: -fdebug-types-section, -fno-debug-types-section
1331
1332Place debug types in their own section (ELF Only)
1333
Richard Smith081ad4d2017-01-24 19:39:46 +00001334.. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing
1335
1336Parse templated function definitions at the end of the translation unit
1337
Vedant Kumar368540f2018-08-23 17:55:03 +00001338.. option:: -fdelete-null-pointer-checks, -fno-delete-null-pointer-checks
1339
1340Treat usage of null pointers as undefined behavior.
1341
Richard Smith081ad4d2017-01-24 19:39:46 +00001342.. option:: -fdenormal-fp-math=<arg>
1343
Richard Smith081ad4d2017-01-24 19:39:46 +00001344.. option:: -fdiagnostics-absolute-paths
1345
1346Print absolute paths in diagnostics
1347
Richard Smith081ad4d2017-01-24 19:39:46 +00001348.. option:: -fdiagnostics-color, -fno-diagnostics-color
1349
Richard Smithb2c82a62017-01-27 01:54:42 +00001350.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001351.. option:: -fdiagnostics-color=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001352.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001353
Craig Topperd23254a2017-07-20 17:52:48 +00001354.. option:: -fdiagnostics-hotness-threshold=<number>
1355
1356Prevent optimization remarks from being output if they do not have at least this profile count
1357
Richard Smith081ad4d2017-01-24 19:39:46 +00001358.. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness
1359
1360Enable profile hotness information in diagnostic line
1361
Richard Smith081ad4d2017-01-24 19:39:46 +00001362.. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack
1363
1364Display include stacks for diagnostic notes
1365
Richard Smith081ad4d2017-01-24 19:39:46 +00001366.. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option
1367
1368Print option name with mappable diagnostics
1369
Richard Smith081ad4d2017-01-24 19:39:46 +00001370.. option:: -fdiagnostics-show-template-tree
1371
1372Print a template comparison tree for differing templates
1373
Vedant Kumar368540f2018-08-23 17:55:03 +00001374.. option:: -fdigraphs, -fno-digraphs
1375
1376Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
1377
Richard Smith081ad4d2017-01-24 19:39:46 +00001378.. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers
1379
1380Allow '$' in identifiers
1381
Craig Topper16418662017-11-20 18:07:43 +00001382.. option:: -fdouble-square-bracket-attributes, -fno-double-square-bracket-attributes
1383
1384Enable '\[\[\]\]' attributes in all C and C++ language modes
1385
Richard Smith081ad4d2017-01-24 19:39:46 +00001386.. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm
1387
Craig Topper188252d2017-12-11 21:09:16 +00001388.. option:: -fdwarf-exceptions
1389
1390Use DWARF style exceptions
1391
Richard Smith081ad4d2017-01-24 19:39:46 +00001392.. option:: -felide-constructors, -fno-elide-constructors
1393
Richard Smith081ad4d2017-01-24 19:39:46 +00001394.. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols
1395
Richard Smith081ad4d2017-01-24 19:39:46 +00001396.. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker)
1397
1398Embed LLVM bitcode (option: off, all, bitcode, marker)
1399
Richard Smith081ad4d2017-01-24 19:39:46 +00001400.. option:: -femit-all-decls
1401
1402Emit all declarations, even if unused
1403
Richard Smith081ad4d2017-01-24 19:39:46 +00001404.. option:: -femulated-tls, -fno-emulated-tls
1405
1406Use emutls functions to access thread\_local variables
1407
Richard Smith081ad4d2017-01-24 19:39:46 +00001408.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg>
1409
Richard Smith081ad4d2017-01-24 19:39:46 +00001410.. option:: -ferror-limit=<arg>
1411
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001412.. option:: -fescaping-block-tail-calls, -fno-escaping-block-tail-calls
1413
Richard Smith081ad4d2017-01-24 19:39:46 +00001414.. option:: -fexceptions, -fno-exceptions
1415
1416Enable support for exception handling
1417
Richard Smith081ad4d2017-01-24 19:39:46 +00001418.. option:: -fexec-charset=<arg>
1419
Richard Smith081ad4d2017-01-24 19:39:46 +00001420.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg>
1421
Richard Smith081ad4d2017-01-24 19:39:46 +00001422.. option:: -ffast-math, -fno-fast-math
1423
1424Allow aggressive, lossy floating-point optimizations
1425
Richard Smith081ad4d2017-01-24 19:39:46 +00001426.. option:: -ffinite-math-only, -fno-finite-math-only
1427
Vedant Kumar368540f2018-08-23 17:55:03 +00001428.. option:: -ffixed-point, -fno-fixed-point
1429
1430Enable fixed point types
1431
Richard Smith081ad4d2017-01-24 19:39:46 +00001432.. option:: -ffor-scope, -fno-for-scope
1433
Vedant Kumar368540f2018-08-23 17:55:03 +00001434.. option:: -fforce-emit-vtables, -fno-force-emit-vtables
1435
1436Emits more virtual tables to improve devirtualization
1437
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001438.. option:: -fforce-enable-int128, -fno-force-enable-int128
1439
1440Enable support for int128\_t type
1441
Richard Smith081ad4d2017-01-24 19:39:46 +00001442.. option:: -ffp-contract=<arg>
1443
1444Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma, default) \| off (never fuse)
1445
Richard Smith081ad4d2017-01-24 19:39:46 +00001446.. option:: -ffreestanding
1447
1448Assert that the compilation takes place in a freestanding environment
1449
Richard Smith081ad4d2017-01-24 19:39:46 +00001450.. option:: -ffunction-sections, -fno-function-sections
1451
1452Place each function in its own section (ELF Only)
1453
Richard Smith081ad4d2017-01-24 19:39:46 +00001454.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm
1455
Richard Smith081ad4d2017-01-24 19:39:46 +00001456.. option:: -fgnu-keywords, -fno-gnu-keywords
1457
1458Allow GNU-extension keywords regardless of language standard
1459
Richard Smith081ad4d2017-01-24 19:39:46 +00001460.. option:: -fgnu-runtime
1461
1462Generate output compatible with the standard GNU Objective-C runtime
1463
Richard Smith081ad4d2017-01-24 19:39:46 +00001464.. option:: -fgnu89-inline, -fno-gnu89-inline
1465
1466Use the gnu89 inline semantics
1467
Richard Smith081ad4d2017-01-24 19:39:46 +00001468.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities
1469
Richard Smith081ad4d2017-01-24 19:39:46 +00001470.. option:: -fhonor-nans, -fno-honor-nans
1471
Richard Smith081ad4d2017-01-24 19:39:46 +00001472.. option:: -fhosted
1473
Richard Smith081ad4d2017-01-24 19:39:46 +00001474.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps
1475
1476Implicitly search the file system for module map files.
1477
Richard Smith081ad4d2017-01-24 19:39:46 +00001478.. option:: -fimplicit-modules, -fno-implicit-modules
1479
Richard Smith081ad4d2017-01-24 19:39:46 +00001480.. option:: -finput-charset=<arg>
1481
Craig Topper188252d2017-12-11 21:09:16 +00001482.. option:: -finstrument-function-entry-bare
1483
1484Instrument function entry only, after inlining, without arguments to the instrumentation call
1485
Richard Smith081ad4d2017-01-24 19:39:46 +00001486.. option:: -finstrument-functions
1487
1488Generate calls to instrument function entry and exit
1489
Craig Topper16418662017-11-20 18:07:43 +00001490.. option:: -finstrument-functions-after-inlining
1491
1492Like -finstrument-functions, but insert the calls after inlining
1493
Richard Smith081ad4d2017-01-24 19:39:46 +00001494.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as
1495
1496Enable the integrated assembler
1497
Richard Smith081ad4d2017-01-24 19:39:46 +00001498.. option:: -fjump-tables, -fno-jump-tables
1499
Vedant Kumar368540f2018-08-23 17:55:03 +00001500.. option:: -fkeep-static-consts
1501
1502Keep static const variables even if unused
1503
Richard Smith081ad4d2017-01-24 19:39:46 +00001504.. option:: -flax-vector-conversions, -fno-lax-vector-conversions
1505
Richard Smith081ad4d2017-01-24 19:39:46 +00001506.. option:: -flimited-precision=<arg>
1507
Richard Smith081ad4d2017-01-24 19:39:46 +00001508.. option:: -flto, -fno-lto
1509
1510Enable LTO in 'full' mode
1511
Richard Smith081ad4d2017-01-24 19:39:46 +00001512.. option:: -flto-jobs=<arg>
1513
1514Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
1515
Richard Smithb2c82a62017-01-27 01:54:42 +00001516.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001517.. option:: -flto=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001518.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001519
1520Set LTO mode to either 'full' or 'thin'
1521
Richard Smith081ad4d2017-01-24 19:39:46 +00001522.. option:: -fmacro-backtrace-limit=<arg>
1523
Richard Smith081ad4d2017-01-24 19:39:46 +00001524.. option:: -fmath-errno, -fno-math-errno
1525
1526Require math functions to indicate errors by setting errno
1527
Richard Smith081ad4d2017-01-24 19:39:46 +00001528.. option:: -fmax-type-align=<arg>
1529
1530Specify the maximum alignment to enforce on pointers lacking an explicit alignment
1531
Richard Smith081ad4d2017-01-24 19:39:46 +00001532.. option:: -fmerge-all-constants, -fno-merge-all-constants
1533
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001534Allow merging of constants
1535
Richard Smith081ad4d2017-01-24 19:39:46 +00001536.. option:: -fmessage-length=<arg>
1537
Richard Smith081ad4d2017-01-24 19:39:46 +00001538.. option:: -fmodule-file-deps, -fno-module-file-deps
1539
Richard Smith081ad4d2017-01-24 19:39:46 +00001540.. option:: -fmodule-map-file=<file>
1541
1542Load this module map file
1543
Richard Smith081ad4d2017-01-24 19:39:46 +00001544.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg>
1545
1546Specify the name of the module to build
1547
Richard Smith081ad4d2017-01-24 19:39:46 +00001548.. option:: -fmodules, -fno-modules
1549
1550Enable the 'modules' language feature
1551
Richard Smith081ad4d2017-01-24 19:39:46 +00001552.. option:: -fmodules-decluse, -fno-modules-decluse
1553
1554Require declaration of modules used within a module
1555
Richard Smith081ad4d2017-01-24 19:39:46 +00001556.. option:: -fmodules-ignore-macro=<arg>
1557
1558Ignore the definition of the given macro when building and loading modules
1559
Richard Smith081ad4d2017-01-24 19:39:46 +00001560.. option:: -fmodules-search-all, -fno-modules-search-all
1561
1562Search even non-imported modules to resolve references
1563
Richard Smith081ad4d2017-01-24 19:39:46 +00001564.. option:: -fmodules-strict-decluse
1565
1566Like -fmodules-decluse but requires all headers to be in modules
1567
Richard Smith081ad4d2017-01-24 19:39:46 +00001568.. option:: -fmodules-ts
1569
1570Enable support for the C++ Modules TS
1571
Richard Smith081ad4d2017-01-24 19:39:46 +00001572.. option:: -fms-compatibility, -fno-ms-compatibility
1573
1574Enable full Microsoft Visual C++ compatibility
1575
Richard Smith081ad4d2017-01-24 19:39:46 +00001576.. option:: -fms-compatibility-version=<arg>
1577
1578Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1579
Richard Smith081ad4d2017-01-24 19:39:46 +00001580.. option:: -fms-extensions, -fno-ms-extensions
1581
1582Accept some non-standard constructs supported by the Microsoft compiler
1583
Richard Smith081ad4d2017-01-24 19:39:46 +00001584.. option:: -fms-memptr-rep=<arg>
1585
Richard Smith081ad4d2017-01-24 19:39:46 +00001586.. option:: -fms-volatile<arg>
1587
Richard Smith081ad4d2017-01-24 19:39:46 +00001588.. option:: -fmsc-version=<arg>
1589
1590Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1591
Richard Smith081ad4d2017-01-24 19:39:46 +00001592.. option:: -fmudflap
1593
Richard Smith081ad4d2017-01-24 19:39:46 +00001594.. option:: -fmudflapth
1595
Richard Smith081ad4d2017-01-24 19:39:46 +00001596.. option:: -fnested-functions
1597
Richard Smith081ad4d2017-01-24 19:39:46 +00001598.. option:: -fnew-alignment=<align>, -fnew-alignment <arg>
1599
1600Specifies the largest alignment guaranteed by '::operator new(size\_t)'
1601
Richard Smith081ad4d2017-01-24 19:39:46 +00001602.. option:: -fnext-runtime
1603
Richard Smith081ad4d2017-01-24 19:39:46 +00001604.. option:: -fno-builtin-<arg>
1605
1606Disable implicit builtin knowledge of a specific function
1607
Richard Smith081ad4d2017-01-24 19:39:46 +00001608.. option:: -fno-elide-type
1609
1610Do not elide types when printing diagnostics
1611
Richard Smith081ad4d2017-01-24 19:39:46 +00001612.. option:: -fno-max-type-align
1613
Richard Smith081ad4d2017-01-24 19:39:46 +00001614.. option:: -fno-operator-names
1615
1616Do not treat C++ operator name keywords as synonyms for operators
1617
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001618.. option:: -fno-rtti-data
1619
1620Control emission of RTTI data
1621
Richard Smith081ad4d2017-01-24 19:39:46 +00001622.. option:: -fno-strict-modules-decluse
1623
Richard Smith081ad4d2017-01-24 19:39:46 +00001624.. option:: -fno-working-directory
1625
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001626.. option:: -fnoxray-link-deps
1627
Richard Smith081ad4d2017-01-24 19:39:46 +00001628.. option:: -fobjc-abi-version=<arg>
1629
Richard Smith081ad4d2017-01-24 19:39:46 +00001630.. option:: -fobjc-arc, -fno-objc-arc
1631
1632Synthesize retain and release calls for Objective-C pointers
1633
Richard Smith081ad4d2017-01-24 19:39:46 +00001634.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions
1635
1636Use EH-safe code when synthesizing retains and releases in -fobjc-arc
1637
Richard Smith081ad4d2017-01-24 19:39:46 +00001638.. option:: -fobjc-exceptions, -fno-objc-exceptions
1639
1640Enable Objective-C exceptions
1641
Richard Smith081ad4d2017-01-24 19:39:46 +00001642.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type
1643
Richard Smith081ad4d2017-01-24 19:39:46 +00001644.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch
1645
Richard Smith081ad4d2017-01-24 19:39:46 +00001646.. option:: -fobjc-link-runtime
1647
Richard Smith081ad4d2017-01-24 19:39:46 +00001648.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi
1649
Richard Smith081ad4d2017-01-24 19:39:46 +00001650.. option:: -fobjc-nonfragile-abi-version=<arg>
1651
Richard Smith081ad4d2017-01-24 19:39:46 +00001652.. option:: -fobjc-runtime=<arg>
1653
1654Specify the target Objective-C runtime kind and version
1655
Richard Smith081ad4d2017-01-24 19:39:46 +00001656.. option:: -fobjc-sender-dependent-dispatch
1657
Richard Smith081ad4d2017-01-24 19:39:46 +00001658.. option:: -fobjc-weak, -fno-objc-weak
1659
1660Enable ARC-style weak references in Objective-C
1661
Richard Smith081ad4d2017-01-24 19:39:46 +00001662.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer
1663
Richard Smith081ad4d2017-01-24 19:39:46 +00001664.. option:: -fopenmp, -fno-openmp
1665
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00001666Parse OpenMP pragmas and generate parallel code.
Boris Kolpackovb150d242017-08-30 09:15:53 +00001667
Craig Topper287c8012018-01-03 18:29:12 +00001668.. option:: -fopenmp-simd, -fno-openmp-simd
1669
1670Emit OpenMP code only for SIMD-based constructs.
1671
Richard Smith081ad4d2017-01-24 19:39:46 +00001672.. option:: -fopenmp-version=<arg>
1673
Richard Smithb2c82a62017-01-27 01:54:42 +00001674.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001675.. option:: -fopenmp=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001676.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001677
Richard Smith081ad4d2017-01-24 19:39:46 +00001678.. option:: -foperator-arrow-depth=<arg>
1679
Richard Smith081ad4d2017-01-24 19:39:46 +00001680.. option:: -foptimization-record-file=<arg>
1681
1682Specify the file name of any generated YAML optimization record
1683
Richard Smith081ad4d2017-01-24 19:39:46 +00001684.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls
1685
Richard Smith081ad4d2017-01-24 19:39:46 +00001686.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg>
1687
Richard Smith081ad4d2017-01-24 19:39:46 +00001688.. option:: -fpack-struct, -fno-pack-struct
1689
Richard Smithb2c82a62017-01-27 01:54:42 +00001690.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001691.. option:: -fpack-struct=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001692.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001693
1694Specify the default maximum struct packing alignment
1695
Richard Smith081ad4d2017-01-24 19:39:46 +00001696.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings
1697
1698Recognize and construct Pascal-style string literals
1699
Richard Smith081ad4d2017-01-24 19:39:46 +00001700.. option:: -fpcc-struct-return
1701
1702Override the default ABI to return all structs on the stack
1703
Richard Smith081ad4d2017-01-24 19:39:46 +00001704.. option:: -fpch-preprocess
1705
Richard Smith081ad4d2017-01-24 19:39:46 +00001706.. option:: -fpic, -fno-pic
1707
Richard Smith081ad4d2017-01-24 19:39:46 +00001708.. option:: -fpie, -fno-pie
1709
Craig Topper16418662017-11-20 18:07:43 +00001710.. option:: -fplt, -fno-plt
1711
1712Use the PLT to make function calls
1713
Richard Smith081ad4d2017-01-24 19:39:46 +00001714.. option:: -fplugin=<dsopath>
1715
1716Load the named plugin (dynamic shared object)
1717
Richard Smith081ad4d2017-01-24 19:39:46 +00001718.. option:: -fpreserve-as-comments, -fno-preserve-as-comments
1719
Richard Smith081ad4d2017-01-24 19:39:46 +00001720.. option:: -fprofile-arcs, -fno-profile-arcs
1721
Richard Smith081ad4d2017-01-24 19:39:46 +00001722.. option:: -fprofile-dir=<arg>
1723
Richard Smith081ad4d2017-01-24 19:39:46 +00001724.. option:: -fprofile-generate, -fno-profile-generate
1725
1726Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1727
Richard Smithb2c82a62017-01-27 01:54:42 +00001728.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001729.. option:: -fprofile-generate=<directory>
Richard Smithb2c82a62017-01-27 01:54:42 +00001730.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001731
1732Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1733
Richard Smith081ad4d2017-01-24 19:39:46 +00001734.. option:: -fprofile-instr-generate, -fno-profile-instr-generate
1735
1736Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)
1737
Richard Smithb2c82a62017-01-27 01:54:42 +00001738.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001739.. option:: -fprofile-instr-generate=<file>
Richard Smithb2c82a62017-01-27 01:54:42 +00001740.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001741
1742Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var)
1743
Richard Smith081ad4d2017-01-24 19:39:46 +00001744.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use
1745
Richard Smithb2c82a62017-01-27 01:54:42 +00001746.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001747.. option:: -fprofile-instr-use=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001748.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001749
1750Use instrumentation data for profile-guided optimization
1751
Boris Kolpackovb150d242017-08-30 09:15:53 +00001752.. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate
1753
1754Specifies that the sample profile is accurate. If the sample
1755 profile is accurate, callsites without profile samples are marked
1756 as cold. Otherwise, treat callsites without profile samples as if
1757 we have no profile
1758
Richard Smith78e23fd2017-04-13 22:39:49 +00001759.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use
1760
1761.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001762.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg>
Richard Smith78e23fd2017-04-13 22:39:49 +00001763.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001764
1765Enable sample-based profile guided optimizations
1766
Richard Smithb2c82a62017-01-27 01:54:42 +00001767.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001768.. option:: -fprofile-use=<pathname>
Richard Smithb2c82a62017-01-27 01:54:42 +00001769.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001770
1771Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
1772
Richard Smith081ad4d2017-01-24 19:39:46 +00001773.. option:: -freciprocal-math, -fno-reciprocal-math
1774
1775Allow division operations to be reassociated
1776
Richard Smith081ad4d2017-01-24 19:39:46 +00001777.. option:: -freg-struct-return
1778
1779Override the default ABI to return small structs in registers
1780
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001781.. option:: -fregister-global-dtors-with-atexit, -fno-register-global-dtors-with-atexit
1782
1783Use atexit or \_\_cxa\_atexit to register global destructors
1784
Richard Smith081ad4d2017-01-24 19:39:46 +00001785.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args
1786
1787Enable C++17 relaxed template template argument matching
1788
Richard Smith081ad4d2017-01-24 19:39:46 +00001789.. option:: -freroll-loops, -fno-reroll-loops
1790
1791Turn on loop reroller
1792
Richard Smith081ad4d2017-01-24 19:39:46 +00001793.. option:: -fretain-comments-from-system-headers
1794
Craig Topperd23254a2017-07-20 17:52:48 +00001795.. option:: -frewrite-imports, -fno-rewrite-imports
1796
Richard Smith081ad4d2017-01-24 19:39:46 +00001797.. option:: -frewrite-includes, -fno-rewrite-includes
1798
Richard Smith081ad4d2017-01-24 19:39:46 +00001799.. option:: -frewrite-map-file <arg>
1800
Richard Smithb2c82a62017-01-27 01:54:42 +00001801.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001802.. option:: -frewrite-map-file=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001803.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001804
Richard Smith081ad4d2017-01-24 19:39:46 +00001805.. option:: -fropi, -fno-ropi
1806
Richard Smith081ad4d2017-01-24 19:39:46 +00001807.. option:: -frtti, -fno-rtti
1808
Richard Smith081ad4d2017-01-24 19:39:46 +00001809.. option:: -frwpi, -fno-rwpi
1810
Richard Smith081ad4d2017-01-24 19:39:46 +00001811.. option:: -fsave-optimization-record, -fno-save-optimization-record
1812
1813Generate a YAML optimization record file
1814
Craig Topper188252d2017-12-11 21:09:16 +00001815.. option:: -fseh-exceptions
1816
1817Use SEH style exceptions
1818
Richard Smith081ad4d2017-01-24 19:39:46 +00001819.. option:: -fshort-enums, -fno-short-enums
1820
1821Allocate to an enum type only as many bytes as it needs for the declared range of possible values
1822
Richard Smith081ad4d2017-01-24 19:39:46 +00001823.. option:: -fshort-wchar, -fno-short-wchar
1824
1825Force wchar\_t to be a short unsigned int
1826
Richard Smith081ad4d2017-01-24 19:39:46 +00001827.. option:: -fshow-column, -fno-show-column
1828
Richard Smith081ad4d2017-01-24 19:39:46 +00001829.. option:: -fshow-overloads=<arg>
1830
1831Which overload candidates to show when overload resolution fails: best\|all; defaults to all
1832
Richard Smith081ad4d2017-01-24 19:39:46 +00001833.. option:: -fshow-source-location, -fno-show-source-location
1834
Richard Smith081ad4d2017-01-24 19:39:46 +00001835.. option:: -fsignaling-math, -fno-signaling-math
1836
Richard Smith081ad4d2017-01-24 19:39:46 +00001837.. option:: -fsigned-bitfields
1838
Richard Smith081ad4d2017-01-24 19:39:46 +00001839.. option:: -fsigned-char, -fno-signed-char, --signed-char
1840
Richard Smith081ad4d2017-01-24 19:39:46 +00001841.. option:: -fsigned-zeros, -fno-signed-zeros
1842
Richard Smith081ad4d2017-01-24 19:39:46 +00001843.. option:: -fsized-deallocation, -fno-sized-deallocation
1844
1845Enable C++14 sized global deallocation functions
1846
Richard Smith081ad4d2017-01-24 19:39:46 +00001847.. option:: -fsjlj-exceptions
1848
1849Use SjLj style exceptions
1850
Richard Smith081ad4d2017-01-24 19:39:46 +00001851.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize
1852
1853Enable the superword-level parallelism vectorization passes
1854
Richard Smith081ad4d2017-01-24 19:39:46 +00001855.. option:: -fspell-checking, -fno-spell-checking
1856
Richard Smith081ad4d2017-01-24 19:39:46 +00001857.. option:: -fspell-checking-limit=<arg>
1858
Richard Smith081ad4d2017-01-24 19:39:46 +00001859.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining
1860
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00001861Provide 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 +00001862
Richard Smith081ad4d2017-01-24 19:39:46 +00001863.. option:: -fsplit-stack
1864
Richard Smith081ad4d2017-01-24 19:39:46 +00001865.. option:: -fstack-protector, -fno-stack-protector
1866
1867Enable stack protectors for functions potentially vulnerable to stack smashing
1868
Richard Smith081ad4d2017-01-24 19:39:46 +00001869.. option:: -fstack-protector-all
1870
1871Force the usage of stack protectors for all functions
1872
Richard Smith081ad4d2017-01-24 19:39:46 +00001873.. option:: -fstack-protector-strong
1874
1875Use a strong heuristic to apply stack protectors to functions
1876
Craig Topper596527b2018-01-23 18:40:15 +00001877.. option:: -fstack-size-section, -fno-stack-size-section
1878
1879Emit section containing metadata on function stack sizes
1880
Richard Smith081ad4d2017-01-24 19:39:46 +00001881.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug
1882
1883Emit full debug info for all types used by the program
1884
Richard Smith081ad4d2017-01-24 19:39:46 +00001885.. option:: -fstrict-aliasing, -fno-strict-aliasing
1886
Richard Smith081ad4d2017-01-24 19:39:46 +00001887.. option:: -fstrict-enums, -fno-strict-enums
1888
1889Enable optimizations based on the strict definition of an enum's value range
1890
Vedant Kumar368540f2018-08-23 17:55:03 +00001891.. option:: -fstrict-float-cast-overflow, -fno-strict-float-cast-overflow
1892
1893Assume that overflowing float-to-int casts are undefined (default)
1894
Richard Smith081ad4d2017-01-24 19:39:46 +00001895.. option:: -fstrict-overflow, -fno-strict-overflow
1896
Richard Smith081ad4d2017-01-24 19:39:46 +00001897.. option:: -fstrict-return, -fno-strict-return
1898
Richard Smith78e23fd2017-04-13 22:39:49 +00001899Always treat control flow paths that fall off the end of a non-void function as unreachable
Richard Smith081ad4d2017-01-24 19:39:46 +00001900
Richard Smith081ad4d2017-01-24 19:39:46 +00001901.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers
1902
1903Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
1904
Richard Smith081ad4d2017-01-24 19:39:46 +00001905.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa
1906
Richard Smith081ad4d2017-01-24 19:39:46 +00001907.. option:: -ftabstop=<arg>
1908
Richard Smith081ad4d2017-01-24 19:39:46 +00001909.. option:: -ftemplate-backtrace-limit=<arg>
1910
Richard Smith081ad4d2017-01-24 19:39:46 +00001911.. option:: -ftemplate-depth-<arg>
1912
Richard Smith081ad4d2017-01-24 19:39:46 +00001913.. option:: -ftemplate-depth=<arg>
1914
Richard Smith081ad4d2017-01-24 19:39:46 +00001915.. option:: -ftest-coverage
1916
Richard Smith081ad4d2017-01-24 19:39:46 +00001917.. option:: -fthinlto-index=<arg>
1918
1919Perform ThinLTO importing using provided function summary index
1920
Richard Smith081ad4d2017-01-24 19:39:46 +00001921.. option:: -fthreadsafe-statics, -fno-threadsafe-statics
1922
Richard Smith081ad4d2017-01-24 19:39:46 +00001923.. option:: -ftime-report
1924
Richard Smith081ad4d2017-01-24 19:39:46 +00001925.. option:: -ftls-model=<arg>
1926
Richard Smith081ad4d2017-01-24 19:39:46 +00001927.. option:: -ftrap-function=<arg>
1928
1929Issue call to specified function rather than a trap instruction
1930
Richard Smith081ad4d2017-01-24 19:39:46 +00001931.. option:: -ftrapping-math, -fno-trapping-math
1932
Richard Smith081ad4d2017-01-24 19:39:46 +00001933.. option:: -ftrapv
1934
1935Trap on integer overflow
1936
Richard Smith081ad4d2017-01-24 19:39:46 +00001937.. option:: -ftrapv-handler <arg>
1938
Richard Smithb2c82a62017-01-27 01:54:42 +00001939.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001940.. option:: -ftrapv-handler=<function name>
Richard Smithb2c82a62017-01-27 01:54:42 +00001941.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001942
1943Specify the function to be called on overflow
1944
Richard Smith081ad4d2017-01-24 19:39:46 +00001945.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs
1946
1947Process trigraph sequences
1948
Richard Smith081ad4d2017-01-24 19:39:46 +00001949.. option:: -funique-section-names, -fno-unique-section-names
1950
1951Use unique names for text and data sections (ELF Only)
1952
Richard Smith081ad4d2017-01-24 19:39:46 +00001953.. option:: -funit-at-a-time, -fno-unit-at-a-time
1954
Richard Smith081ad4d2017-01-24 19:39:46 +00001955.. option:: -funroll-loops, -fno-unroll-loops
1956
1957Turn on loop unroller
1958
Richard Smith081ad4d2017-01-24 19:39:46 +00001959.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations
1960
Richard Smith081ad4d2017-01-24 19:39:46 +00001961.. option:: -funsigned-bitfields
1962
Richard Smith081ad4d2017-01-24 19:39:46 +00001963.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char
1964
Richard Smith081ad4d2017-01-24 19:39:46 +00001965.. option:: -funwind-tables, -fno-unwind-tables
1966
Richard Smith081ad4d2017-01-24 19:39:46 +00001967.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit
1968
Richard Smith081ad4d2017-01-24 19:39:46 +00001969.. option:: -fuse-init-array, -fno-use-init-array
1970
1971Use .init\_array instead of .ctors
1972
Richard Smith081ad4d2017-01-24 19:39:46 +00001973.. option:: -fuse-ld=<arg>
1974
Richard Smith081ad4d2017-01-24 19:39:46 +00001975.. option:: -fuse-line-directives, -fno-use-line-directives
1976
Richard Smith081ad4d2017-01-24 19:39:46 +00001977.. option:: -fveclib=<arg>
1978
1979Use the given vector functions library
1980
Richard Smith081ad4d2017-01-24 19:39:46 +00001981.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize
1982
1983Enable the loop vectorization passes
1984
Richard Smith081ad4d2017-01-24 19:39:46 +00001985.. option:: -fverbose-asm, -fno-verbose-asm
1986
Richard Smith081ad4d2017-01-24 19:39:46 +00001987.. option:: -fvisibility-inlines-hidden
1988
Fangrui Songdf81b972018-07-19 22:45:41 +00001989Give inline C++ member functions hidden visibility by default
Richard Smith081ad4d2017-01-24 19:39:46 +00001990
Richard Smith081ad4d2017-01-24 19:39:46 +00001991.. option:: -fvisibility-ms-compat
1992
1993Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
1994
Richard Smith081ad4d2017-01-24 19:39:46 +00001995.. option:: -fvisibility=<arg>
1996
1997Set the default symbol visibility for all global declarations
1998
Richard Smith081ad4d2017-01-24 19:39:46 +00001999.. option:: -fwhole-program-vtables, -fno-whole-program-vtables
2000
2001Enables whole-program vtable optimization. Requires -flto
2002
Richard Smith081ad4d2017-01-24 19:39:46 +00002003.. option:: -fwrapv, -fno-wrapv
2004
2005Treat signed integer overflow as two's complement
2006
Richard Smith081ad4d2017-01-24 19:39:46 +00002007.. option:: -fwritable-strings
2008
2009Store string literals as writable data
2010
Craig Topper188252d2017-12-11 21:09:16 +00002011.. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents
2012
2013Determine whether to always emit \_\_xray\_customevent(...) calls even if the function it appears in is not always instrumented.
2014
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002015.. option:: -fxray-always-emit-typedevents, -fno-xray-always-emit-typedevents
2016
2017Determine whether to always emit \_\_xray\_typedevent(...) calls even if the function it appears in is not always instrumented.
2018
Richard Smith78e23fd2017-04-13 22:39:49 +00002019.. option:: -fxray-always-instrument=<arg>
2020
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002021DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
2022
2023.. option:: -fxray-attr-list=<arg>
2024
2025Filename defining the list of functions/types for imbuing XRay attributes.
Richard Smith78e23fd2017-04-13 22:39:49 +00002026
Richard Smith081ad4d2017-01-24 19:39:46 +00002027.. option:: -fxray-instruction-threshold<arg>
2028
Richard Smithb2c82a62017-01-27 01:54:42 +00002029.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002030.. option:: -fxray-instruction-threshold=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00002031.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002032
2033Sets the minimum function size to instrument with XRay
2034
Richard Smith081ad4d2017-01-24 19:39:46 +00002035.. option:: -fxray-instrument, -fno-xray-instrument
2036
2037Generate XRay instrumentation sleds on function entry and exit
2038
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002039.. option:: -fxray-instrumentation-bundle=<arg>
2040
2041Select which XRay instrumentation points to emit. Options: all, none, function, custom. Default is 'all'.
2042
2043.. option:: -fxray-link-deps
2044
2045Tells clang to add the link dependencies for XRay.
2046
2047.. option:: -fxray-modes=<arg>
2048
2049List of modes to link in by default into XRay instrumented binaries.
2050
Richard Smith78e23fd2017-04-13 22:39:49 +00002051.. option:: -fxray-never-instrument=<arg>
2052
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002053DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
Richard Smith78e23fd2017-04-13 22:39:49 +00002054
Richard Smith081ad4d2017-01-24 19:39:46 +00002055.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss
2056
Richard Smith081ad4d2017-01-24 19:39:46 +00002057.. option:: -fzvector, -fno-zvector, -mzvector
2058
2059Enable System z vector language extension
2060
Richard Smith081ad4d2017-01-24 19:39:46 +00002061.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic
2062
Richard Smith081ad4d2017-01-24 19:39:46 +00002063.. option:: -pedantic-errors, --pedantic-errors
2064
2065OpenCL flags
2066------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002067.. option:: -cl-denorms-are-zero
2068
2069OpenCL only. Allow denormals to be flushed to zero.
2070
Richard Smith081ad4d2017-01-24 19:39:46 +00002071.. option:: -cl-fast-relaxed-math
2072
2073OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_.
2074
Richard Smith081ad4d2017-01-24 19:39:46 +00002075.. option:: -cl-finite-math-only
2076
2077OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
2078
Richard Smith081ad4d2017-01-24 19:39:46 +00002079.. option:: -cl-fp32-correctly-rounded-divide-sqrt
2080
2081OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
2082
Richard Smith081ad4d2017-01-24 19:39:46 +00002083.. option:: -cl-kernel-arg-info
2084
2085OpenCL only. Generate kernel argument metadata.
2086
Richard Smith081ad4d2017-01-24 19:39:46 +00002087.. option:: -cl-mad-enable
2088
2089OpenCL only. Allow use of less precise MAD computations in the generated binary.
2090
Richard Smith081ad4d2017-01-24 19:39:46 +00002091.. option:: -cl-no-signed-zeros
2092
2093OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
2094
Richard Smith081ad4d2017-01-24 19:39:46 +00002095.. option:: -cl-opt-disable
2096
2097OpenCL only. This option disables all optimizations. By default optimizations are enabled.
2098
Richard Smith081ad4d2017-01-24 19:39:46 +00002099.. option:: -cl-single-precision-constant
2100
2101OpenCL only. Treat double precision floating-point constant as single precision constant.
2102
Richard Smith081ad4d2017-01-24 19:39:46 +00002103.. option:: -cl-std=<arg>
2104
2105OpenCL language standard to compile for.
2106
Richard Smith081ad4d2017-01-24 19:39:46 +00002107.. option:: -cl-strict-aliasing
2108
2109OpenCL only. This option is added for compatibility with OpenCL 1.0.
2110
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00002111.. option:: -cl-uniform-work-group-size
2112
2113OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
2114
Richard Smith081ad4d2017-01-24 19:39:46 +00002115.. option:: -cl-unsafe-math-optimizations
2116
2117OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
2118
2119Target-dependent compilation options
2120~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Richard Smithc5b2e002017-01-27 02:08:37 +00002121.. option:: -G<size>, -G=<arg>, -msmall-data-threshold=<arg>
2122
2123Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
2124
Richard Smith081ad4d2017-01-24 19:39:46 +00002125.. option:: -m16
2126
Richard Smith081ad4d2017-01-24 19:39:46 +00002127.. option:: -m32
2128
Richard Smith081ad4d2017-01-24 19:39:46 +00002129.. option:: -m64
2130
Richard Smith081ad4d2017-01-24 19:39:46 +00002131.. option:: -mabi=<arg>
2132
Richard Smith081ad4d2017-01-24 19:39:46 +00002133.. option:: -malign-double
2134
2135Align doubles to two words in structs (x86 only)
2136
Richard Smith081ad4d2017-01-24 19:39:46 +00002137.. option:: -march=<arg>
2138
Richard Smith081ad4d2017-01-24 19:39:46 +00002139.. option:: -masm=<arg>
2140
Richard Smith081ad4d2017-01-24 19:39:46 +00002141.. option:: -mbackchain, -mno-backchain
2142
2143Link stack frames through backchain on System Z
2144
Richard Smith081ad4d2017-01-24 19:39:46 +00002145.. option:: -mcmodel=<arg>
2146
Richard Smith081ad4d2017-01-24 19:39:46 +00002147.. option:: -mconsole<arg>
2148
Craig Topper287c8012018-01-03 18:29:12 +00002149.. option:: -mcpu=<arg>, -mv4 (equivalent to -mcpu=hexagonv4), -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 +00002150
Vedant Kumar368540f2018-08-23 17:55:03 +00002151.. option:: -mcrc, -mno-crc
2152
2153Allow use of CRC instructions (ARM/Mips only)
2154
Craig Topperd23254a2017-07-20 17:52:48 +00002155.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg>
2156
Richard Smith081ad4d2017-01-24 19:39:46 +00002157.. option:: -mdll<arg>
2158
Richard Smith081ad4d2017-01-24 19:39:46 +00002159.. option:: -mdynamic-no-pic<arg>
2160
Richard Smith081ad4d2017-01-24 19:39:46 +00002161.. option:: -meabi <arg>
2162
2163Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
2164
Richard Smith78e23fd2017-04-13 22:39:49 +00002165.. option:: -mfentry
2166
2167Insert calls to fentry at function entry (x86 only)
2168
Richard Smith081ad4d2017-01-24 19:39:46 +00002169.. option:: -mfloat-abi=<arg>
2170
Richard Smith081ad4d2017-01-24 19:39:46 +00002171.. option:: -mfpmath=<arg>
2172
Richard Smith081ad4d2017-01-24 19:39:46 +00002173.. option:: -mfpu=<arg>
2174
Richard Smith081ad4d2017-01-24 19:39:46 +00002175.. option:: -mglobal-merge, -mno-global-merge
2176
2177Enable merging of globals
2178
Richard Smith081ad4d2017-01-24 19:39:46 +00002179.. option:: -mhard-float
2180
Richard Smith081ad4d2017-01-24 19:39:46 +00002181.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg>
2182
Richard Smith081ad4d2017-01-24 19:39:46 +00002183.. option:: -miamcu, -mno-iamcu
2184
2185Use Intel MCU ABI
2186
Richard Smith081ad4d2017-01-24 19:39:46 +00002187.. option:: -mimplicit-float, -mno-implicit-float
2188
Richard Smith081ad4d2017-01-24 19:39:46 +00002189.. option:: -mimplicit-it=<arg>
2190
Richard Smith081ad4d2017-01-24 19:39:46 +00002191.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible
2192
2193(integrated-as) Emit an object file which can be used with an incremental linker
2194
Richard Smith78e23fd2017-04-13 22:39:49 +00002195.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002196
Richard Smith081ad4d2017-01-24 19:39:46 +00002197.. option:: -mkernel
2198
Richard Smith081ad4d2017-01-24 19:39:46 +00002199.. option:: -mlong-calls, -mno-long-calls
2200
2201Generate branches with extended addressability, usually via indirect jumps.
2202
Craig Topperd23254a2017-07-20 17:52:48 +00002203.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002204
2205Set Mac OS X deployment target
2206
Craig Topperd23254a2017-07-20 17:52:48 +00002207.. option:: -mmcu=<arg>
2208
Richard Smith081ad4d2017-01-24 19:39:46 +00002209.. option:: -mms-bitfields, -mno-ms-bitfields
2210
2211Set the default structure layout to be compatible with the Microsoft compiler standard
2212
Richard Smith081ad4d2017-01-24 19:39:46 +00002213.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer
2214
2215Omit frame pointer setup for leaf functions
2216
Richard Smith081ad4d2017-01-24 19:39:46 +00002217.. option:: -moslib=<arg>
2218
Richard Smith081ad4d2017-01-24 19:39:46 +00002219.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations
2220
2221Use copy relocations support for PIE builds
2222
Craig Topper9a724aa2017-12-11 21:09:19 +00002223.. option:: -mprefer-vector-width=<arg>
2224
2225Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
2226
Richard Smith081ad4d2017-01-24 19:39:46 +00002227.. option:: -mqdsp6-compat
2228
2229Enable hexagon-qdsp6 backward compatibility
2230
Richard Smith081ad4d2017-01-24 19:39:46 +00002231.. option:: -mrecip
2232
Richard Smithb2c82a62017-01-27 01:54:42 +00002233.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002234.. option:: -mrecip=<arg1>,<arg2>...
Richard Smithb2c82a62017-01-27 01:54:42 +00002235.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002236
Richard Smith081ad4d2017-01-24 19:39:46 +00002237.. option:: -mred-zone, -mno-red-zone
2238
Richard Smith081ad4d2017-01-24 19:39:46 +00002239.. option:: -mregparm=<arg>
2240
Richard Smith081ad4d2017-01-24 19:39:46 +00002241.. option:: -mrelax-all, -mno-relax-all
2242
2243(integrated-as) Relax all machine instructions
2244
Vedant Kumar368540f2018-08-23 17:55:03 +00002245.. option:: -mretpoline, -mno-retpoline
2246
Richard Smith081ad4d2017-01-24 19:39:46 +00002247.. option:: -mrtd, -mno-rtd
2248
2249Make StdCall calling convention the default
2250
Vedant Kumar368540f2018-08-23 17:55:03 +00002251.. option:: -msign-return-address=<arg>
2252
2253Select return address signing scope
Richard Smith081ad4d2017-01-24 19:39:46 +00002254
Richard Smith081ad4d2017-01-24 19:39:46 +00002255.. option:: -msoft-float, -mno-soft-float
2256
2257Use software floating point
2258
Richard Smith081ad4d2017-01-24 19:39:46 +00002259.. option:: -mstack-alignment=<arg>
2260
2261Set the stack alignment
2262
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002263.. option:: -mstack-arg-probe, -mno-stack-arg-probe
2264
2265Enable stack probes
2266
Richard Smith081ad4d2017-01-24 19:39:46 +00002267.. option:: -mstack-probe-size=<arg>
2268
2269Set the stack probe size
2270
Richard Smith081ad4d2017-01-24 19:39:46 +00002271.. option:: -mstackrealign, -mno-stackrealign
2272
2273Force realign the stack at entry to every function
2274
Richard Smith081ad4d2017-01-24 19:39:46 +00002275.. option:: -mthread-model <arg>
2276
2277The thread model to use, e.g. posix, single (posix by default)
2278
Richard Smith081ad4d2017-01-24 19:39:46 +00002279.. option:: -mthreads<arg>
2280
Richard Smith081ad4d2017-01-24 19:39:46 +00002281.. option:: -mthumb, -mno-thumb
2282
Richard Smith081ad4d2017-01-24 19:39:46 +00002283.. option:: -mtune=<arg>
2284
Richard Smith78e23fd2017-04-13 22:39:49 +00002285.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002286
Richard Smith081ad4d2017-01-24 19:39:46 +00002287.. option:: -municode<arg>
2288
Richard Smith081ad4d2017-01-24 19:39:46 +00002289.. option:: -mvx, -mno-vx
2290
Richard Smith081ad4d2017-01-24 19:39:46 +00002291.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings
2292
Richard Smith78e23fd2017-04-13 22:39:49 +00002293.. option:: -mwatchos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002294
Richard Smith081ad4d2017-01-24 19:39:46 +00002295.. option:: -mwindows<arg>
2296
Richard Smith081ad4d2017-01-24 19:39:46 +00002297.. option:: -mx32
2298
Richard Smith081ad4d2017-01-24 19:39:46 +00002299AARCH64
2300-------
Tri Vo6e8abbc2018-09-12 23:45:04 +00002301.. option:: -ffixed-x1
2302
2303Reserve the x1 register (AArch64 only)
2304
2305.. option:: -ffixed-x2
2306
2307Reserve the x2 register (AArch64 only)
2308
2309.. option:: -ffixed-x3
2310
2311Reserve the x3 register (AArch64 only)
2312
2313.. option:: -ffixed-x4
2314
2315Reserve the x4 register (AArch64 only)
2316
2317.. option:: -ffixed-x5
2318
2319Reserve the x5 register (AArch64 only)
2320
2321.. option:: -ffixed-x6
2322
2323Reserve the x6 register (AArch64 only)
2324
2325.. option:: -ffixed-x7
2326
2327Reserve the x7 register (AArch64 only)
2328
Richard Smith081ad4d2017-01-24 19:39:46 +00002329.. option:: -ffixed-x18
2330
2331Reserve the x18 register (AArch64 only)
2332
Petr Hosek72509082018-06-12 20:00:50 +00002333.. option:: -ffixed-x20
2334
2335Reserve the x20 register (AArch64 only)
2336
Richard Smith081ad4d2017-01-24 19:39:46 +00002337.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769
2338
2339Workaround Cortex-A53 erratum 835769 (AArch64 only)
2340
Richard Smith081ad4d2017-01-24 19:39:46 +00002341.. option:: -mgeneral-regs-only
2342
2343Generate code which only uses the general purpose registers (AArch64 only)
2344
2345AMDGPU
2346------
Craig Topper16418662017-11-20 18:07:43 +00002347.. option:: -mxnack, -mno-xnack
2348
2349Enable XNACK (AMDGPU only)
2350
Richard Smith081ad4d2017-01-24 19:39:46 +00002351ARM
2352---
Richard Smith081ad4d2017-01-24 19:39:46 +00002353.. option:: -ffixed-r9
2354
2355Reserve the r9 register (ARM only)
2356
Richard Smith081ad4d2017-01-24 19:39:46 +00002357.. option:: -mexecute-only, -mno-execute-only, -mpure-code
2358
2359Disallow generation of data access to code sections (ARM only)
2360
Richard Smith081ad4d2017-01-24 19:39:46 +00002361.. option:: -mno-movt
2362
2363Disallow use of movt/movw pairs (ARM only)
2364
Richard Smith78e23fd2017-04-13 22:39:49 +00002365.. option:: -mno-neg-immediates
2366
2367Disallow converting instructions with negative immediates to their negation or inversion.
2368
Richard Smith081ad4d2017-01-24 19:39:46 +00002369.. option:: -mnocrc
2370
2371Disallow use of CRC instructions (ARM only)
2372
Richard Smith081ad4d2017-01-24 19:39:46 +00002373.. option:: -mrestrict-it, -mno-restrict-it
2374
2375Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
2376
Craig Topper16418662017-11-20 18:07:43 +00002377.. option:: -mtp=<arg>
2378
2379Read thread pointer from coprocessor register (ARM only)
2380
Richard Smith081ad4d2017-01-24 19:39:46 +00002381.. option:: -munaligned-access, -mno-unaligned-access
2382
2383Allow memory accesses to be unaligned (AArch32/AArch64 only)
2384
2385Hexagon
2386-------
Craig Topper16418662017-11-20 18:07:43 +00002387.. option:: -mieee-rnd-near
2388
Vedant Kumar368540f2018-08-23 17:55:03 +00002389.. option:: -mmemops, -mno-memops
2390
2391Enable generation of memop instructions
2392
2393.. option:: -mnvj, -mno-nvj
2394
2395Enable generation of new-value jumps
2396
2397.. option:: -mnvs, -mno-nvs
2398
2399Enable generation of new-value stores
2400
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002401.. option:: -mpackets, -mno-packets
2402
2403Enable generation of instruction packets
2404
Craig Topper16418662017-11-20 18:07:43 +00002405Hexagon
2406-------
Richard Smith081ad4d2017-01-24 19:39:46 +00002407.. option:: -mhvx, -mno-hvx
2408
2409Enable Hexagon Vector eXtensions
2410
Craig Topper16418662017-11-20 18:07:43 +00002411.. option:: -mhvx-length=<arg>
2412
2413Set Hexagon Vector Length
2414
2415.. program:: clang1
2416.. option:: -mhvx=<arg>
2417.. program:: clang
2418
2419Enable Hexagon Vector eXtensions
Richard Smith081ad4d2017-01-24 19:39:46 +00002420
Vedant Kumar368540f2018-08-23 17:55:03 +00002421MIPS
2422----
2423.. option:: -mabicalls, -mno-abicalls
2424
2425Enable SVR4-style position-independent code (Mips only)
2426
2427.. option:: -mabs=<arg>
2428
2429.. option:: -mcheck-zero-division, -mno-check-zero-division
2430
2431.. option:: -mcompact-branches=<arg>
2432
2433.. option:: -mdouble-float
2434
2435.. option:: -mdsp, -mno-dsp
2436
2437.. option:: -mdspr2, -mno-dspr2
2438
2439.. option:: -membedded-data, -mno-embedded-data
2440
2441Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
2442
2443.. option:: -mextern-sdata, -mno-extern-sdata
2444
2445Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
2446
2447.. option:: -mfp32
2448
2449Use 32-bit floating point registers (MIPS only)
2450
2451.. option:: -mfp64
2452
2453Use 64-bit floating point registers (MIPS only)
2454
2455.. option:: -mginv, -mno-ginv
2456
2457.. option:: -mgpopt, -mno-gpopt
2458
2459Use GP relative accesses for symbols known to be in a small data section (MIPS)
2460
2461.. option:: -mindirect-jump=<arg>
2462
2463Change indirect jump instructions to inhibit speculation
2464
2465.. option:: -mips16
2466
2467.. option:: -mldc1-sdc1, -mno-ldc1-sdc1
2468
2469.. option:: -mlocal-sdata, -mno-local-sdata
2470
2471Extend the -G behaviour to object local data (MIPS)
2472
2473.. option:: -mmadd4, -mno-madd4
2474
2475Enable the generation of 4-operand madd.s, madd.d and related instructions.
2476
2477.. option:: -mmicromips, -mno-micromips
2478
2479.. option:: -mmsa, -mno-msa
2480
2481Enable MSA ASE (MIPS only)
2482
2483.. option:: -mmt, -mno-mt
2484
2485Enable MT ASE (MIPS only)
2486
2487.. option:: -mnan=<arg>
2488
2489.. option:: -mno-mips16
2490
2491.. option:: -msingle-float
2492
2493.. option:: -mvirt, -mno-virt
2494
2495.. option:: -mxgot, -mno-xgot
2496
Richard Smith081ad4d2017-01-24 19:39:46 +00002497PowerPC
2498-------
Richard Smith78e23fd2017-04-13 22:39:49 +00002499.. option:: -maltivec, -mno-altivec
2500
Richard Smith081ad4d2017-01-24 19:39:46 +00002501.. option:: -mcmpb, -mno-cmpb
2502
Richard Smith081ad4d2017-01-24 19:39:46 +00002503.. option:: -mcrbits, -mno-crbits
2504
Richard Smith081ad4d2017-01-24 19:39:46 +00002505.. option:: -mcrypto, -mno-crypto
2506
Richard Smith081ad4d2017-01-24 19:39:46 +00002507.. option:: -mdirect-move, -mno-direct-move
2508
Richard Smith081ad4d2017-01-24 19:39:46 +00002509.. option:: -mfloat128, -mno-float128
2510
Richard Smith081ad4d2017-01-24 19:39:46 +00002511.. option:: -mfprnd, -mno-fprnd
2512
Richard Smith081ad4d2017-01-24 19:39:46 +00002513.. option:: -mhtm, -mno-htm
2514
Richard Smith081ad4d2017-01-24 19:39:46 +00002515.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors
2516
Richard Smith081ad4d2017-01-24 19:39:46 +00002517.. option:: -misel, -mno-isel
2518
Richard Smith081ad4d2017-01-24 19:39:46 +00002519.. option:: -mlongcall, -mno-longcall
2520
Richard Smith081ad4d2017-01-24 19:39:46 +00002521.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf
2522
Richard Smith081ad4d2017-01-24 19:39:46 +00002523.. option:: -mpopcntd, -mno-popcntd
2524
Richard Smith081ad4d2017-01-24 19:39:46 +00002525.. option:: -mpower8-vector, -mno-power8-vector
2526
Richard Smith081ad4d2017-01-24 19:39:46 +00002527.. option:: -mpower9-vector, -mno-power9-vector
2528
Richard Smith081ad4d2017-01-24 19:39:46 +00002529.. option:: -mqpx, -mno-qpx
2530
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002531.. option:: -msecure-plt
2532
Richard Smith081ad4d2017-01-24 19:39:46 +00002533.. option:: -mvsx, -mno-vsx
2534
2535WebAssembly
2536-----------
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002537.. option:: -mexception-handling, -mno-exception-handling
2538
Craig Topper188252d2017-12-11 21:09:16 +00002539.. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint
2540
Dan Gohmand0c4e1e2018-01-19 17:16:32 +00002541.. option:: -msign-ext, -mno-sign-ext
2542
Richard Smith081ad4d2017-01-24 19:39:46 +00002543.. option:: -msimd128, -mno-simd128
2544
2545X86
2546---
Richard Smith081ad4d2017-01-24 19:39:46 +00002547.. option:: -m3dnow, -mno-3dnow
2548
Richard Smith081ad4d2017-01-24 19:39:46 +00002549.. option:: -m3dnowa, -mno-3dnowa
2550
Richard Smith081ad4d2017-01-24 19:39:46 +00002551.. option:: -madx, -mno-adx
2552
Richard Smith081ad4d2017-01-24 19:39:46 +00002553.. option:: -maes, -mno-aes
2554
Richard Smith081ad4d2017-01-24 19:39:46 +00002555.. option:: -mavx, -mno-avx
2556
Richard Smith081ad4d2017-01-24 19:39:46 +00002557.. option:: -mavx2, -mno-avx2
2558
Craig Topper287c8012018-01-03 18:29:12 +00002559.. option:: -mavx512bitalg, -mno-avx512bitalg
2560
Richard Smith081ad4d2017-01-24 19:39:46 +00002561.. option:: -mavx512bw, -mno-avx512bw
2562
Richard Smith081ad4d2017-01-24 19:39:46 +00002563.. option:: -mavx512cd, -mno-avx512cd
2564
Richard Smith081ad4d2017-01-24 19:39:46 +00002565.. option:: -mavx512dq, -mno-avx512dq
2566
Richard Smith081ad4d2017-01-24 19:39:46 +00002567.. option:: -mavx512er, -mno-avx512er
2568
Richard Smith081ad4d2017-01-24 19:39:46 +00002569.. option:: -mavx512f, -mno-avx512f
2570
Richard Smith081ad4d2017-01-24 19:39:46 +00002571.. option:: -mavx512ifma, -mno-avx512ifma
2572
Richard Smith081ad4d2017-01-24 19:39:46 +00002573.. option:: -mavx512pf, -mno-avx512pf
2574
Richard Smith081ad4d2017-01-24 19:39:46 +00002575.. option:: -mavx512vbmi, -mno-avx512vbmi
2576
Craig Topper287c8012018-01-03 18:29:12 +00002577.. option:: -mavx512vbmi2, -mno-avx512vbmi2
2578
Richard Smith081ad4d2017-01-24 19:39:46 +00002579.. option:: -mavx512vl, -mno-avx512vl
2580
Craig Topper287c8012018-01-03 18:29:12 +00002581.. option:: -mavx512vnni, -mno-avx512vnni
2582
Craig Topperd23254a2017-07-20 17:52:48 +00002583.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq
2584
Richard Smith081ad4d2017-01-24 19:39:46 +00002585.. option:: -mbmi, -mno-bmi
2586
Richard Smith081ad4d2017-01-24 19:39:46 +00002587.. option:: -mbmi2, -mno-bmi2
2588
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002589.. option:: -mcldemote, -mno-cldemote
2590
Craig Topper78b47872017-02-08 06:48:58 +00002591.. option:: -mclflushopt, -mno-clflushopt
2592
Craig Topper177a57c2017-02-08 07:57:01 +00002593.. option:: -mclwb, -mno-clwb
2594
Richard Smith78e23fd2017-04-13 22:39:49 +00002595.. option:: -mclzero, -mno-clzero
2596
Richard Smith081ad4d2017-01-24 19:39:46 +00002597.. option:: -mcx16, -mno-cx16
2598
Richard Smith081ad4d2017-01-24 19:39:46 +00002599.. option:: -mf16c, -mno-f16c
2600
Richard Smith081ad4d2017-01-24 19:39:46 +00002601.. option:: -mfma, -mno-fma
2602
Richard Smith081ad4d2017-01-24 19:39:46 +00002603.. option:: -mfma4, -mno-fma4
2604
Richard Smith081ad4d2017-01-24 19:39:46 +00002605.. option:: -mfsgsbase, -mno-fsgsbase
2606
Richard Smith081ad4d2017-01-24 19:39:46 +00002607.. option:: -mfxsr, -mno-fxsr
2608
Craig Topper287c8012018-01-03 18:29:12 +00002609.. option:: -mgfni, -mno-gfni
2610
Vedant Kumar368540f2018-08-23 17:55:03 +00002611.. option:: -minvpcid, -mno-invpcid
2612
Craig Topperd23254a2017-07-20 17:52:48 +00002613.. option:: -mlwp, -mno-lwp
2614
Richard Smith081ad4d2017-01-24 19:39:46 +00002615.. option:: -mlzcnt, -mno-lzcnt
2616
Richard Smith081ad4d2017-01-24 19:39:46 +00002617.. option:: -mmmx, -mno-mmx
2618
Craig Topper177a57c2017-02-08 07:57:01 +00002619.. option:: -mmovbe, -mno-movbe
2620
Gabor Buellaa51e0c22018-05-01 10:05:42 +00002621.. option:: -mmovdir64b, -mno-movdir64b
2622
Vedant Kumar368540f2018-08-23 17:55:03 +00002623.. option:: -mmovdiri, -mno-movdiri
2624
Craig Topperb16cb822017-02-08 07:56:42 +00002625.. option:: -mmpx, -mno-mpx
2626
Richard Smith081ad4d2017-01-24 19:39:46 +00002627.. option:: -mmwaitx, -mno-mwaitx
2628
Richard Smith081ad4d2017-01-24 19:39:46 +00002629.. option:: -mpclmul, -mno-pclmul
2630
Vedant Kumar368540f2018-08-23 17:55:03 +00002631.. option:: -mpconfig, -mno-pconfig
2632
Richard Smith081ad4d2017-01-24 19:39:46 +00002633.. option:: -mpku, -mno-pku
2634
Richard Smith081ad4d2017-01-24 19:39:46 +00002635.. option:: -mpopcnt, -mno-popcnt
2636
Craig Topperd2bf7b02017-02-08 08:23:40 +00002637.. option:: -mprefetchwt1, -mno-prefetchwt1
2638
Richard Smith081ad4d2017-01-24 19:39:46 +00002639.. option:: -mprfchw, -mno-prfchw
2640
Vedant Kumar368540f2018-08-23 17:55:03 +00002641.. option:: -mptwrite, -mno-ptwrite
2642
Craig Topper596527b2018-01-23 18:40:15 +00002643.. option:: -mrdpid, -mno-rdpid
2644
Richard Smith081ad4d2017-01-24 19:39:46 +00002645.. option:: -mrdrnd, -mno-rdrnd
2646
Richard Smith081ad4d2017-01-24 19:39:46 +00002647.. option:: -mrdseed, -mno-rdseed
2648
Craig Topper596527b2018-01-23 18:40:15 +00002649.. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk
2650
Richard Smith081ad4d2017-01-24 19:39:46 +00002651.. option:: -mrtm, -mno-rtm
2652
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00002653.. option:: -msahf, -mno-sahf
2654
Craig Topper204ecff2017-02-08 08:23:17 +00002655.. option:: -msgx, -mno-sgx
2656
Richard Smith081ad4d2017-01-24 19:39:46 +00002657.. option:: -msha, -mno-sha
2658
Craig Topper188252d2017-12-11 21:09:16 +00002659.. option:: -mshstk, -mno-shstk
2660
Richard Smith081ad4d2017-01-24 19:39:46 +00002661.. option:: -msse, -mno-sse
2662
Richard Smith081ad4d2017-01-24 19:39:46 +00002663.. option:: -msse2, -mno-sse2
2664
Richard Smith081ad4d2017-01-24 19:39:46 +00002665.. option:: -msse3, -mno-sse3
2666
Richard Smith081ad4d2017-01-24 19:39:46 +00002667.. option:: -msse4.1, -mno-sse4.1
2668
Richard Smithb2c82a62017-01-27 01:54:42 +00002669.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002670.. option:: -msse4.2, -mno-sse4.2, -msse4
Richard Smithb2c82a62017-01-27 01:54:42 +00002671.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002672
Richard Smith081ad4d2017-01-24 19:39:46 +00002673.. option:: -msse4a, -mno-sse4a
2674
Richard Smith081ad4d2017-01-24 19:39:46 +00002675.. option:: -mssse3, -mno-ssse3
2676
Richard Smith081ad4d2017-01-24 19:39:46 +00002677.. option:: -mtbm, -mno-tbm
2678
Craig Topper287c8012018-01-03 18:29:12 +00002679.. option:: -mvaes, -mno-vaes
2680
2681.. option:: -mvpclmulqdq, -mno-vpclmulqdq
2682
Craig Topper42da9cb2018-04-23 21:41:06 +00002683.. option:: -mwaitpkg, -mno-waitpkg
2684
Gabor Buellaa0520162018-04-11 20:09:09 +00002685.. option:: -mwbnoinvd, -mno-wbnoinvd
2686
Richard Smith081ad4d2017-01-24 19:39:46 +00002687.. option:: -mx87, -m80387, -mno-x87
2688
Richard Smith081ad4d2017-01-24 19:39:46 +00002689.. option:: -mxop, -mno-xop
2690
Richard Smith081ad4d2017-01-24 19:39:46 +00002691.. option:: -mxsave, -mno-xsave
2692
Richard Smith081ad4d2017-01-24 19:39:46 +00002693.. option:: -mxsavec, -mno-xsavec
2694
Richard Smith081ad4d2017-01-24 19:39:46 +00002695.. option:: -mxsaveopt, -mno-xsaveopt
2696
Richard Smith081ad4d2017-01-24 19:39:46 +00002697.. option:: -mxsaves, -mno-xsaves
2698
Vedant Kumar368540f2018-08-23 17:55:03 +00002699RISCV
2700-----
2701.. option:: -mrelax, -mno-relax
2702
2703Enable linker relaxation
2704
Richard Smith081ad4d2017-01-24 19:39:46 +00002705Optimization level
2706~~~~~~~~~~~~~~~~~~
2707
2708Flags controlling how much optimization should be performed.
2709
Richard Smith081ad4d2017-01-24 19:39:46 +00002710.. option:: -O<arg>, -O (equivalent to -O2), --optimize, --optimize=<arg>
2711
Richard Smith081ad4d2017-01-24 19:39:46 +00002712.. option:: -Ofast<arg>
2713
2714Debug information generation
2715~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2716
2717Flags controlling how much and what kind of debug information should be
2718generated.
2719
2720Kind and level of debug information
2721-----------------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002722.. option:: -g, --debug, --debug=<arg>
2723
2724Generate source-level debug information
2725
Richard Smith081ad4d2017-01-24 19:39:46 +00002726.. option:: -gdwarf-2
2727
2728Generate source-level debug information with dwarf version 2
2729
Richard Smith081ad4d2017-01-24 19:39:46 +00002730.. option:: -gdwarf-3
2731
2732Generate source-level debug information with dwarf version 3
2733
Richard Smith081ad4d2017-01-24 19:39:46 +00002734.. option:: -gdwarf-4, -gdwarf
2735
2736Generate source-level debug information with dwarf version 4
2737
Richard Smith081ad4d2017-01-24 19:39:46 +00002738.. option:: -gdwarf-5
2739
2740Generate source-level debug information with dwarf version 5
2741
Richard Smith081ad4d2017-01-24 19:39:46 +00002742.. option:: -gfull
2743
Richard Smith081ad4d2017-01-24 19:39:46 +00002744.. option:: -gused
2745
2746Debug level
2747___________
Richard Smith081ad4d2017-01-24 19:39:46 +00002748.. option:: -g0
2749
Richard Smith081ad4d2017-01-24 19:39:46 +00002750.. option:: -g2
2751
Richard Smith081ad4d2017-01-24 19:39:46 +00002752.. option:: -g3
2753
Richard Smith081ad4d2017-01-24 19:39:46 +00002754.. option:: -ggdb0
2755
Richard Smith081ad4d2017-01-24 19:39:46 +00002756.. option:: -ggdb1
2757
Richard Smith081ad4d2017-01-24 19:39:46 +00002758.. option:: -ggdb2
2759
Richard Smith081ad4d2017-01-24 19:39:46 +00002760.. option:: -ggdb3
2761
Richard Smith081ad4d2017-01-24 19:39:46 +00002762.. option:: -gline-tables-only, -g1, -gmlt
2763
2764Emit debug line number tables only
2765
Richard Smith081ad4d2017-01-24 19:39:46 +00002766.. option:: -gmodules
2767
2768Generate debug info with external references to clang modules or precompiled headers
2769
2770Debugger to tune debug information for
2771______________________________________
Richard Smith081ad4d2017-01-24 19:39:46 +00002772.. option:: -ggdb
2773
Richard Smith081ad4d2017-01-24 19:39:46 +00002774.. option:: -glldb
2775
Richard Smith081ad4d2017-01-24 19:39:46 +00002776.. option:: -gsce
2777
2778Debug information flags
2779-----------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002780.. option:: -gcolumn-info, -gno-column-info
2781
Richard Smith081ad4d2017-01-24 19:39:46 +00002782.. option:: -gdwarf-aranges
2783
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002784.. option:: -gembed-source, -gno-embed-source
Scott Lindera2fbcef2018-02-26 17:32:31 +00002785
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002786Embed source text in DWARF debug sections
Scott Lindera2fbcef2018-02-26 17:32:31 +00002787
Vedant Kumar368540f2018-08-23 17:55:03 +00002788.. option:: -ggnu-pubnames, -gno-gnu-pubnames
2789
2790.. option:: -gpubnames, -gno-pubnames
Richard Smith081ad4d2017-01-24 19:39:46 +00002791
Richard Smith081ad4d2017-01-24 19:39:46 +00002792.. option:: -grecord-gcc-switches, -gno-record-gcc-switches
2793
Richard Smith081ad4d2017-01-24 19:39:46 +00002794.. option:: -gsplit-dwarf
2795
Richard Smith081ad4d2017-01-24 19:39:46 +00002796.. option:: -gstrict-dwarf, -gno-strict-dwarf
2797
Craig Topperd23254a2017-07-20 17:52:48 +00002798.. option:: -gz
2799
2800DWARF debug sections compression type
2801
2802.. program:: clang1
2803.. option:: -gz=<arg>
2804.. program:: clang
2805
2806DWARF debug sections compression type
2807
Richard Smithc5b2e002017-01-27 02:08:37 +00002808Static analyzer flags
2809=====================
Richard Smith081ad4d2017-01-24 19:39:46 +00002810
Richard Smithc5b2e002017-01-27 02:08:37 +00002811Flags controlling the behavior of the Clang Static Analyzer.
Richard Smith081ad4d2017-01-24 19:39:46 +00002812
Richard Smithc5b2e002017-01-27 02:08:37 +00002813.. option:: -Xanalyzer <arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002814
Richard Smithc5b2e002017-01-27 02:08:37 +00002815Pass <arg> to the static analyzer
Richard Smith081ad4d2017-01-24 19:39:46 +00002816
2817Fortran compilation flags
2818=========================
2819
2820Flags that will be passed onto the ``gfortran`` compiler when Clang is given
2821a Fortran input.
2822
Richard Smithc5b2e002017-01-27 02:08:37 +00002823.. option:: -A<arg>, --assert <arg>, --assert=<arg>
2824
Richard Smith081ad4d2017-01-24 19:39:46 +00002825.. option:: -A-<arg>
2826
Richard Smith081ad4d2017-01-24 19:39:46 +00002827.. option:: -J<arg>
2828
Richard Smith081ad4d2017-01-24 19:39:46 +00002829.. option:: -cpp
2830
Richard Smith081ad4d2017-01-24 19:39:46 +00002831.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination
2832
Richard Smith081ad4d2017-01-24 19:39:46 +00002833.. option:: -falign-commons, -fno-align-commons
2834
Richard Smith081ad4d2017-01-24 19:39:46 +00002835.. option:: -fall-intrinsics, -fno-all-intrinsics
2836
Richard Smith081ad4d2017-01-24 19:39:46 +00002837.. option:: -fautomatic, -fno-automatic
2838
Richard Smith081ad4d2017-01-24 19:39:46 +00002839.. option:: -fbackslash, -fno-backslash
2840
Richard Smith081ad4d2017-01-24 19:39:46 +00002841.. option:: -fbacktrace, -fno-backtrace
2842
Richard Smith081ad4d2017-01-24 19:39:46 +00002843.. option:: -fblas-matmul-limit=<arg>
2844
Richard Smith081ad4d2017-01-24 19:39:46 +00002845.. option:: -fbounds-check, -fno-bounds-check
2846
Richard Smith081ad4d2017-01-24 19:39:46 +00002847.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries
2848
Richard Smith081ad4d2017-01-24 19:39:46 +00002849.. option:: -fcheck=<arg>
2850
Richard Smith081ad4d2017-01-24 19:39:46 +00002851.. option:: -fcoarray=<arg>
2852
Richard Smith081ad4d2017-01-24 19:39:46 +00002853.. option:: -fconvert=<arg>
2854
Richard Smith081ad4d2017-01-24 19:39:46 +00002855.. option:: -fcray-pointer, -fno-cray-pointer
2856
Richard Smith081ad4d2017-01-24 19:39:46 +00002857.. option:: -fd-lines-as-code, -fno-d-lines-as-code
2858
Richard Smith081ad4d2017-01-24 19:39:46 +00002859.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments
2860
Richard Smith081ad4d2017-01-24 19:39:46 +00002861.. option:: -fdefault-double-8, -fno-default-double-8
2862
Richard Smith081ad4d2017-01-24 19:39:46 +00002863.. option:: -fdefault-integer-8, -fno-default-integer-8
2864
Richard Smith081ad4d2017-01-24 19:39:46 +00002865.. option:: -fdefault-real-8, -fno-default-real-8
2866
Richard Smith081ad4d2017-01-24 19:39:46 +00002867.. option:: -fdollar-ok, -fno-dollar-ok
2868
Richard Smith081ad4d2017-01-24 19:39:46 +00002869.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized
2870
Richard Smith081ad4d2017-01-24 19:39:46 +00002871.. option:: -fdump-fortran-original, -fno-dump-fortran-original
2872
Richard Smith081ad4d2017-01-24 19:39:46 +00002873.. option:: -fdump-parse-tree, -fno-dump-parse-tree
2874
Richard Smith081ad4d2017-01-24 19:39:46 +00002875.. option:: -fexternal-blas, -fno-external-blas
2876
Richard Smith081ad4d2017-01-24 19:39:46 +00002877.. option:: -ff2c, -fno-f2c
2878
Richard Smith081ad4d2017-01-24 19:39:46 +00002879.. option:: -ffixed-form, -fno-fixed-form
2880
Richard Smith081ad4d2017-01-24 19:39:46 +00002881.. option:: -ffixed-line-length-<arg>
2882
Richard Smith081ad4d2017-01-24 19:39:46 +00002883.. option:: -ffpe-trap=<arg>
2884
Richard Smith081ad4d2017-01-24 19:39:46 +00002885.. option:: -ffree-form, -fno-free-form
2886
Richard Smith081ad4d2017-01-24 19:39:46 +00002887.. option:: -ffree-line-length-<arg>
2888
Richard Smith081ad4d2017-01-24 19:39:46 +00002889.. option:: -ffrontend-optimize, -fno-frontend-optimize
2890
Richard Smith081ad4d2017-01-24 19:39:46 +00002891.. option:: -fimplicit-none, -fno-implicit-none
2892
Richard Smith081ad4d2017-01-24 19:39:46 +00002893.. option:: -finit-character=<arg>
2894
Richard Smith081ad4d2017-01-24 19:39:46 +00002895.. option:: -finit-integer=<arg>
2896
Richard Smith081ad4d2017-01-24 19:39:46 +00002897.. option:: -finit-local-zero, -fno-init-local-zero
2898
Richard Smith081ad4d2017-01-24 19:39:46 +00002899.. option:: -finit-logical=<arg>
2900
Richard Smith081ad4d2017-01-24 19:39:46 +00002901.. option:: -finit-real=<arg>
2902
Richard Smith081ad4d2017-01-24 19:39:46 +00002903.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8
2904
Richard Smith081ad4d2017-01-24 19:39:46 +00002905.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path
2906
Richard Smith081ad4d2017-01-24 19:39:46 +00002907.. option:: -fmax-array-constructor=<arg>
2908
Richard Smith081ad4d2017-01-24 19:39:46 +00002909.. option:: -fmax-errors=<arg>
2910
Richard Smith081ad4d2017-01-24 19:39:46 +00002911.. option:: -fmax-identifier-length, -fno-max-identifier-length
2912
Richard Smith081ad4d2017-01-24 19:39:46 +00002913.. option:: -fmax-stack-var-size=<arg>
2914
Richard Smith081ad4d2017-01-24 19:39:46 +00002915.. option:: -fmax-subrecord-length=<arg>
2916
Richard Smith081ad4d2017-01-24 19:39:46 +00002917.. option:: -fmodule-private, -fno-module-private
2918
Richard Smith081ad4d2017-01-24 19:39:46 +00002919.. option:: -fpack-derived, -fno-pack-derived
2920
Richard Smith081ad4d2017-01-24 19:39:46 +00002921.. option:: -fprotect-parens, -fno-protect-parens
2922
Richard Smith081ad4d2017-01-24 19:39:46 +00002923.. option:: -frange-check, -fno-range-check
2924
Richard Smith081ad4d2017-01-24 19:39:46 +00002925.. option:: -freal-4-real-10, -fno-real-4-real-10
2926
Richard Smith081ad4d2017-01-24 19:39:46 +00002927.. option:: -freal-4-real-16, -fno-real-4-real-16
2928
Richard Smith081ad4d2017-01-24 19:39:46 +00002929.. option:: -freal-4-real-8, -fno-real-4-real-8
2930
Richard Smith081ad4d2017-01-24 19:39:46 +00002931.. option:: -freal-8-real-10, -fno-real-8-real-10
2932
Richard Smith081ad4d2017-01-24 19:39:46 +00002933.. option:: -freal-8-real-16, -fno-real-8-real-16
2934
Richard Smith081ad4d2017-01-24 19:39:46 +00002935.. option:: -freal-8-real-4, -fno-real-8-real-4
2936
Richard Smith081ad4d2017-01-24 19:39:46 +00002937.. option:: -frealloc-lhs, -fno-realloc-lhs
2938
Richard Smith081ad4d2017-01-24 19:39:46 +00002939.. option:: -frecord-marker=<arg>
2940
Richard Smith081ad4d2017-01-24 19:39:46 +00002941.. option:: -frecursive, -fno-recursive
2942
Richard Smith081ad4d2017-01-24 19:39:46 +00002943.. option:: -frepack-arrays, -fno-repack-arrays
2944
Richard Smith081ad4d2017-01-24 19:39:46 +00002945.. option:: -fsecond-underscore, -fno-second-underscore
2946
Richard Smith081ad4d2017-01-24 19:39:46 +00002947.. option:: -fsign-zero, -fno-sign-zero
2948
Richard Smith081ad4d2017-01-24 19:39:46 +00002949.. option:: -fstack-arrays, -fno-stack-arrays
2950
Richard Smith081ad4d2017-01-24 19:39:46 +00002951.. option:: -funderscoring, -fno-underscoring
2952
Richard Smith081ad4d2017-01-24 19:39:46 +00002953.. option:: -fwhole-file, -fno-whole-file
2954
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002955.. option:: -imultilib <arg>
2956
Richard Smith081ad4d2017-01-24 19:39:46 +00002957.. option:: -nocpp
2958
Richard Smith081ad4d2017-01-24 19:39:46 +00002959.. option:: -static-libgfortran
2960
Richard Smithc5b2e002017-01-27 02:08:37 +00002961Linker flags
2962============
2963Flags that are passed on to the linker
2964
2965.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>
2966
2967Add directory to library search path
2968
2969.. option:: -Mach
2970
2971.. option:: -T<script>
2972
2973Specify <script> as linker script
2974
Richard Smith78e23fd2017-04-13 22:39:49 +00002975.. option:: -Tbss<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00002976
2977Set starting address of BSS to <addr>
2978
Richard Smith78e23fd2017-04-13 22:39:49 +00002979.. option:: -Tdata<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00002980
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002981Set starting address of DATA to <addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00002982
Richard Smith78e23fd2017-04-13 22:39:49 +00002983.. option:: -Ttext<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00002984
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002985Set starting address of TEXT to <addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00002986
2987.. option:: -Wl,<arg>,<arg2>...
2988
2989Pass the comma separated arguments in <arg> to the linker
2990
2991.. option:: -X
2992
2993.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>
2994
2995Pass <arg> to the linker
2996
2997.. program:: clang1
2998.. option:: -Z
2999.. program:: clang
3000
3001.. option:: -e<arg>, --entry
3002
3003.. option:: -filelist <arg>
3004
Vedant Kumar368540f2018-08-23 17:55:03 +00003005.. option:: --hip-device-lib-path=<arg>
3006
3007HIP device library path
3008
3009.. option:: --hip-device-lib=<arg>
3010
3011HIP device library
3012
Richard Smithc5b2e002017-01-27 02:08:37 +00003013.. option:: -l<arg>
3014
3015.. option:: -r
3016
3017.. option:: -rpath <arg>
3018
3019.. option:: -s
3020
3021.. option:: -t
3022
3023.. option:: -u<arg>, --force-link <arg>, --force-link=<arg>
3024
3025.. option:: -undef
3026
3027undef all system defines
3028
3029.. option:: -undefined<arg>, --no-undefined
3030
3031.. option:: -z <arg>
3032
3033Pass -z <arg> to the linker
3034