blob: 10e0203ce2415c64151194d7f97b6f8c351303c5 [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
Fangrui Songd8c97292020-06-18 14:52:39 -070059.. program:: clang1
60.. option:: -Xarch\_device <arg>
61.. program:: clang
62
63Pass <arg> to the CUDA/HIP device compilation
64
65.. program:: clang2
66.. option:: -Xarch\_host <arg>
67.. program:: clang
68
69Pass <arg> to the CUDA/HIP host compilation
70
Richard Smith081ad4d2017-01-24 19:39:46 +000071.. option:: -Xcuda-fatbinary <arg>
72
73Pass <arg> to fatbinary invocation
74
Richard Smith081ad4d2017-01-24 19:39:46 +000075.. option:: -Xcuda-ptxas <arg>
76
77Pass <arg> to the ptxas assembler
78
Boris Kolpackovb150d242017-08-30 09:15:53 +000079.. option:: -Xopenmp-target <arg>
80
81Pass <arg> to the target offloading toolchain.
82
83.. program:: clang1
Jonas Hahnfelda180fc42018-02-22 17:10:28 +000084.. option:: -Xopenmp-target=<triple> <arg>
Boris Kolpackovb150d242017-08-30 09:15:53 +000085.. program:: clang
86
Jonas Hahnfelda180fc42018-02-22 17:10:28 +000087Pass <arg> to the target offloading toolchain identified by <triple>.
Boris Kolpackovb150d242017-08-30 09:15:53 +000088
Richard Smith081ad4d2017-01-24 19:39:46 +000089.. option:: -Z<arg>
90
Richard Smith081ad4d2017-01-24 19:39:46 +000091.. option:: -a<arg>, --profile-blocks
92
Richard Smith081ad4d2017-01-24 19:39:46 +000093.. option:: -all\_load
94
Richard Smith081ad4d2017-01-24 19:39:46 +000095.. option:: -allowable\_client <arg>
96
Richard Smith081ad4d2017-01-24 19:39:46 +000097.. option:: --analyze
98
99Run the static analyzer
100
Richard Smith081ad4d2017-01-24 19:39:46 +0000101.. option:: --analyzer-no-default-checks
102
Richard Smith081ad4d2017-01-24 19:39:46 +0000103.. option:: --analyzer-output<arg>
104
Craig Topper9624beb2020-03-10 11:08:19 -0700105Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|sarif\|text).
Richard Smith081ad4d2017-01-24 19:39:46 +0000106
Richard Smith081ad4d2017-01-24 19:39:46 +0000107.. option:: -ansi, --ansi
108
Richard Smith081ad4d2017-01-24 19:39:46 +0000109.. option:: -arch <arg>
110
Richard Smithb2c82a62017-01-27 01:54:42 +0000111.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000112.. option:: -arch\_errors\_fatal
Richard Smithb2c82a62017-01-27 01:54:42 +0000113.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000114
Richard Smithb2c82a62017-01-27 01:54:42 +0000115.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000116.. option:: -arch\_only <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000117.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000118
Richard Smith081ad4d2017-01-24 19:39:46 +0000119.. option:: -arcmt-migrate-emit-errors
120
121Emit ARC errors even if the migrator can fix them
122
Richard Smith081ad4d2017-01-24 19:39:46 +0000123.. option:: -arcmt-migrate-report-output <arg>
124
125Output path for the plist report
126
Craig Topperd23254a2017-07-20 17:52:48 +0000127.. option:: --autocomplete=<arg>
128
Richard Smith081ad4d2017-01-24 19:39:46 +0000129.. option:: -bind\_at\_load
130
Richard Smith081ad4d2017-01-24 19:39:46 +0000131.. option:: -bundle
132
Richard Smithb2c82a62017-01-27 01:54:42 +0000133.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000134.. option:: -bundle\_loader <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000135.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000136
Richard Smith081ad4d2017-01-24 19:39:46 +0000137.. option:: -client\_name<arg>
138
Richard Smith081ad4d2017-01-24 19:39:46 +0000139.. option:: -compatibility\_version<arg>
140
Craig Topper287c8012018-01-03 18:29:12 +0000141.. option:: --config <arg>
142
143Specifies configuration file
144
Richard Smith081ad4d2017-01-24 19:39:46 +0000145.. option:: --constant-cfstrings
146
Richard Smith081ad4d2017-01-24 19:39:46 +0000147.. option:: --cuda-compile-host-device
148
149Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
150
Richard Smith081ad4d2017-01-24 19:39:46 +0000151.. option:: --cuda-device-only
152
153Compile CUDA code for device only
154
Richard Smith081ad4d2017-01-24 19:39:46 +0000155.. option:: --cuda-host-only
156
157Compile CUDA code for host only. Has no effect on non-CUDA compilations.
158
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000159.. option:: --cuda-include-ptx=<arg>, --no-cuda-include-ptx=<arg>
160
Sylvestre Ledru90f1dfb2019-01-01 12:51:14 +0000161Include PTX for the following GPU architecture (e.g. sm\_35) or 'all'. May be specified more than once.
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000162
Richard Smith081ad4d2017-01-24 19:39:46 +0000163.. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug
164
165Enable device-side debug info generation. Disables ptxas optimizations.
166
Richard Smith081ad4d2017-01-24 19:39:46 +0000167.. option:: -current\_version<arg>
168
Richard Smith081ad4d2017-01-24 19:39:46 +0000169.. option:: -dead\_strip
170
Richard Smith081ad4d2017-01-24 19:39:46 +0000171.. option:: -dependency-dot <arg>
172
173Filename to write DOT-formatted header dependencies to
174
Richard Smith081ad4d2017-01-24 19:39:46 +0000175.. option:: -dependency-file <arg>
176
177Filename (or -) to write dependency output to
178
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -0400179.. option:: -dsym-dir<dir>
180
181Directory to output dSYM's (if any) to
182
Richard Smith081ad4d2017-01-24 19:39:46 +0000183.. option:: -dumpmachine
184
Richard Smith081ad4d2017-01-24 19:39:46 +0000185.. option:: -dumpversion
186
Richard Smith081ad4d2017-01-24 19:39:46 +0000187.. option:: --dyld-prefix=<arg>, --dyld-prefix <arg>
188
Richard Smith081ad4d2017-01-24 19:39:46 +0000189.. option:: -dylib\_file <arg>
190
Richard Smith081ad4d2017-01-24 19:39:46 +0000191.. option:: -dylinker
192
Richard Smithb2c82a62017-01-27 01:54:42 +0000193.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000194.. option:: -dylinker\_install\_name<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000195.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000196
Richard Smith081ad4d2017-01-24 19:39:46 +0000197.. option:: -dynamic
198
Richard Smith081ad4d2017-01-24 19:39:46 +0000199.. option:: -dynamiclib
200
Richard Smith081ad4d2017-01-24 19:39:46 +0000201.. option:: -emit-ast
202
203Emit Clang AST files for source inputs
204
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -0400205.. option:: --emit-static-lib
206
207Enable linker job to emit a static library.
208
Craig Topper9624beb2020-03-10 11:08:19 -0700209.. option:: -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
210
211Trivial automatic variable initialization to zero is only here for benchmarks, it'll eventually be removed, and I'm OK with that because I'm only using it to benchmark
212
Richard Smith081ad4d2017-01-24 19:39:46 +0000213.. option:: -exported\_symbols\_list <arg>
214
Richard Smith081ad4d2017-01-24 19:39:46 +0000215.. option:: -faligned-new=<arg>
216
Richard Smith081ad4d2017-01-24 19:39:46 +0000217.. option:: -fcuda-flush-denormals-to-zero, -fno-cuda-flush-denormals-to-zero
218
219Flush denormal floating point values to zero in CUDA device mode.
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
Craig Topper9624beb2020-03-10 11:08:19 -0700249.. option:: -fsanitize-system-blacklist=<arg>
250
251Path to system blacklist file for sanitizers
252
253.. option:: -fsystem-module
254
255Build this module as a system module. Only used with -emit-module
256
Richard Smith081ad4d2017-01-24 19:39:46 +0000257.. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg>
258
259Use the gcc toolchain at the given directory
260
Richard Smith081ad4d2017-01-24 19:39:46 +0000261.. option:: -gcodeview
262
263Generate CodeView debug information
264
Craig Topper9624beb2020-03-10 11:08:19 -0700265.. option:: -gcodeview-ghash, -gno-codeview-ghash
266
267Emit type record hashes in a .debug$H section
268
269.. option:: -ginline-line-tables, -gno-inline-line-tables
270
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -0400271.. option:: --gpu-instrument-lib=<arg>
272
273Instrument device library for HIP, which is a LLVM bitcode containing \_\_cyg\_profile\_func\_enter and \_\_cyg\_profile\_func\_exit
274
Craig Topper9624beb2020-03-10 11:08:19 -0700275.. option:: --gpu-max-threads-per-block=<arg>
276
277Default max threads per block for kernel launch bounds for HIP
278
Richard Smith081ad4d2017-01-24 19:39:46 +0000279.. option:: -headerpad\_max\_install\_names<arg>
280
Richard Smith081ad4d2017-01-24 19:39:46 +0000281.. option:: -help, --help
282
283Display available options
284
Richard Smith081ad4d2017-01-24 19:39:46 +0000285.. option:: --help-hidden
286
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000287Display help for hidden options
288
Vedant Kumar368540f2018-08-23 17:55:03 +0000289.. option:: --hip-link
290
291Link clang-offload-bundler bundles for HIP
292
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -0400293.. option:: --hip-version=<arg>
294
295HIP version in the format of major.minor.patch
296
Craig Topper9624beb2020-03-10 11:08:19 -0700297.. option:: -ibuiltininc
298
299Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
300
Richard Smith081ad4d2017-01-24 19:39:46 +0000301.. option:: -image\_base <arg>
302
Richard Smith081ad4d2017-01-24 19:39:46 +0000303.. option:: -index-header-map
304
305Make the next included directory (-I or -F) an indexer header map
306
Richard Smith081ad4d2017-01-24 19:39:46 +0000307.. option:: -init <arg>
308
Richard Smith081ad4d2017-01-24 19:39:46 +0000309.. option:: -install\_name <arg>
310
Craig Topper9624beb2020-03-10 11:08:19 -0700311.. option:: -interface-stub-version=<arg>
312
Richard Smith081ad4d2017-01-24 19:39:46 +0000313.. option:: -keep\_private\_externs
314
Richard Smith081ad4d2017-01-24 19:39:46 +0000315.. option:: -lazy\_framework <arg>
316
Richard Smithb2c82a62017-01-27 01:54:42 +0000317.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000318.. option:: -lazy\_library <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000319.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000320
Richard Smith081ad4d2017-01-24 19:39:46 +0000321.. option:: -mbig-endian, -EB
322
Craig Topper9624beb2020-03-10 11:08:19 -0700323.. option:: -mbranch-protection=<arg>
324
325Enforce targets of indirect branches and function returns
326
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -0400327.. option:: -mharden-sls=<arg>
328
329Select straight-line speculation hardening scope
330
Richard Smith081ad4d2017-01-24 19:39:46 +0000331.. option:: --migrate
332
333Run the migrator
334
Richard Smith78e23fd2017-04-13 22:39:49 +0000335.. option:: -mios-simulator-version-min=<arg>, -miphonesimulator-version-min=<arg>
336
Richard Smith081ad4d2017-01-24 19:39:46 +0000337.. option:: -mlinker-version=<arg>
338
Richard Smith081ad4d2017-01-24 19:39:46 +0000339.. option:: -mlittle-endian, -EL
340
Richard Smith081ad4d2017-01-24 19:39:46 +0000341.. option:: -mllvm <arg>
342
343Additional arguments to forward to LLVM's option processing
344
Richard Smith081ad4d2017-01-24 19:39:46 +0000345.. option:: -module-dependency-dir <arg>
346
347Directory to dump module dependencies to
348
Richard Smith78e23fd2017-04-13 22:39:49 +0000349.. option:: -mtvos-simulator-version-min=<arg>, -mappletvsimulator-version-min=<arg>
350
Richard Smith081ad4d2017-01-24 19:39:46 +0000351.. option:: -multi\_module
352
Richard Smith081ad4d2017-01-24 19:39:46 +0000353.. option:: -multiply\_defined <arg>
354
Richard Smithb2c82a62017-01-27 01:54:42 +0000355.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000356.. option:: -multiply\_defined\_unused <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000357.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000358
Richard Smith78e23fd2017-04-13 22:39:49 +0000359.. option:: -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg>
360
Richard Smith081ad4d2017-01-24 19:39:46 +0000361.. option:: --no-cuda-version-check
362
363Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
364
Richard Smith081ad4d2017-01-24 19:39:46 +0000365.. option:: -no-integrated-cpp, --no-integrated-cpp
366
Richard Smith081ad4d2017-01-24 19:39:46 +0000367.. option:: -no\_dead\_strip\_inits\_and\_terms
368
Richard Smith081ad4d2017-01-24 19:39:46 +0000369.. option:: -nobuiltininc
370
371Disable builtin #include directories
372
Richard Smith081ad4d2017-01-24 19:39:46 +0000373.. option:: -nodefaultlibs
374
Richard Smith081ad4d2017-01-24 19:39:46 +0000375.. option:: -nofixprebinding
376
Fangrui Songd8c97292020-06-18 14:52:39 -0700377.. option:: -nogpuinc, -nocudainc
378
Craig Topper9624beb2020-03-10 11:08:19 -0700379.. option:: -nogpulib, -nocudalib
380
381Do not link device library for CUDA/HIP device compilation
382
Richard Smith081ad4d2017-01-24 19:39:46 +0000383.. option:: -nolibc
384
Richard Smith081ad4d2017-01-24 19:39:46 +0000385.. option:: -nomultidefs
386
Craig Topperd23254a2017-07-20 17:52:48 +0000387.. option:: -nopie, -no-pie
Richard Smith081ad4d2017-01-24 19:39:46 +0000388
Richard Smith081ad4d2017-01-24 19:39:46 +0000389.. option:: -noprebind
390
Petr Hosek08cb3422019-07-11 19:06:38 +0000391.. option:: -noprofilelib
392
Richard Smith081ad4d2017-01-24 19:39:46 +0000393.. option:: -noseglinkedit
394
Richard Smith081ad4d2017-01-24 19:39:46 +0000395.. option:: -nostdinc, --no-standard-includes
396
Richard Smithb2c82a62017-01-27 01:54:42 +0000397.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000398.. option:: -nostdinc++
Richard Smithb2c82a62017-01-27 01:54:42 +0000399.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000400
401Disable standard #include directories for the C++ standard library
402
Boris Kolpackovb150d242017-08-30 09:15:53 +0000403.. option:: -nostdlib++
Boris Kolpackovb150d242017-08-30 09:15:53 +0000404
Richard Smith081ad4d2017-01-24 19:39:46 +0000405.. option:: -nostdlibinc
406
Richard Smith081ad4d2017-01-24 19:39:46 +0000407.. option:: -o<file>, --output <arg>, --output=<arg>
408
409Write output to <file>
410
Richard Smith081ad4d2017-01-24 19:39:46 +0000411.. option:: -objcmt-atomic-property
412
413Make migration to 'atomic' properties
414
Richard Smith081ad4d2017-01-24 19:39:46 +0000415.. option:: -objcmt-migrate-all
416
417Enable migration to modern ObjC
418
Richard Smith081ad4d2017-01-24 19:39:46 +0000419.. option:: -objcmt-migrate-annotation
420
421Enable migration to property and method annotations
422
Richard Smith081ad4d2017-01-24 19:39:46 +0000423.. option:: -objcmt-migrate-designated-init
424
425Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods
426
Richard Smith081ad4d2017-01-24 19:39:46 +0000427.. option:: -objcmt-migrate-instancetype
428
429Enable migration to infer instancetype for method result type
430
Richard Smith081ad4d2017-01-24 19:39:46 +0000431.. option:: -objcmt-migrate-literals
432
433Enable migration to modern ObjC literals
434
Richard Smith081ad4d2017-01-24 19:39:46 +0000435.. option:: -objcmt-migrate-ns-macros
436
437Enable migration to NS\_ENUM/NS\_OPTIONS macros
438
Richard Smith081ad4d2017-01-24 19:39:46 +0000439.. option:: -objcmt-migrate-property
440
441Enable migration to modern ObjC property
442
Richard Smith081ad4d2017-01-24 19:39:46 +0000443.. option:: -objcmt-migrate-property-dot-syntax
444
445Enable migration of setter/getter messages to property-dot syntax
446
Richard Smith081ad4d2017-01-24 19:39:46 +0000447.. option:: -objcmt-migrate-protocol-conformance
448
449Enable migration to add protocol conformance on classes
450
Richard Smith081ad4d2017-01-24 19:39:46 +0000451.. option:: -objcmt-migrate-readonly-property
452
453Enable migration to modern ObjC readonly property
454
Richard Smith081ad4d2017-01-24 19:39:46 +0000455.. option:: -objcmt-migrate-readwrite-property
456
457Enable migration to modern ObjC readwrite property
458
Richard Smith081ad4d2017-01-24 19:39:46 +0000459.. option:: -objcmt-migrate-subscripting
460
461Enable migration to modern ObjC subscripting
462
Richard Smith081ad4d2017-01-24 19:39:46 +0000463.. option:: -objcmt-ns-nonatomic-iosonly
464
465Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute
466
Richard Smith081ad4d2017-01-24 19:39:46 +0000467.. option:: -objcmt-returns-innerpointer-property
468
469Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER
470
Richard Smith081ad4d2017-01-24 19:39:46 +0000471.. option:: -objcmt-whitelist-dir-path=<arg>, -objcmt-white-list-dir-path=<arg>
472
473Only modify files with a filename contained in the provided directory path
474
Richard Smith081ad4d2017-01-24 19:39:46 +0000475.. option:: -object
476
Fangrui Songd8c97292020-06-18 14:52:39 -0700477.. option:: --offload-arch=<arg>, --cuda-gpu-arch=<arg>, --no-offload-arch=<arg>
478
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -0400479CUDA offloading device architecture (e.g. sm\_35), or HIP offloading target ID in the form of a device architecture followed by target ID features delimited by a colon. Each target ID feature is a pre-defined string followed by a plus or minus sign (e.g. gfx908:xnack+:sram-ecc-). May be specified more than once.
Fangrui Songd8c97292020-06-18 14:52:39 -0700480
Richard Smith081ad4d2017-01-24 19:39:46 +0000481.. option:: -p, --profile
482
Richard Smith081ad4d2017-01-24 19:39:46 +0000483.. option:: -pagezero\_size<arg>
484
Richard Smith081ad4d2017-01-24 19:39:46 +0000485.. option:: -pg
486
487Enable mcount instrumentation
488
Richard Smith081ad4d2017-01-24 19:39:46 +0000489.. option:: -pipe, --pipe
490
491Use pipes between commands, when possible
492
Richard Smith081ad4d2017-01-24 19:39:46 +0000493.. option:: -prebind
494
Richard Smithb2c82a62017-01-27 01:54:42 +0000495.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000496.. option:: -prebind\_all\_twolevel\_modules
Richard Smithb2c82a62017-01-27 01:54:42 +0000497.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000498
Richard Smith081ad4d2017-01-24 19:39:46 +0000499.. option:: -preload
500
Richard Smith081ad4d2017-01-24 19:39:46 +0000501.. option:: --print-diagnostic-categories
502
Vedant Kumar368540f2018-08-23 17:55:03 +0000503.. option:: -print-effective-triple, --print-effective-triple
504
505Print the effective target triple
506
Richard Smith081ad4d2017-01-24 19:39:46 +0000507.. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg>
508
509Print the full library path of <file>
510
Richard Smith081ad4d2017-01-24 19:39:46 +0000511.. option:: -print-ivar-layout
512
513Enable Objective-C Ivar layout bitmap print trace
514
Richard Smith081ad4d2017-01-24 19:39:46 +0000515.. option:: -print-libgcc-file-name, --print-libgcc-file-name
516
517Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang\_rt.builtins.\*.a")
518
Richard Smith081ad4d2017-01-24 19:39:46 +0000519.. option:: -print-multi-directory, --print-multi-directory
520
Richard Smith081ad4d2017-01-24 19:39:46 +0000521.. option:: -print-multi-lib, --print-multi-lib
522
Richard Smith081ad4d2017-01-24 19:39:46 +0000523.. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg>
524
525Print the full program path of <name>
526
Richard Smith78e23fd2017-04-13 22:39:49 +0000527.. option:: -print-resource-dir, --print-resource-dir
528
529Print the resource directory pathname
530
Richard Smith081ad4d2017-01-24 19:39:46 +0000531.. option:: -print-search-dirs, --print-search-dirs
532
533Print the paths used for finding libraries and programs
534
Vedant Kumar368540f2018-08-23 17:55:03 +0000535.. option:: -print-target-triple, --print-target-triple
536
537Print the normalized target triple
538
Fangrui Songd8c97292020-06-18 14:52:39 -0700539.. option:: -print-targets, --print-targets
540
541Print the registered targets
542
Richard Smith081ad4d2017-01-24 19:39:46 +0000543.. option:: -private\_bundle
544
Richard Smith081ad4d2017-01-24 19:39:46 +0000545.. option:: -pthread, -no-pthread
546
547Support POSIX threads in generated code
548
Richard Smith081ad4d2017-01-24 19:39:46 +0000549.. option:: -pthreads
550
Richard Smith081ad4d2017-01-24 19:39:46 +0000551.. option:: -read\_only\_relocs <arg>
552
Richard Smith081ad4d2017-01-24 19:39:46 +0000553.. option:: -relocatable-pch, --relocatable-pch
554
555Whether to build a relocatable precompiled header
556
Richard Smith081ad4d2017-01-24 19:39:46 +0000557.. option:: -remap
558
Richard Smith081ad4d2017-01-24 19:39:46 +0000559.. option:: -rewrite-legacy-objc
560
561Rewrite Legacy Objective-C source to C++
562
Richard Smith081ad4d2017-01-24 19:39:46 +0000563.. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg>
564
565Compiler runtime library to use
566
Richard Smith081ad4d2017-01-24 19:39:46 +0000567.. option:: -save-stats=<arg>, --save-stats=<arg>, -save-stats (equivalent to -save-stats=cwd), --save-stats (equivalent to -save-stats=cwd)
568
569Save llvm statistics.
570
Richard Smith081ad4d2017-01-24 19:39:46 +0000571.. option:: -save-temps=<arg>, --save-temps=<arg>, -save-temps (equivalent to -save-temps=cwd), --save-temps (equivalent to -save-temps=cwd)
572
573Save intermediate compilation results.
574
Richard Smith081ad4d2017-01-24 19:39:46 +0000575.. option:: -sectalign <arg1> <arg2> <arg3>
576
Richard Smith081ad4d2017-01-24 19:39:46 +0000577.. option:: -sectcreate <arg1> <arg2> <arg3>
578
Richard Smith081ad4d2017-01-24 19:39:46 +0000579.. option:: -sectobjectsymbols <arg1> <arg2>
580
Richard Smith081ad4d2017-01-24 19:39:46 +0000581.. option:: -sectorder <arg1> <arg2> <arg3>
582
Richard Smith081ad4d2017-01-24 19:39:46 +0000583.. option:: -seg1addr<arg>
584
Richard Smith081ad4d2017-01-24 19:39:46 +0000585.. option:: -seg\_addr\_table <arg>
586
Richard Smithb2c82a62017-01-27 01:54:42 +0000587.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000588.. option:: -seg\_addr\_table\_filename <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000589.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000590
Richard Smith081ad4d2017-01-24 19:39:46 +0000591.. option:: -segaddr <arg1> <arg2>
592
Richard Smith081ad4d2017-01-24 19:39:46 +0000593.. option:: -segcreate <arg1> <arg2> <arg3>
594
Richard Smith081ad4d2017-01-24 19:39:46 +0000595.. option:: -seglinkedit
596
Richard Smith081ad4d2017-01-24 19:39:46 +0000597.. option:: -segprot <arg1> <arg2> <arg3>
598
Richard Smith081ad4d2017-01-24 19:39:46 +0000599.. option:: -segs\_read\_<arg>
600
Richard Smithb2c82a62017-01-27 01:54:42 +0000601.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000602.. option:: -segs\_read\_only\_addr <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000603.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000604
Richard Smithb2c82a62017-01-27 01:54:42 +0000605.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000606.. option:: -segs\_read\_write\_addr <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000607.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000608
Richard Smith081ad4d2017-01-24 19:39:46 +0000609.. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg>
610
611Serialize compiler diagnostics to a file
612
Richard Smith081ad4d2017-01-24 19:39:46 +0000613.. option:: -shared-libgcc
614
Craig Topper16418662017-11-20 18:07:43 +0000615.. option:: -shared-libsan, -shared-libasan
616
Vedant Kumar368540f2018-08-23 17:55:03 +0000617Dynamically link the sanitizer runtime
618
Richard Smith081ad4d2017-01-24 19:39:46 +0000619.. option:: -single\_module
620
Richard Smith081ad4d2017-01-24 19:39:46 +0000621.. option:: -static-libgcc
622
Craig Topper16418662017-11-20 18:07:43 +0000623.. option:: -static-libsan
624
Vedant Kumar368540f2018-08-23 17:55:03 +0000625Statically link the sanitizer runtime
626
Richard Smith081ad4d2017-01-24 19:39:46 +0000627.. option:: -static-libstdc++
628
Craig Topper9624beb2020-03-10 11:08:19 -0700629.. option:: -static-openmp
630
631Use the static host OpenMP runtime while linking.
632
Richard Smith081ad4d2017-01-24 19:39:46 +0000633.. option:: -std-default=<arg>
634
Richard Smith081ad4d2017-01-24 19:39:46 +0000635.. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg>
636
637C++ standard library to use
638
Richard Smith081ad4d2017-01-24 19:39:46 +0000639.. option:: -sub\_library<arg>
640
Richard Smithb2c82a62017-01-27 01:54:42 +0000641.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000642.. option:: -sub\_umbrella<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000643.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000644
Richard Smith081ad4d2017-01-24 19:39:46 +0000645.. option:: --sysroot=<arg>, --sysroot <arg>
646
Richard Smith081ad4d2017-01-24 19:39:46 +0000647.. option:: --target-help
648
Richard Smith081ad4d2017-01-24 19:39:46 +0000649.. option:: --target=<arg>, -target <arg>
650
651Generate code for the given target
652
Richard Smith081ad4d2017-01-24 19:39:46 +0000653.. option:: -time
654
655Time individual commands
656
Richard Smith081ad4d2017-01-24 19:39:46 +0000657.. option:: -traditional, --traditional
658
Richard Smith081ad4d2017-01-24 19:39:46 +0000659.. option:: -traditional-cpp, --traditional-cpp
660
661Enable some traditional CPP emulation
662
Richard Smith081ad4d2017-01-24 19:39:46 +0000663.. option:: -twolevel\_namespace
664
Richard Smithb2c82a62017-01-27 01:54:42 +0000665.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000666.. option:: -twolevel\_namespace\_hints
Richard Smithb2c82a62017-01-27 01:54:42 +0000667.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000668
Richard Smith081ad4d2017-01-24 19:39:46 +0000669.. option:: -umbrella <arg>
670
Richard Smith081ad4d2017-01-24 19:39:46 +0000671.. option:: -unexported\_symbols\_list <arg>
672
Craig Topper9624beb2020-03-10 11:08:19 -0700673.. option:: -unwindlib=<arg>, --unwindlib=<arg>
674
675Unwind library to use
676
Richard Smith081ad4d2017-01-24 19:39:46 +0000677.. option:: -v, --verbose
678
679Show commands to run and use verbose output
680
Richard Smith081ad4d2017-01-24 19:39:46 +0000681.. option:: --verify-debug-info
682
683Verify the binary representation of debug output
684
Richard Smith081ad4d2017-01-24 19:39:46 +0000685.. option:: --version
686
Craig Topper16418662017-11-20 18:07:43 +0000687Print version information
688
Richard Smith081ad4d2017-01-24 19:39:46 +0000689.. option:: -w, --no-warnings
690
691Suppress all warnings
692
Richard Smith081ad4d2017-01-24 19:39:46 +0000693.. option:: -weak-l<arg>
694
Richard Smith081ad4d2017-01-24 19:39:46 +0000695.. option:: -weak\_framework <arg>
696
Richard Smithb2c82a62017-01-27 01:54:42 +0000697.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000698.. option:: -weak\_library <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000699.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000700
Richard Smithb2c82a62017-01-27 01:54:42 +0000701.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000702.. option:: -weak\_reference\_mismatches <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000703.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000704
Richard Smith081ad4d2017-01-24 19:39:46 +0000705.. option:: -whatsloaded
706
Richard Smith081ad4d2017-01-24 19:39:46 +0000707.. option:: -whyload
708
Richard Smith081ad4d2017-01-24 19:39:46 +0000709.. option:: -working-directory<arg>, -working-directory=<arg>
710
711Resolve file paths relative to the specified directory
712
Richard Smith081ad4d2017-01-24 19:39:46 +0000713.. option:: -x<language>, --language <arg>, --language=<arg>
714
715Treat subsequent input files as having type <language>
716
Richard Smith081ad4d2017-01-24 19:39:46 +0000717.. option:: -y<arg>
718
719Actions
720=======
721The action to perform on the input.
722
Richard Smith081ad4d2017-01-24 19:39:46 +0000723.. option:: -E, --preprocess
724
725Only run the preprocessor
726
Richard Smith081ad4d2017-01-24 19:39:46 +0000727.. option:: -S, --assemble
728
729Only run preprocess and compilation steps
730
Richard Smithc5b2e002017-01-27 02:08:37 +0000731.. option:: -c, --compile
732
733Only run preprocess, compile, and assemble steps
734
Craig Topper9624beb2020-03-10 11:08:19 -0700735.. option:: -emit-interface-stubs
736
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -0400737Generate Interface Stub Files.
Craig Topper9624beb2020-03-10 11:08:19 -0700738
Richard Smith081ad4d2017-01-24 19:39:46 +0000739.. option:: -emit-llvm
740
741Use the LLVM representation for assembler and object files
742
Craig Topper9624beb2020-03-10 11:08:19 -0700743.. option:: -emit-merged-ifs
744
745Generate Interface Stub Files, emit merged text not binary.
746
Richard Smith081ad4d2017-01-24 19:39:46 +0000747.. option:: -fsyntax-only
748
Richard Smith081ad4d2017-01-24 19:39:46 +0000749.. option:: -module-file-info
750
751Provide information about a particular module file
752
Richard Smith081ad4d2017-01-24 19:39:46 +0000753.. option:: --precompile
754
755Only precompile the input
756
Richard Smith081ad4d2017-01-24 19:39:46 +0000757.. option:: -rewrite-objc
758
759Rewrite Objective-C source to C++
760
Richard Smith081ad4d2017-01-24 19:39:46 +0000761.. option:: -verify-pch
762
763Load and verify that a pre-compiled header file is not stale
764
765Compilation flags
766=================
767
768Flags controlling the behavior of Clang during compilation. These flags have
769no effect during actions that do not perform compilation.
770
Richard Smithc5b2e002017-01-27 02:08:37 +0000771.. option:: -Xassembler <arg>
Richard Smith081ad4d2017-01-24 19:39:46 +0000772
Richard Smithc5b2e002017-01-27 02:08:37 +0000773Pass <arg> to the assembler
Richard Smith081ad4d2017-01-24 19:39:46 +0000774
Richard Smith081ad4d2017-01-24 19:39:46 +0000775.. option:: -Xclang <arg>
776
777Pass <arg> to the clang compiler
778
Boris Kolpackovb150d242017-08-30 09:15:53 +0000779.. option:: -fclang-abi-compat=<version>
780
781Attempt to match the ABI of Clang <version>
782
Richard Smith081ad4d2017-01-24 19:39:46 +0000783.. option:: -fcomment-block-commands=<arg>,<arg2>...
784
785Treat each comma separated argument in <arg> as a documentation comment block command
786
Vedant Kumar368540f2018-08-23 17:55:03 +0000787.. option:: -fcomplete-member-pointers, -fno-complete-member-pointers
788
789Require member pointer base types to be complete if they would be significant under the Microsoft ABI
790
791.. option:: -fcrash-diagnostics-dir=<arg>
792
Richard Smith081ad4d2017-01-24 19:39:46 +0000793.. option:: -fdeclspec, -fno-declspec
794
795Allow \_\_declspec as a keyword
796
Richard Smith081ad4d2017-01-24 19:39:46 +0000797.. option:: -fdepfile-entry=<arg>
798
Richard Smith081ad4d2017-01-24 19:39:46 +0000799.. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info
800
Richard Smith081ad4d2017-01-24 19:39:46 +0000801.. option:: -fdiagnostics-format=<arg>
802
Richard Smith081ad4d2017-01-24 19:39:46 +0000803.. option:: -fdiagnostics-parseable-fixits
804
805Print fix-its in machine parseable form
806
Richard Smith081ad4d2017-01-24 19:39:46 +0000807.. option:: -fdiagnostics-print-source-range-info
808
809Print source range spans in numeric form
810
Richard Smith081ad4d2017-01-24 19:39:46 +0000811.. option:: -fdiagnostics-show-category=<arg>
812
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000813.. option:: -fdiscard-value-names, -fno-discard-value-names
814
815Discard value names in LLVM IR
816
Richard Smith081ad4d2017-01-24 19:39:46 +0000817.. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager
818
819Enables an experimental new pass manager in LLVM.
820
Kevin P. Neald4ce8622020-07-10 08:46:09 -0400821.. option:: -fexperimental-strict-floating-point
822
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -0400823Enables experimental strict floating point in LLVM.
Kevin P. Neald4ce8622020-07-10 08:46:09 -0400824
Craig Topper16418662017-11-20 18:07:43 +0000825.. option:: -ffine-grained-bitfield-accesses, -fno-fine-grained-bitfield-accesses
826
Vedant Kumar368540f2018-08-23 17:55:03 +0000827Use separate accesses for consecutive bitfield runs with legal widths and alignments.
Craig Topper16418662017-11-20 18:07:43 +0000828
Fangrui Songd8c97292020-06-18 14:52:39 -0700829.. option:: -fglobal-isel, -fexperimental-isel, -fno-global-isel
830
831Enables the global instruction selector
832
Richard Smith081ad4d2017-01-24 19:39:46 +0000833.. option:: -finline-functions, -fno-inline-functions
834
835Inline suitable functions
836
Richard Smith081ad4d2017-01-24 19:39:46 +0000837.. option:: -finline-hint-functions
838
839Inline functions which are (explicitly or implicitly) marked inline
840
Richard Smith081ad4d2017-01-24 19:39:46 +0000841.. option:: -fno-crash-diagnostics
842
Richard Smith78e23fd2017-04-13 22:39:49 +0000843Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
844
Richard Smith081ad4d2017-01-24 19:39:46 +0000845.. option:: -fno-sanitize-blacklist
846
847Don't use blacklist file for sanitizers
848
Richard Smith081ad4d2017-01-24 19:39:46 +0000849.. option:: -fparse-all-comments
850
Craig Topper9624beb2020-03-10 11:08:19 -0700851.. option:: -frecord-command-line, -fno-record-command-line, -frecord-gcc-switches
Scott Linderde6beb02018-12-14 15:38:15 +0000852
Richard Smith081ad4d2017-01-24 19:39:46 +0000853.. option:: -fsanitize-address-field-padding=<arg>
854
855Level of field padding for AddressSanitizer
856
Craig Topperd23254a2017-07-20 17:52:48 +0000857.. option:: -fsanitize-address-globals-dead-stripping
858
859Enable linker dead stripping of globals in AddressSanitizer
860
Filipe Cabecinhas0eb50082018-11-02 17:29:04 +0000861.. option:: -fsanitize-address-poison-custom-array-cookie, -fno-sanitize-address-poison-custom-array-cookie
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000862
Craig Topper9624beb2020-03-10 11:08:19 -0700863Enable poisoning array cookies when using custom operator new\[\] in AddressSanitizer
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000864
Richard Smith081ad4d2017-01-24 19:39:46 +0000865.. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope
866
867Enable use-after-scope detection in AddressSanitizer
868
Craig Topper9624beb2020-03-10 11:08:19 -0700869.. option:: -fsanitize-address-use-odr-indicator, -fno-sanitize-address-use-odr-indicator
870
871Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
872
Richard Smith081ad4d2017-01-24 19:39:46 +0000873.. option:: -fsanitize-blacklist=<arg>
874
875Path to blacklist file for sanitizers
876
Craig Topper9624beb2020-03-10 11:08:19 -0700877.. option:: -fsanitize-cfi-canonical-jump-tables, -fno-sanitize-cfi-canonical-jump-tables
878
879Make the jump table addresses canonical in the symbol table
880
Richard Smith081ad4d2017-01-24 19:39:46 +0000881.. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso
882
883Enable control flow integrity (CFI) checks for cross-DSO calls.
884
Vlad Tsyrklevich634c6012017-10-31 22:39:44 +0000885.. option:: -fsanitize-cfi-icall-generalize-pointers
886
Craig Topper16418662017-11-20 18:07:43 +0000887Generalize pointers in CFI indirect call type signature checks
Vlad Tsyrklevich634c6012017-10-31 22:39:44 +0000888
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -0400889.. option:: -fsanitize-coverage-allowlist=<arg>, -fsanitize-coverage-whitelist=<arg>
Fangrui Songd8c97292020-06-18 14:52:39 -0700890
Fangrui Song2a4317b2020-06-19 22:22:47 -0700891Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
Fangrui Songd8c97292020-06-18 14:52:39 -0700892
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -0400893.. option:: -fsanitize-coverage-blocklist=<arg>, -fsanitize-coverage-blacklist=<arg>
Fangrui Songd8c97292020-06-18 14:52:39 -0700894
Fangrui Song2a4317b2020-06-19 22:22:47 -0700895Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
Fangrui Songd8c97292020-06-18 14:52:39 -0700896
Richard Smith081ad4d2017-01-24 19:39:46 +0000897.. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>...
898
899Specify the type of coverage instrumentation for Sanitizers
900
Craig Topper9624beb2020-03-10 11:08:19 -0700901.. option:: -fsanitize-hwaddress-abi=<arg>
902
903Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
904
905.. option:: -fsanitize-link-c++-runtime, -fno-sanitize-link-c++-runtime
906
907.. option:: -fsanitize-link-runtime, -fno-sanitize-link-runtime
Richard Smith081ad4d2017-01-24 19:39:46 +0000908
Richard Smith081ad4d2017-01-24 19:39:46 +0000909.. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins
910
911Enable origins tracking in MemorySanitizer
912
Richard Smithb2c82a62017-01-27 01:54:42 +0000913.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000914.. option:: -fsanitize-memory-track-origins=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000915.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000916
917Enable origins tracking in MemorySanitizer
918
Craig Topper16418662017-11-20 18:07:43 +0000919.. option:: -fsanitize-memory-use-after-dtor, -fno-sanitize-memory-use-after-dtor
Richard Smith081ad4d2017-01-24 19:39:46 +0000920
921Enable use-after-destroy detection in MemorySanitizer
922
Boris Kolpackovb150d242017-08-30 09:15:53 +0000923.. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime
924
Fangrui Songd8c97292020-06-18 14:52:39 -0700925.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>..., -fsanitize-recover (equivalent to -fsanitize-recover=all)
Richard Smith081ad4d2017-01-24 19:39:46 +0000926
927Enable recovery for specified sanitizers
928
Richard Smith081ad4d2017-01-24 19:39:46 +0000929.. option:: -fsanitize-stats, -fno-sanitize-stats
930
931Enable sanitizer statistics gathering.
932
Richard Smith081ad4d2017-01-24 19:39:46 +0000933.. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics
934
935Enable atomic operations instrumentation in ThreadSanitizer (default)
936
Richard Smith081ad4d2017-01-24 19:39:46 +0000937.. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit
938
939Enable function entry/exit instrumentation in ThreadSanitizer (default)
940
Richard Smith081ad4d2017-01-24 19:39:46 +0000941.. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access
942
943Enable memory access instrumentation in ThreadSanitizer (default)
944
Fangrui Songd8c97292020-06-18 14:52:39 -0700945.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>..., -fsanitize-trap (equivalent to -fsanitize-trap=all), -fsanitize-undefined-trap-on-error (equivalent to -fsanitize-trap=undefined)
Richard Smith081ad4d2017-01-24 19:39:46 +0000946
947Enable trapping for specified sanitizers
948
Richard Smith081ad4d2017-01-24 19:39:46 +0000949.. option:: -fsanitize-undefined-strip-path-components=<number>
950
951Strip (or keep only, if negative) a given number of path components when emitting check metadata.
952
Richard Smith081ad4d2017-01-24 19:39:46 +0000953.. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>...
954
955Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
956
Vedant Kumar368540f2018-08-23 17:55:03 +0000957.. option:: -moutline, -mno-outline
958
959Enable function outlining (AArch64 only)
960
Richard Smith081ad4d2017-01-24 19:39:46 +0000961.. option:: --param <arg>, --param=<arg>
962
Craig Topper9624beb2020-03-10 11:08:19 -0700963.. option:: -print-supported-cpus, --print-supported-cpus, -mcpu=?, -mtune=?
964
965Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)
966
Richard Smith081ad4d2017-01-24 19:39:46 +0000967.. option:: -std=<arg>, --std=<arg>, --std <arg>
968
969Language standard to compile for
970
Richard Smithc5b2e002017-01-27 02:08:37 +0000971Preprocessor flags
972~~~~~~~~~~~~~~~~~~
973
974Flags controlling the behavior of the Clang preprocessor.
975
976.. option:: -C, --comments
977
978Include comments in preprocessed output
979
980.. option:: -CC, --comments-in-macros
981
982Include comments from within macros in preprocessed output
983
984.. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg>
985
986Define <macro> to <value> (or 1 if <value> omitted)
987
988.. option:: -H, --trace-includes
989
990Show header includes and nesting depth
991
992.. option:: -P, --no-line-commands
993
994Disable linemarker output in -E mode
995
996.. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg>
997
998Undefine macro <macro>
999
1000.. option:: -Wp,<arg>,<arg2>...
1001
1002Pass the comma separated arguments in <arg> to the preprocessor
1003
1004.. option:: -Xpreprocessor <arg>
1005
1006Pass <arg> to the preprocessor
1007
Craig Topper9624beb2020-03-10 11:08:19 -07001008.. option:: -fmacro-prefix-map=<arg>
1009
1010remap file source paths in predefined preprocessor macros
1011
Richard Smith081ad4d2017-01-24 19:39:46 +00001012Include path management
Richard Smithc5b2e002017-01-27 02:08:37 +00001013-----------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001014
1015Flags controlling how ``#include``\s are resolved to files.
1016
Andrei Lebedev8dd4e3c2020-08-01 15:54:11 -07001017.. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00001018
Andrei Lebedev8dd4e3c2020-08-01 15:54:11 -07001019Add directory to include search path. If there are multiple -I options, these directories are searched in the order they are given before the standard system directories are searched. If the same directory is in the SYSTEM include search paths, for example if also specified with -isystem, the -I option will be ignored
Richard Smith081ad4d2017-01-24 19:39:46 +00001020
Richard Smith081ad4d2017-01-24 19:39:46 +00001021.. option:: -I-, --include-barrier
1022
Richard Smithc5b2e002017-01-27 02:08:37 +00001023Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
1024
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00001025.. option:: --cuda-path-ignore-env
1026
1027Ignore environment variables to detect CUDA installation
1028
Richard Smith081ad4d2017-01-24 19:39:46 +00001029.. option:: --cuda-path=<arg>
1030
1031CUDA installation path
1032
Richard Smith081ad4d2017-01-24 19:39:46 +00001033.. option:: -cxx-isystem<directory>
1034
1035Add directory to the C++ SYSTEM include search path
1036
Richard Smith081ad4d2017-01-24 19:39:46 +00001037.. option:: -fbuild-session-file=<file>
1038
1039Use the last modification time of <file> as the build session timestamp
1040
Richard Smith081ad4d2017-01-24 19:39:46 +00001041.. option:: -fbuild-session-timestamp=<time since Epoch in seconds>
1042
1043Time when the current build session started
1044
Boris Kolpackovb150d242017-08-30 09:15:53 +00001045.. option:: -fmodule-file=\[<name>=\]<file>
1046
1047Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
1048
Richard Smith081ad4d2017-01-24 19:39:46 +00001049.. option:: -fmodules-cache-path=<directory>
1050
1051Specify the module cache path
1052
Richard Smith081ad4d2017-01-24 19:39:46 +00001053.. option:: -fmodules-disable-diagnostic-validation
1054
1055Disable validation of the diagnostic options when loading the module
1056
Richard Smith081ad4d2017-01-24 19:39:46 +00001057.. option:: -fmodules-prune-after=<seconds>
1058
1059Specify the interval (in seconds) after which a module file will be considered unused
1060
Richard Smith081ad4d2017-01-24 19:39:46 +00001061.. option:: -fmodules-prune-interval=<seconds>
1062
1063Specify the interval (in seconds) between attempts to prune the module cache
1064
Richard Smith081ad4d2017-01-24 19:39:46 +00001065.. option:: -fmodules-user-build-path <directory>
1066
1067Specify the module user build path
1068
Richard Smith081ad4d2017-01-24 19:39:46 +00001069.. option:: -fmodules-validate-once-per-build-session
1070
1071Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
1072
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001073.. option:: -fmodules-validate-system-headers, -fno-modules-validate-system-headers
Richard Smith081ad4d2017-01-24 19:39:46 +00001074
1075Validate the system headers that a module depends on when loading the module
1076
Richard Smith081ad4d2017-01-24 19:39:46 +00001077.. option:: -fprebuilt-module-path=<directory>
1078
1079Specify the prebuilt module path
1080
Richard Smith081ad4d2017-01-24 19:39:46 +00001081.. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg>
1082
1083Add directory to AFTER include search path
1084
Richard Smith081ad4d2017-01-24 19:39:46 +00001085.. option:: -iframework<arg>
1086
1087Add directory to SYSTEM framework search path
1088
Richard Smith78e23fd2017-04-13 22:39:49 +00001089.. option:: -iframeworkwithsysroot<directory>
1090
1091Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
1092
Richard Smith081ad4d2017-01-24 19:39:46 +00001093.. option:: -imacros<file>, --imacros<file>, --imacros=<arg>
1094
1095Include macros from file before parsing
1096
Richard Smith081ad4d2017-01-24 19:39:46 +00001097.. option:: -include<file>, --include<file>, --include=<arg>
1098
1099Include file before parsing
1100
Richard Smith081ad4d2017-01-24 19:39:46 +00001101.. option:: -include-pch <file>
1102
1103Include precompiled header file
1104
Richard Smith081ad4d2017-01-24 19:39:46 +00001105.. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg>
1106
1107Set the -iwithprefix/-iwithprefixbefore prefix
1108
Richard Smith081ad4d2017-01-24 19:39:46 +00001109.. option:: -iquote<directory>
1110
1111Add directory to QUOTE include search path
1112
Richard Smith081ad4d2017-01-24 19:39:46 +00001113.. option:: -isysroot<dir>
1114
1115Set the system root directory (usually /)
1116
Richard Smith081ad4d2017-01-24 19:39:46 +00001117.. option:: -isystem<directory>
1118
1119Add directory to SYSTEM include search path
1120
Richard Smith081ad4d2017-01-24 19:39:46 +00001121.. option:: -isystem-after<directory>
1122
1123Add directory to end of the SYSTEM include search path
1124
Richard Smith081ad4d2017-01-24 19:39:46 +00001125.. option:: -ivfsoverlay<arg>
1126
1127Overlay the virtual filesystem described by file over the real file system
1128
Richard Smith081ad4d2017-01-24 19:39:46 +00001129.. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg>
1130
1131Set directory to SYSTEM include search path with prefix
1132
Richard Smith081ad4d2017-01-24 19:39:46 +00001133.. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg>
1134
1135Set directory to include search path with prefix
1136
Richard Smith081ad4d2017-01-24 19:39:46 +00001137.. option:: -iwithsysroot<directory>
1138
1139Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
1140
Craig Topper9624beb2020-03-10 11:08:19 -07001141.. option:: --libomptarget-nvptx-path=<arg>
1142
1143Path to libomptarget-nvptx libraries
1144
Richard Smith081ad4d2017-01-24 19:39:46 +00001145.. option:: --ptxas-path=<arg>
1146
1147Path to ptxas (used for compiling CUDA code)
1148
Fangrui Songd8c97292020-06-18 14:52:39 -07001149.. option:: --rocm-path=<arg>
1150
1151ROCm installation path, used for finding and automatically linking required bitcode libraries.
1152
Craig Topper9624beb2020-03-10 11:08:19 -07001153.. program:: clang1
1154.. option:: -stdlib++-isystem<directory>
1155.. program:: clang
1156
1157Use directory as the C++ standard library include path
1158
Richard Smith081ad4d2017-01-24 19:39:46 +00001159.. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg>
1160
1161Treat all #include paths starting with <prefix> as including a system header.
1162
1163Dependency file generation
Richard Smithc5b2e002017-01-27 02:08:37 +00001164--------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001165
1166Flags controlling generation of a dependency file for ``make``-like build
1167systems.
1168
Richard Smith081ad4d2017-01-24 19:39:46 +00001169.. option:: -M, --dependencies
1170
1171Like -MD, but also implies -E and writes to stdout by default
1172
Richard Smith081ad4d2017-01-24 19:39:46 +00001173.. option:: -MD, --write-dependencies
1174
1175Write a depfile containing user and system headers
1176
Richard Smith081ad4d2017-01-24 19:39:46 +00001177.. option:: -MF<file>
1178
1179Write depfile output from -MMD, -MD, -MM, or -M to <file>
1180
Richard Smith081ad4d2017-01-24 19:39:46 +00001181.. option:: -MG, --print-missing-file-dependencies
1182
1183Add missing headers to depfile
1184
Richard Smith081ad4d2017-01-24 19:39:46 +00001185.. option:: -MJ<arg>
1186
1187Write a compilation database entry per input
1188
Richard Smith081ad4d2017-01-24 19:39:46 +00001189.. option:: -MM, --user-dependencies
1190
1191Like -MMD, but also implies -E and writes to stdout by default
1192
Richard Smith081ad4d2017-01-24 19:39:46 +00001193.. option:: -MMD, --write-user-dependencies
1194
1195Write a depfile containing user headers
1196
Richard Smith081ad4d2017-01-24 19:39:46 +00001197.. option:: -MP
1198
1199Create phony target for each dependency (other than main file)
1200
Richard Smith081ad4d2017-01-24 19:39:46 +00001201.. option:: -MQ<arg>
1202
1203Specify name of main file output to quote in depfile
1204
Richard Smith081ad4d2017-01-24 19:39:46 +00001205.. option:: -MT<arg>
1206
1207Specify name of main file output in depfile
1208
Richard Smith081ad4d2017-01-24 19:39:46 +00001209.. option:: -MV
1210
1211Use NMake/Jom format for the depfile
1212
1213Dumping preprocessor state
Richard Smithc5b2e002017-01-27 02:08:37 +00001214--------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001215
1216Flags allowing the state of the preprocessor to be dumped in various ways.
1217
Richard Smith081ad4d2017-01-24 19:39:46 +00001218.. option:: -d
1219
Richard Smithb2c82a62017-01-27 01:54:42 +00001220.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001221.. option:: -d<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001222.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001223
Richard Smith081ad4d2017-01-24 19:39:46 +00001224.. option:: -dD
1225
1226Print macro definitions in -E mode in addition to normal output
1227
Richard Smith081ad4d2017-01-24 19:39:46 +00001228.. option:: -dI
1229
1230Print include directives in -E mode in addition to normal output
1231
Richard Smith081ad4d2017-01-24 19:39:46 +00001232.. option:: -dM
1233
1234Print macro definitions in -E mode instead of normal output
1235
1236Diagnostic flags
1237~~~~~~~~~~~~~~~~
1238
1239Flags controlling which warnings, errors, and remarks Clang will generate.
1240See the :doc:`full list of warning and remark flags <DiagnosticsReference>`.
1241
Richard Smith081ad4d2017-01-24 19:39:46 +00001242.. option:: -R<remark>
1243
1244Enable the specified remark
1245
Richard Smith081ad4d2017-01-24 19:39:46 +00001246.. option:: -Rpass-analysis=<arg>
1247
1248Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
1249
Richard Smith081ad4d2017-01-24 19:39:46 +00001250.. option:: -Rpass-missed=<arg>
1251
1252Report missed transformations by optimization passes whose name matches the given POSIX regular expression
1253
Richard Smith081ad4d2017-01-24 19:39:46 +00001254.. option:: -Rpass=<arg>
1255
1256Report transformations performed by optimization passes whose name matches the given POSIX regular expression
1257
Richard Smith081ad4d2017-01-24 19:39:46 +00001258.. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg>
1259
1260Enable the specified warning
1261
Richard Smith081ad4d2017-01-24 19:39:46 +00001262.. option:: -Wdeprecated, -Wno-deprecated
1263
Richard Smithc5b2e002017-01-27 02:08:37 +00001264Enable warnings for deprecated constructs and define \_\_DEPRECATED
Richard Smith081ad4d2017-01-24 19:39:46 +00001265
Richard Smith081ad4d2017-01-24 19:39:46 +00001266.. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg>
1267
Richard Smith081ad4d2017-01-24 19:39:46 +00001268Target-independent compilation options
1269~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Richard Smith081ad4d2017-01-24 19:39:46 +00001270.. option:: -Wframe-larger-than=<arg>
1271
Richard Smith081ad4d2017-01-24 19:39:46 +00001272.. option:: -fPIC, -fno-PIC
1273
Richard Smith081ad4d2017-01-24 19:39:46 +00001274.. option:: -fPIE, -fno-PIE
1275
Vedant Kumar368540f2018-08-23 17:55:03 +00001276.. option:: -faddrsig, -fno-addrsig
1277
1278Emit an address-significance table
1279
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001280.. option:: -falign-functions, -fno-align-functions
1281
1282.. program:: clang1
1283.. option:: -falign-functions=<arg>
1284.. program:: clang
1285
Richard Smithb2c82a62017-01-27 01:54:42 +00001286.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001287.. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation
Richard Smithb2c82a62017-01-27 01:54:42 +00001288.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001289
1290Enable C++17 aligned allocation functions
1291
Craig Topperd23254a2017-07-20 17:52:48 +00001292.. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders
1293
1294Treat editor placeholders as valid source code
1295
Richard Smith081ad4d2017-01-24 19:39:46 +00001296.. option:: -fallow-unsupported
1297
Richard Smith78e23fd2017-04-13 22:39:49 +00001298.. option:: -faltivec, -fno-altivec
Richard Smith081ad4d2017-01-24 19:39:46 +00001299
Richard Smith081ad4d2017-01-24 19:39:46 +00001300.. option:: -fansi-escape-codes
1301
1302Use ANSI escape codes for diagnostics
1303
Richard Smith081ad4d2017-01-24 19:39:46 +00001304.. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables
1305
1306Use Apple's kernel extensions ABI
1307
Craig Topper9624beb2020-03-10 11:08:19 -07001308.. option:: -fapple-link-rtlib
1309
1310Force linking the clang builtins runtime library
1311
Richard Smith081ad4d2017-01-24 19:39:46 +00001312.. option:: -fapple-pragma-pack, -fno-apple-pragma-pack
1313
1314Enable Apple gcc-compatible #pragma pack handling
1315
Richard Smith081ad4d2017-01-24 19:39:46 +00001316.. option:: -fapplication-extension, -fno-application-extension
1317
1318Restrict code to those available for App Extensions
1319
Richard Smith081ad4d2017-01-24 19:39:46 +00001320.. option:: -fasm, -fno-asm
1321
Richard Smith081ad4d2017-01-24 19:39:46 +00001322.. option:: -fasm-blocks, -fno-asm-blocks
1323
Richard Smith081ad4d2017-01-24 19:39:46 +00001324.. option:: -fassociative-math, -fno-associative-math
1325
Richard Smith081ad4d2017-01-24 19:39:46 +00001326.. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new
1327
Richard Smith081ad4d2017-01-24 19:39:46 +00001328.. option:: -fast
1329
Richard Smith081ad4d2017-01-24 19:39:46 +00001330.. option:: -fastcp
1331
Richard Smith081ad4d2017-01-24 19:39:46 +00001332.. option:: -fastf
1333
Richard Smith081ad4d2017-01-24 19:39:46 +00001334.. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables
1335
Richard Smith081ad4d2017-01-24 19:39:46 +00001336.. option:: -fautolink, -fno-autolink
1337
Fangrui Songd8c97292020-06-18 14:52:39 -07001338.. option:: -fbasic-block-sections=<arg>
Sriraman Tallame0bca462020-06-01 23:17:29 -07001339
1340Generate labels for each basic block or place each basic block or a subset of basic blocks in its own section.
1341
Richard Smith081ad4d2017-01-24 19:39:46 +00001342.. option:: -fblocks, -fno-blocks
1343
1344Enable the 'blocks' language feature
1345
Richard Smith081ad4d2017-01-24 19:39:46 +00001346.. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg>
1347
Richard Smith081ad4d2017-01-24 19:39:46 +00001348.. option:: -fborland-extensions, -fno-borland-extensions
1349
1350Accept non-standard constructs supported by the Borland compiler
1351
Richard Smith081ad4d2017-01-24 19:39:46 +00001352.. option:: -fbracket-depth=<arg>
1353
Richard Smith081ad4d2017-01-24 19:39:46 +00001354.. option:: -fbuiltin, -fno-builtin
1355
Richard Smith081ad4d2017-01-24 19:39:46 +00001356.. option:: -fbuiltin-module-map
1357
1358Load the clang builtins module map file.
1359
Vedant Kumar368540f2018-08-23 17:55:03 +00001360.. option:: -fc++-static-destructors, -fno-c++-static-destructors
1361
Richard Smith081ad4d2017-01-24 19:39:46 +00001362.. option:: -fcaret-diagnostics, -fno-caret-diagnostics
1363
Craig Topper596527b2018-01-23 18:40:15 +00001364.. option:: -fcf-protection=<arg>, -fcf-protection (equivalent to -fcf-protection=full)
1365
1366Instrument control-flow architecture protection. Options: return, branch, full, none.
1367
Craig Topper9624beb2020-03-10 11:08:19 -07001368.. option:: -fcf-runtime-abi=<arg>
1369
Vedant Kumar368540f2018-08-23 17:55:03 +00001370.. option:: -fchar8\_t, -fno-char8\_t
1371
1372Enable C++ builtin type char8\_t
1373
Richard Smith081ad4d2017-01-24 19:39:46 +00001374.. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg>
1375
Richard Smith081ad4d2017-01-24 19:39:46 +00001376.. option:: -fcolor-diagnostics, -fno-color-diagnostics
1377
Fangrui Songd8c97292020-06-18 14:52:39 -07001378Enable colors in diagnostics
Richard Smith081ad4d2017-01-24 19:39:46 +00001379
Richard Smith081ad4d2017-01-24 19:39:46 +00001380.. option:: -fcommon, -fno-common
1381
Craig Topper9624beb2020-03-10 11:08:19 -07001382Place uninitialized global variables in a common block
Sjoerd Meijer3d9a0442020-03-09 19:25:24 +00001383
Richard Smith081ad4d2017-01-24 19:39:46 +00001384.. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg>
1385
Richard Smith081ad4d2017-01-24 19:39:46 +00001386.. option:: -fconstant-cfstrings, -fno-constant-cfstrings
1387
Richard Smith081ad4d2017-01-24 19:39:46 +00001388.. option:: -fconstant-string-class=<arg>
1389
Richard Smith081ad4d2017-01-24 19:39:46 +00001390.. option:: -fconstexpr-backtrace-limit=<arg>
1391
Richard Smith081ad4d2017-01-24 19:39:46 +00001392.. option:: -fconstexpr-depth=<arg>
1393
Richard Smith081ad4d2017-01-24 19:39:46 +00001394.. option:: -fconstexpr-steps=<arg>
1395
Craig Topper9624beb2020-03-10 11:08:19 -07001396.. option:: -fconvergent-functions
1397
1398Assume functions may be convergent
1399
Richard Smith081ad4d2017-01-24 19:39:46 +00001400.. option:: -fcoroutines-ts, -fno-coroutines-ts
1401
1402Enable support for the C++ Coroutines TS
1403
Richard Smith081ad4d2017-01-24 19:39:46 +00001404.. option:: -fcoverage-mapping, -fno-coverage-mapping
1405
1406Generate coverage mapping to enable code coverage analysis
1407
Richard Smith081ad4d2017-01-24 19:39:46 +00001408.. option:: -fcreate-profile
1409
Craig Topper9624beb2020-03-10 11:08:19 -07001410.. option:: -fcs-profile-generate
1411
1412Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1413
1414.. program:: clang1
1415.. option:: -fcs-profile-generate=<directory>
1416.. program:: clang
1417
1418Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1419
Fangrui Songd8c97292020-06-18 14:52:39 -07001420.. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals
1421
1422Use approximate transcendental functions
1423
1424.. option:: -fcuda-short-ptr, -fno-cuda-short-ptr
1425
1426Use 32-bit pointers for accessing const/local/shared address spaces
1427
Richard Smith081ad4d2017-01-24 19:39:46 +00001428.. option:: -fcxx-exceptions, -fno-cxx-exceptions
1429
1430Enable C++ exceptions
1431
Richard Smith081ad4d2017-01-24 19:39:46 +00001432.. option:: -fcxx-modules, -fno-cxx-modules
1433
Richard Smith081ad4d2017-01-24 19:39:46 +00001434.. option:: -fdata-sections, -fno-data-sections
1435
Craig Topper9624beb2020-03-10 11:08:19 -07001436Place each data in its own section
1437
1438.. option:: -fdebug-compilation-dir <arg>, -fdebug-compilation-dir=<arg>
1439
1440The compilation directory to embed in the debug info.
1441
1442.. option:: -fdebug-default-version=<arg>
1443
1444Default DWARF version to use, if a -g option caused DWARF debug info to be produced
Richard Smith081ad4d2017-01-24 19:39:46 +00001445
Richard Smith081ad4d2017-01-24 19:39:46 +00001446.. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling
1447
Fangrui Songd8c97292020-06-18 14:52:39 -07001448Emit extra debug info to make sample profile more accurate
Richard Smith081ad4d2017-01-24 19:39:46 +00001449
Richard Smith78e23fd2017-04-13 22:39:49 +00001450.. option:: -fdebug-macro, -fno-debug-macro
1451
1452Emit macro debug information
1453
Richard Smith081ad4d2017-01-24 19:39:46 +00001454.. option:: -fdebug-pass-arguments
1455
Richard Smith081ad4d2017-01-24 19:39:46 +00001456.. option:: -fdebug-pass-structure
1457
Richard Smith081ad4d2017-01-24 19:39:46 +00001458.. option:: -fdebug-prefix-map=<arg>
1459
1460remap file source paths in debug info
1461
Craig Topper9624beb2020-03-10 11:08:19 -07001462.. option:: -fdebug-ranges-base-address, -fno-debug-ranges-base-address
1463
Fangrui Songd8c97292020-06-18 14:52:39 -07001464Use DWARF base address selection entries in .debug\_ranges
Craig Topper9624beb2020-03-10 11:08:19 -07001465
Richard Smith081ad4d2017-01-24 19:39:46 +00001466.. option:: -fdebug-types-section, -fno-debug-types-section
1467
1468Place debug types in their own section (ELF Only)
1469
Richard Smith081ad4d2017-01-24 19:39:46 +00001470.. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing
1471
1472Parse templated function definitions at the end of the translation unit
1473
Vedant Kumar368540f2018-08-23 17:55:03 +00001474.. option:: -fdelete-null-pointer-checks, -fno-delete-null-pointer-checks
1475
Fangrui Songd8c97292020-06-18 14:52:39 -07001476Treat usage of null pointers as undefined behavior (default)
Vedant Kumar368540f2018-08-23 17:55:03 +00001477
Richard Smith081ad4d2017-01-24 19:39:46 +00001478.. option:: -fdenormal-fp-math=<arg>
1479
Richard Smith081ad4d2017-01-24 19:39:46 +00001480.. option:: -fdiagnostics-absolute-paths
1481
1482Print absolute paths in diagnostics
1483
Richard Smith081ad4d2017-01-24 19:39:46 +00001484.. option:: -fdiagnostics-color, -fno-diagnostics-color
1485
Richard Smithb2c82a62017-01-27 01:54:42 +00001486.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001487.. option:: -fdiagnostics-color=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001488.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001489
Craig Topperd23254a2017-07-20 17:52:48 +00001490.. option:: -fdiagnostics-hotness-threshold=<number>
1491
1492Prevent optimization remarks from being output if they do not have at least this profile count
1493
Richard Smith081ad4d2017-01-24 19:39:46 +00001494.. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness
1495
1496Enable profile hotness information in diagnostic line
1497
Richard Smith081ad4d2017-01-24 19:39:46 +00001498.. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack
1499
1500Display include stacks for diagnostic notes
1501
Richard Smith081ad4d2017-01-24 19:39:46 +00001502.. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option
1503
1504Print option name with mappable diagnostics
1505
Richard Smith081ad4d2017-01-24 19:39:46 +00001506.. option:: -fdiagnostics-show-template-tree
1507
1508Print a template comparison tree for differing templates
1509
Vedant Kumar368540f2018-08-23 17:55:03 +00001510.. option:: -fdigraphs, -fno-digraphs
1511
1512Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
1513
Richard Smith081ad4d2017-01-24 19:39:46 +00001514.. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers
1515
1516Allow '$' in identifiers
1517
Craig Topper16418662017-11-20 18:07:43 +00001518.. option:: -fdouble-square-bracket-attributes, -fno-double-square-bracket-attributes
1519
1520Enable '\[\[\]\]' attributes in all C and C++ language modes
1521
Richard Smith081ad4d2017-01-24 19:39:46 +00001522.. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm
1523
Craig Topper188252d2017-12-11 21:09:16 +00001524.. option:: -fdwarf-exceptions
1525
1526Use DWARF style exceptions
1527
Richard Smith081ad4d2017-01-24 19:39:46 +00001528.. option:: -felide-constructors, -fno-elide-constructors
1529
Richard Smith081ad4d2017-01-24 19:39:46 +00001530.. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols
1531
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04001532.. option:: -feliminate-unused-debug-types, -fno-eliminate-unused-debug-types
1533
1534Do not emit debug info for defined but unused types
1535
Richard Smith081ad4d2017-01-24 19:39:46 +00001536.. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker)
1537
1538Embed LLVM bitcode (option: off, all, bitcode, marker)
1539
Richard Smith081ad4d2017-01-24 19:39:46 +00001540.. option:: -femit-all-decls
1541
1542Emit all declarations, even if unused
1543
Richard Smith081ad4d2017-01-24 19:39:46 +00001544.. option:: -femulated-tls, -fno-emulated-tls
1545
1546Use emutls functions to access thread\_local variables
1547
Fangrui Songd8c97292020-06-18 14:52:39 -07001548.. option:: -fenable-matrix
1549
1550Enable matrix data type and related builtin functions
1551
Richard Smith081ad4d2017-01-24 19:39:46 +00001552.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg>
1553
Richard Smith081ad4d2017-01-24 19:39:46 +00001554.. option:: -ferror-limit=<arg>
1555
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001556.. option:: -fescaping-block-tail-calls, -fno-escaping-block-tail-calls
1557
Richard Smith081ad4d2017-01-24 19:39:46 +00001558.. option:: -fexceptions, -fno-exceptions
1559
1560Enable support for exception handling
1561
Richard Smith081ad4d2017-01-24 19:39:46 +00001562.. option:: -fexec-charset=<arg>
1563
Craig Topper9624beb2020-03-10 11:08:19 -07001564.. option:: -fexperimental-new-constant-interpreter
1565
1566Enable the experimental new constant interpreter
1567
Fangrui Songd8c97292020-06-18 14:52:39 -07001568.. option:: -fexperimental-relative-c++-abi-vtables, -fno-experimental-relative-c++-abi-vtables
1569
1570Use the experimental C++ class ABI for classes with virtual tables
1571
Richard Smith081ad4d2017-01-24 19:39:46 +00001572.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg>
1573
Richard Smith081ad4d2017-01-24 19:39:46 +00001574.. option:: -ffast-math, -fno-fast-math
1575
1576Allow aggressive, lossy floating-point optimizations
1577
Craig Topper9624beb2020-03-10 11:08:19 -07001578.. option:: -ffile-prefix-map=<arg>
1579
1580remap file source paths in debug info and predefined preprocessor macros
1581
Richard Smith081ad4d2017-01-24 19:39:46 +00001582.. option:: -ffinite-math-only, -fno-finite-math-only
1583
Vedant Kumar368540f2018-08-23 17:55:03 +00001584.. option:: -ffixed-point, -fno-fixed-point
1585
1586Enable fixed point types
1587
Richard Smith081ad4d2017-01-24 19:39:46 +00001588.. option:: -ffor-scope, -fno-for-scope
1589
Craig Topper9624beb2020-03-10 11:08:19 -07001590.. option:: -fforce-dwarf-frame, -fno-force-dwarf-frame
1591
1592Always emit a debug frame section
1593
Vedant Kumar368540f2018-08-23 17:55:03 +00001594.. option:: -fforce-emit-vtables, -fno-force-emit-vtables
1595
1596Emits more virtual tables to improve devirtualization
1597
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001598.. option:: -fforce-enable-int128, -fno-force-enable-int128
1599
1600Enable support for int128\_t type
1601
Richard Smith081ad4d2017-01-24 19:39:46 +00001602.. option:: -ffp-contract=<arg>
1603
Craig Topper9624beb2020-03-10 11:08:19 -07001604Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma) \| off (never fuse). Default is 'fast' for CUDA/HIP and 'on' otherwise.
1605
1606.. option:: -ffp-exception-behavior=<arg>
1607
1608Specifies the exception behavior of floating-point operations.
1609
1610.. option:: -ffp-model=<arg>
1611
1612Controls the semantics of floating-point calculations.
Richard Smith081ad4d2017-01-24 19:39:46 +00001613
Richard Smith081ad4d2017-01-24 19:39:46 +00001614.. option:: -ffreestanding
1615
1616Assert that the compilation takes place in a freestanding environment
1617
Richard Smith081ad4d2017-01-24 19:39:46 +00001618.. option:: -ffunction-sections, -fno-function-sections
1619
Craig Topper9624beb2020-03-10 11:08:19 -07001620Place each function in its own section
Richard Smith081ad4d2017-01-24 19:39:46 +00001621
Richard Smith081ad4d2017-01-24 19:39:46 +00001622.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm
1623
Richard Smith081ad4d2017-01-24 19:39:46 +00001624.. option:: -fgnu-keywords, -fno-gnu-keywords
1625
1626Allow GNU-extension keywords regardless of language standard
1627
Richard Smith081ad4d2017-01-24 19:39:46 +00001628.. option:: -fgnu-runtime
1629
1630Generate output compatible with the standard GNU Objective-C runtime
1631
Richard Smith081ad4d2017-01-24 19:39:46 +00001632.. option:: -fgnu89-inline, -fno-gnu89-inline
1633
1634Use the gnu89 inline semantics
1635
Craig Topper9624beb2020-03-10 11:08:19 -07001636.. option:: -fgnuc-version=<arg>
1637
1638Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
1639
Fangrui Songd8c97292020-06-18 14:52:39 -07001640.. option:: -fgpu-allow-device-init, -fno-gpu-allow-device-init
1641
1642Allow device side init function in HIP
1643
1644.. option:: -fgpu-rdc, -fcuda-rdc, -fno-gpu-rdc
1645
1646Generate relocatable device code, also known as separate compilation mode
1647
1648.. option:: -fhip-new-launch-api, -fno-hip-new-launch-api
1649
1650Use new kernel launching API for HIP
1651
Richard Smith081ad4d2017-01-24 19:39:46 +00001652.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities
1653
Richard Smith081ad4d2017-01-24 19:39:46 +00001654.. option:: -fhonor-nans, -fno-honor-nans
1655
Richard Smith081ad4d2017-01-24 19:39:46 +00001656.. option:: -fhosted
1657
Craig Topper9624beb2020-03-10 11:08:19 -07001658.. option:: -fignore-exceptions
1659
1660Enable support for ignoring exception handling constructs
1661
Richard Smith081ad4d2017-01-24 19:39:46 +00001662.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps
1663
1664Implicitly search the file system for module map files.
1665
Richard Smith081ad4d2017-01-24 19:39:46 +00001666.. option:: -fimplicit-modules, -fno-implicit-modules
1667
Richard Smith081ad4d2017-01-24 19:39:46 +00001668.. option:: -finput-charset=<arg>
1669
Craig Topper188252d2017-12-11 21:09:16 +00001670.. option:: -finstrument-function-entry-bare
1671
1672Instrument function entry only, after inlining, without arguments to the instrumentation call
1673
Richard Smith081ad4d2017-01-24 19:39:46 +00001674.. option:: -finstrument-functions
1675
1676Generate calls to instrument function entry and exit
1677
Craig Topper16418662017-11-20 18:07:43 +00001678.. option:: -finstrument-functions-after-inlining
1679
1680Like -finstrument-functions, but insert the calls after inlining
1681
Richard Smith081ad4d2017-01-24 19:39:46 +00001682.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as
1683
1684Enable the integrated assembler
1685
Craig Topper9624beb2020-03-10 11:08:19 -07001686.. option:: -fintegrated-cc1, -fno-integrated-cc1
1687
1688Run cc1 in-process
1689
Richard Smith081ad4d2017-01-24 19:39:46 +00001690.. option:: -fjump-tables, -fno-jump-tables
1691
Fangrui Songd8c97292020-06-18 14:52:39 -07001692Use jump tables for lowering switches
Vedant Kumar368540f2018-08-23 17:55:03 +00001693
Fangrui Songd8c97292020-06-18 14:52:39 -07001694.. option:: -fkeep-static-consts, -fno-keep-static-consts
1695
1696Keep static const variables if unused
Vedant Kumar368540f2018-08-23 17:55:03 +00001697
Craig Topper9624beb2020-03-10 11:08:19 -07001698.. option:: -flax-vector-conversions=<arg>, -flax-vector-conversions (equivalent to -flax-vector-conversions=integer), -fno-lax-vector-conversions (equivalent to -flax-vector-conversions=none)
1699
1700Enable implicit vector bit-casts
Richard Smith081ad4d2017-01-24 19:39:46 +00001701
Richard Smith081ad4d2017-01-24 19:39:46 +00001702.. option:: -flimited-precision=<arg>
1703
Richard Smith081ad4d2017-01-24 19:39:46 +00001704.. option:: -flto, -fno-lto
1705
1706Enable LTO in 'full' mode
1707
Richard Smith081ad4d2017-01-24 19:39:46 +00001708.. option:: -flto-jobs=<arg>
1709
1710Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
1711
Richard Smithb2c82a62017-01-27 01:54:42 +00001712.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001713.. option:: -flto=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001714.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001715
1716Set LTO mode to either 'full' or 'thin'
1717
Richard Smith081ad4d2017-01-24 19:39:46 +00001718.. option:: -fmacro-backtrace-limit=<arg>
1719
Richard Smith081ad4d2017-01-24 19:39:46 +00001720.. option:: -fmath-errno, -fno-math-errno
1721
1722Require math functions to indicate errors by setting errno
1723
Craig Topper9624beb2020-03-10 11:08:19 -07001724.. option:: -fmax-tokens=<arg>
1725
1726Max total number of preprocessed tokens for -Wmax-tokens.
1727
Richard Smith081ad4d2017-01-24 19:39:46 +00001728.. option:: -fmax-type-align=<arg>
1729
1730Specify the maximum alignment to enforce on pointers lacking an explicit alignment
1731
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04001732.. option:: -fmemory-profile, -fno-memory-profile
1733
1734Enable heap memory profiling
1735
Richard Smith081ad4d2017-01-24 19:39:46 +00001736.. option:: -fmerge-all-constants, -fno-merge-all-constants
1737
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001738Allow merging of constants
1739
Richard Smith081ad4d2017-01-24 19:39:46 +00001740.. option:: -fmessage-length=<arg>
1741
Fangrui Songd8c97292020-06-18 14:52:39 -07001742Format message diagnostics so that they fit within N columns
1743
Richard Smith081ad4d2017-01-24 19:39:46 +00001744.. option:: -fmodule-file-deps, -fno-module-file-deps
1745
Richard Smith081ad4d2017-01-24 19:39:46 +00001746.. option:: -fmodule-map-file=<file>
1747
1748Load this module map file
1749
Richard Smith081ad4d2017-01-24 19:39:46 +00001750.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg>
1751
1752Specify the name of the module to build
1753
Richard Smith081ad4d2017-01-24 19:39:46 +00001754.. option:: -fmodules, -fno-modules
1755
1756Enable the 'modules' language feature
1757
Richard Smith081ad4d2017-01-24 19:39:46 +00001758.. option:: -fmodules-decluse, -fno-modules-decluse
1759
1760Require declaration of modules used within a module
1761
Richard Smith081ad4d2017-01-24 19:39:46 +00001762.. option:: -fmodules-ignore-macro=<arg>
1763
1764Ignore the definition of the given macro when building and loading modules
1765
Richard Smith081ad4d2017-01-24 19:39:46 +00001766.. option:: -fmodules-search-all, -fno-modules-search-all
1767
1768Search even non-imported modules to resolve references
1769
Richard Smith081ad4d2017-01-24 19:39:46 +00001770.. option:: -fmodules-strict-decluse
1771
1772Like -fmodules-decluse but requires all headers to be in modules
1773
Richard Smith081ad4d2017-01-24 19:39:46 +00001774.. option:: -fmodules-ts
1775
1776Enable support for the C++ Modules TS
1777
Craig Topper9624beb2020-03-10 11:08:19 -07001778.. option:: -fmodules-validate-input-files-content
1779
1780Validate PCM input files based on content if mtime differs
1781
Richard Smith081ad4d2017-01-24 19:39:46 +00001782.. option:: -fms-compatibility, -fno-ms-compatibility
1783
1784Enable full Microsoft Visual C++ compatibility
1785
Richard Smith081ad4d2017-01-24 19:39:46 +00001786.. option:: -fms-compatibility-version=<arg>
1787
1788Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1789
Richard Smith081ad4d2017-01-24 19:39:46 +00001790.. option:: -fms-extensions, -fno-ms-extensions
1791
1792Accept some non-standard constructs supported by the Microsoft compiler
1793
Richard Smith081ad4d2017-01-24 19:39:46 +00001794.. option:: -fms-memptr-rep=<arg>
1795
Craig Topper9624beb2020-03-10 11:08:19 -07001796.. option:: -fms-volatile
Richard Smith081ad4d2017-01-24 19:39:46 +00001797
Richard Smith081ad4d2017-01-24 19:39:46 +00001798.. option:: -fmsc-version=<arg>
1799
1800Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1801
Richard Smith081ad4d2017-01-24 19:39:46 +00001802.. option:: -fmudflap
1803
Richard Smith081ad4d2017-01-24 19:39:46 +00001804.. option:: -fmudflapth
1805
Richard Smith081ad4d2017-01-24 19:39:46 +00001806.. option:: -fnested-functions
1807
Richard Smith081ad4d2017-01-24 19:39:46 +00001808.. option:: -fnew-alignment=<align>, -fnew-alignment <arg>
1809
1810Specifies the largest alignment guaranteed by '::operator new(size\_t)'
1811
Richard Smith081ad4d2017-01-24 19:39:46 +00001812.. option:: -fnext-runtime
1813
Fangrui Songd8c97292020-06-18 14:52:39 -07001814.. option:: -fno-access-control, -fno-no-access-control
1815
Richard Smith081ad4d2017-01-24 19:39:46 +00001816.. option:: -fno-builtin-<arg>
1817
1818Disable implicit builtin knowledge of a specific function
1819
Richard Smith081ad4d2017-01-24 19:39:46 +00001820.. option:: -fno-elide-type
1821
1822Do not elide types when printing diagnostics
1823
Richard Smith081ad4d2017-01-24 19:39:46 +00001824.. option:: -fno-max-type-align
1825
Richard Smith081ad4d2017-01-24 19:39:46 +00001826.. option:: -fno-operator-names
1827
1828Do not treat C++ operator name keywords as synonyms for operators
1829
Richard Smith081ad4d2017-01-24 19:39:46 +00001830.. option:: -fno-strict-modules-decluse
1831
Craig Topper9624beb2020-03-10 11:08:19 -07001832.. option:: -fno-temp-file
1833
1834Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
1835
Richard Smith081ad4d2017-01-24 19:39:46 +00001836.. option:: -fno-working-directory
1837
Craig Topper9624beb2020-03-10 11:08:19 -07001838.. option:: -fno\_modules-validate-input-files-content
1839
1840.. program:: clang1
1841.. option:: -fno\_pch-validate-input-files-content
1842.. program:: clang
1843
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001844.. option:: -fnoxray-link-deps
1845
Richard Smith081ad4d2017-01-24 19:39:46 +00001846.. option:: -fobjc-abi-version=<arg>
1847
Richard Smith081ad4d2017-01-24 19:39:46 +00001848.. option:: -fobjc-arc, -fno-objc-arc
1849
1850Synthesize retain and release calls for Objective-C pointers
1851
Richard Smith081ad4d2017-01-24 19:39:46 +00001852.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions
1853
1854Use EH-safe code when synthesizing retains and releases in -fobjc-arc
1855
Craig Topper9624beb2020-03-10 11:08:19 -07001856.. option:: -fobjc-convert-messages-to-runtime-calls, -fno-objc-convert-messages-to-runtime-calls
1857
Richard Smith081ad4d2017-01-24 19:39:46 +00001858.. option:: -fobjc-exceptions, -fno-objc-exceptions
1859
1860Enable Objective-C exceptions
1861
Richard Smith081ad4d2017-01-24 19:39:46 +00001862.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type
1863
Richard Smith081ad4d2017-01-24 19:39:46 +00001864.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch
1865
Richard Smith081ad4d2017-01-24 19:39:46 +00001866.. option:: -fobjc-link-runtime
1867
Richard Smith081ad4d2017-01-24 19:39:46 +00001868.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi
1869
Richard Smith081ad4d2017-01-24 19:39:46 +00001870.. option:: -fobjc-nonfragile-abi-version=<arg>
1871
Richard Smith081ad4d2017-01-24 19:39:46 +00001872.. option:: -fobjc-runtime=<arg>
1873
1874Specify the target Objective-C runtime kind and version
1875
Richard Smith081ad4d2017-01-24 19:39:46 +00001876.. option:: -fobjc-sender-dependent-dispatch
1877
Richard Smith081ad4d2017-01-24 19:39:46 +00001878.. option:: -fobjc-weak, -fno-objc-weak
1879
1880Enable ARC-style weak references in Objective-C
1881
Richard Smith081ad4d2017-01-24 19:39:46 +00001882.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer
1883
Richard Smith081ad4d2017-01-24 19:39:46 +00001884.. option:: -fopenmp, -fno-openmp
1885
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00001886Parse OpenMP pragmas and generate parallel code.
Boris Kolpackovb150d242017-08-30 09:15:53 +00001887
Craig Topper287c8012018-01-03 18:29:12 +00001888.. option:: -fopenmp-simd, -fno-openmp-simd
1889
1890Emit OpenMP code only for SIMD-based constructs.
1891
Richard Smith081ad4d2017-01-24 19:39:46 +00001892.. option:: -fopenmp-version=<arg>
1893
Richard Smithb2c82a62017-01-27 01:54:42 +00001894.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001895.. option:: -fopenmp=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001896.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001897
Richard Smith081ad4d2017-01-24 19:39:46 +00001898.. option:: -foperator-arrow-depth=<arg>
1899
Francis Visoiu Mistrih3bd7cbb2019-12-04 10:19:41 -08001900.. option:: -foptimization-record-file=<file>
Richard Smith081ad4d2017-01-24 19:39:46 +00001901
Craig Topper9624beb2020-03-10 11:08:19 -07001902Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.
Francis Visoiu Mistrih3bd7cbb2019-12-04 10:19:41 -08001903
1904.. option:: -foptimization-record-passes=<regex>
1905
1906Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
Richard Smith081ad4d2017-01-24 19:39:46 +00001907
Richard Smith081ad4d2017-01-24 19:39:46 +00001908.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls
1909
Craig Topper9624beb2020-03-10 11:08:19 -07001910.. option:: -forder-file-instrumentation
1911
1912Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)
1913
Richard Smith081ad4d2017-01-24 19:39:46 +00001914.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg>
1915
Richard Smith081ad4d2017-01-24 19:39:46 +00001916.. option:: -fpack-struct, -fno-pack-struct
1917
Richard Smithb2c82a62017-01-27 01:54:42 +00001918.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001919.. option:: -fpack-struct=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001920.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001921
1922Specify the default maximum struct packing alignment
1923
Richard Smith081ad4d2017-01-24 19:39:46 +00001924.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings
1925
1926Recognize and construct Pascal-style string literals
1927
Craig Topper9624beb2020-03-10 11:08:19 -07001928.. option:: -fpass-plugin=<dsopath>
1929
1930Load pass plugin from a dynamic shared object file (only with new pass manager).
1931
1932.. option:: -fpatchable-function-entry=<N,M>
1933
1934Generate M NOPs before function entry and N-M NOPs after function entry
1935
Richard Smith081ad4d2017-01-24 19:39:46 +00001936.. option:: -fpcc-struct-return
1937
1938Override the default ABI to return all structs on the stack
1939
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04001940.. option:: -fpch-codegen, -fno-pch-codegen
1941
1942Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
1943
1944.. option:: -fpch-debuginfo, -fno-pch-debuginfo
1945
1946Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
1947
1948.. option:: -fpch-instantiate-templates, -fno-pch-instantiate-templates
1949
1950Instantiate templates already while building a PCH
1951
Richard Smith081ad4d2017-01-24 19:39:46 +00001952.. option:: -fpch-preprocess
1953
Craig Topper9624beb2020-03-10 11:08:19 -07001954.. option:: -fpch-validate-input-files-content
1955
1956Validate PCH input files based on content if mtime differs
1957
Richard Smith081ad4d2017-01-24 19:39:46 +00001958.. option:: -fpic, -fno-pic
1959
Richard Smith081ad4d2017-01-24 19:39:46 +00001960.. option:: -fpie, -fno-pie
1961
Craig Topper16418662017-11-20 18:07:43 +00001962.. option:: -fplt, -fno-plt
1963
Richard Smith081ad4d2017-01-24 19:39:46 +00001964.. option:: -fplugin=<dsopath>
1965
1966Load the named plugin (dynamic shared object)
1967
Richard Smith081ad4d2017-01-24 19:39:46 +00001968.. option:: -fpreserve-as-comments, -fno-preserve-as-comments
1969
Richard Smith081ad4d2017-01-24 19:39:46 +00001970.. option:: -fprofile-arcs, -fno-profile-arcs
1971
Richard Smith081ad4d2017-01-24 19:39:46 +00001972.. option:: -fprofile-dir=<arg>
1973
Craig Topper9624beb2020-03-10 11:08:19 -07001974.. option:: -fprofile-exclude-files=<arg>
1975
1976Instrument only functions from files where names don't match all the regexes separated by a semi-colon
1977
1978.. option:: -fprofile-filter-files=<arg>
1979
1980Instrument only functions from files where names match any regex separated by a semi-colon
1981
Richard Smith081ad4d2017-01-24 19:39:46 +00001982.. option:: -fprofile-generate, -fno-profile-generate
1983
1984Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1985
Richard Smithb2c82a62017-01-27 01:54:42 +00001986.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001987.. option:: -fprofile-generate=<directory>
Richard Smithb2c82a62017-01-27 01:54:42 +00001988.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001989
1990Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1991
Richard Smith081ad4d2017-01-24 19:39:46 +00001992.. option:: -fprofile-instr-generate, -fno-profile-instr-generate
1993
1994Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)
1995
Richard Smithb2c82a62017-01-27 01:54:42 +00001996.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001997.. option:: -fprofile-instr-generate=<file>
Richard Smithb2c82a62017-01-27 01:54:42 +00001998.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001999
2000Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var)
2001
Richard Smith081ad4d2017-01-24 19:39:46 +00002002.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use
2003
Richard Smithb2c82a62017-01-27 01:54:42 +00002004.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002005.. option:: -fprofile-instr-use=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00002006.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002007
2008Use instrumentation data for profile-guided optimization
2009
Craig Topper9624beb2020-03-10 11:08:19 -07002010.. option:: -fprofile-remapping-file=<file>, -fprofile-remapping-file <arg>
2011
2012Use the remappings described in <file> to match the profile data against names in the program
2013
Boris Kolpackovb150d242017-08-30 09:15:53 +00002014.. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate
2015
2016Specifies that the sample profile is accurate. If the sample
2017 profile is accurate, callsites without profile samples are marked
2018 as cold. Otherwise, treat callsites without profile samples as if
2019 we have no profile
2020
Richard Smith78e23fd2017-04-13 22:39:49 +00002021.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use
2022
2023.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002024.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg>
Richard Smith78e23fd2017-04-13 22:39:49 +00002025.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002026
2027Enable sample-based profile guided optimizations
2028
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002029.. option:: -fprofile-update=<method>
2030
2031Set update method of profile counters (atomic,prefer-atomic,single)
2032
Richard Smithb2c82a62017-01-27 01:54:42 +00002033.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002034.. option:: -fprofile-use=<pathname>
Richard Smithb2c82a62017-01-27 01:54:42 +00002035.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002036
2037Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
2038
Richard Smith081ad4d2017-01-24 19:39:46 +00002039.. option:: -freciprocal-math, -fno-reciprocal-math
2040
2041Allow division operations to be reassociated
2042
Richard Smith081ad4d2017-01-24 19:39:46 +00002043.. option:: -freg-struct-return
2044
2045Override the default ABI to return small structs in registers
2046
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002047.. option:: -fregister-global-dtors-with-atexit, -fno-register-global-dtors-with-atexit
2048
2049Use atexit or \_\_cxa\_atexit to register global destructors
2050
Richard Smith081ad4d2017-01-24 19:39:46 +00002051.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args
2052
2053Enable C++17 relaxed template template argument matching
2054
Richard Smith081ad4d2017-01-24 19:39:46 +00002055.. option:: -freroll-loops, -fno-reroll-loops
2056
2057Turn on loop reroller
2058
Richard Smith081ad4d2017-01-24 19:39:46 +00002059.. option:: -fretain-comments-from-system-headers
2060
Craig Topperd23254a2017-07-20 17:52:48 +00002061.. option:: -frewrite-imports, -fno-rewrite-imports
2062
Richard Smith081ad4d2017-01-24 19:39:46 +00002063.. option:: -frewrite-includes, -fno-rewrite-includes
2064
Richard Smith081ad4d2017-01-24 19:39:46 +00002065.. option:: -frewrite-map-file <arg>
2066
Richard Smithb2c82a62017-01-27 01:54:42 +00002067.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002068.. option:: -frewrite-map-file=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00002069.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002070
Richard Smith081ad4d2017-01-24 19:39:46 +00002071.. option:: -fropi, -fno-ropi
2072
Fangrui Songd8c97292020-06-18 14:52:39 -07002073Generate read-only position independent code (ARM only)
2074
Craig Topper9624beb2020-03-10 11:08:19 -07002075.. option:: -frounding-math, -fno-rounding-math
2076
Richard Smith081ad4d2017-01-24 19:39:46 +00002077.. option:: -frtti, -fno-rtti
2078
Fangrui Songd8c97292020-06-18 14:52:39 -07002079.. option:: -frtti-data, -fno-rtti-data
2080
Richard Smith081ad4d2017-01-24 19:39:46 +00002081.. option:: -frwpi, -fno-rwpi
2082
Fangrui Songd8c97292020-06-18 14:52:39 -07002083Generate read-write position independent code (ARM only)
2084
Richard Smith081ad4d2017-01-24 19:39:46 +00002085.. option:: -fsave-optimization-record, -fno-save-optimization-record
2086
2087Generate a YAML optimization record file
2088
Francis Visoiu Mistrih3bd7cbb2019-12-04 10:19:41 -08002089.. program:: clang1
2090.. option:: -fsave-optimization-record=<format>
2091.. program:: clang
2092
Craig Topper9624beb2020-03-10 11:08:19 -07002093Generate an optimization record file in a specific format
Francis Visoiu Mistrih3bd7cbb2019-12-04 10:19:41 -08002094
Craig Topper188252d2017-12-11 21:09:16 +00002095.. option:: -fseh-exceptions
2096
2097Use SEH style exceptions
2098
Craig Topper9624beb2020-03-10 11:08:19 -07002099.. option:: -fsemantic-interposition, -fno-semantic-interposition
2100
Richard Smith081ad4d2017-01-24 19:39:46 +00002101.. option:: -fshort-enums, -fno-short-enums
2102
2103Allocate to an enum type only as many bytes as it needs for the declared range of possible values
2104
Richard Smith081ad4d2017-01-24 19:39:46 +00002105.. option:: -fshort-wchar, -fno-short-wchar
2106
2107Force wchar\_t to be a short unsigned int
2108
Richard Smith081ad4d2017-01-24 19:39:46 +00002109.. option:: -fshow-column, -fno-show-column
2110
Richard Smith081ad4d2017-01-24 19:39:46 +00002111.. option:: -fshow-overloads=<arg>
2112
2113Which overload candidates to show when overload resolution fails: best\|all; defaults to all
2114
Richard Smith081ad4d2017-01-24 19:39:46 +00002115.. option:: -fshow-source-location, -fno-show-source-location
2116
Richard Smith081ad4d2017-01-24 19:39:46 +00002117.. option:: -fsignaling-math, -fno-signaling-math
2118
Richard Smith081ad4d2017-01-24 19:39:46 +00002119.. option:: -fsigned-bitfields
2120
Richard Smith081ad4d2017-01-24 19:39:46 +00002121.. option:: -fsigned-char, -fno-signed-char, --signed-char
2122
Fangrui Songd8c97292020-06-18 14:52:39 -07002123char is signed
2124
Richard Smith081ad4d2017-01-24 19:39:46 +00002125.. option:: -fsigned-zeros, -fno-signed-zeros
2126
Richard Smith081ad4d2017-01-24 19:39:46 +00002127.. option:: -fsized-deallocation, -fno-sized-deallocation
2128
2129Enable C++14 sized global deallocation functions
2130
Richard Smith081ad4d2017-01-24 19:39:46 +00002131.. option:: -fsjlj-exceptions
2132
2133Use SjLj style exceptions
2134
Richard Smith081ad4d2017-01-24 19:39:46 +00002135.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize
2136
2137Enable the superword-level parallelism vectorization passes
2138
Richard Smith081ad4d2017-01-24 19:39:46 +00002139.. option:: -fspell-checking, -fno-spell-checking
2140
Richard Smith081ad4d2017-01-24 19:39:46 +00002141.. option:: -fspell-checking-limit=<arg>
2142
Richard Smith081ad4d2017-01-24 19:39:46 +00002143.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining
2144
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00002145Provide 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 +00002146
Craig Topper9624beb2020-03-10 11:08:19 -07002147.. option:: -fsplit-lto-unit, -fno-split-lto-unit
2148
Fangrui Songd8c97292020-06-18 14:52:39 -07002149Enables splitting of the LTO unit
Craig Topper9624beb2020-03-10 11:08:19 -07002150
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002151.. option:: -fsplit-machine-functions, -fno-split-machine-functions
2152
2153Enable late function splitting using profile information (x86 ELF)
2154
Richard Smith081ad4d2017-01-24 19:39:46 +00002155.. option:: -fsplit-stack
2156
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002157.. option:: -fstack-clash-protection, -fno-stack-clash-protection
Craig Topper9624beb2020-03-10 11:08:19 -07002158
2159Enable stack clash protection
2160
Richard Smith081ad4d2017-01-24 19:39:46 +00002161.. option:: -fstack-protector, -fno-stack-protector
2162
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002163Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.
Richard Smith081ad4d2017-01-24 19:39:46 +00002164
Richard Smith081ad4d2017-01-24 19:39:46 +00002165.. option:: -fstack-protector-all
2166
Craig Topper9624beb2020-03-10 11:08:19 -07002167Enable stack protectors for all functions
Richard Smith081ad4d2017-01-24 19:39:46 +00002168
Richard Smith081ad4d2017-01-24 19:39:46 +00002169.. option:: -fstack-protector-strong
2170
Craig Topper9624beb2020-03-10 11:08:19 -07002171Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable
Richard Smith081ad4d2017-01-24 19:39:46 +00002172
Craig Topper596527b2018-01-23 18:40:15 +00002173.. option:: -fstack-size-section, -fno-stack-size-section
2174
2175Emit section containing metadata on function stack sizes
2176
Richard Smith081ad4d2017-01-24 19:39:46 +00002177.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug
2178
2179Emit full debug info for all types used by the program
2180
Richard Smith081ad4d2017-01-24 19:39:46 +00002181.. option:: -fstrict-aliasing, -fno-strict-aliasing
2182
Richard Smith081ad4d2017-01-24 19:39:46 +00002183.. option:: -fstrict-enums, -fno-strict-enums
2184
2185Enable optimizations based on the strict definition of an enum's value range
2186
Vedant Kumar368540f2018-08-23 17:55:03 +00002187.. option:: -fstrict-float-cast-overflow, -fno-strict-float-cast-overflow
2188
2189Assume that overflowing float-to-int casts are undefined (default)
2190
Richard Smith081ad4d2017-01-24 19:39:46 +00002191.. option:: -fstrict-overflow, -fno-strict-overflow
2192
Richard Smith081ad4d2017-01-24 19:39:46 +00002193.. option:: -fstrict-return, -fno-strict-return
2194
Richard Smith081ad4d2017-01-24 19:39:46 +00002195.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers
2196
2197Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
2198
Richard Smith081ad4d2017-01-24 19:39:46 +00002199.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa
2200
Craig Topper9624beb2020-03-10 11:08:19 -07002201.. option:: -fsymbol-partition=<arg>
2202
Richard Smith081ad4d2017-01-24 19:39:46 +00002203.. option:: -ftabstop=<arg>
2204
Richard Smith081ad4d2017-01-24 19:39:46 +00002205.. option:: -ftemplate-backtrace-limit=<arg>
2206
Richard Smith081ad4d2017-01-24 19:39:46 +00002207.. option:: -ftemplate-depth-<arg>
2208
Richard Smith081ad4d2017-01-24 19:39:46 +00002209.. option:: -ftemplate-depth=<arg>
2210
Fangrui Songd8c97292020-06-18 14:52:39 -07002211.. option:: -ftest-coverage, -fno-test-coverage
Richard Smith081ad4d2017-01-24 19:39:46 +00002212
Craig Topper9624beb2020-03-10 11:08:19 -07002213.. option:: -fthin-link-bitcode=<arg>
2214
2215Write minimized bitcode to <file> for the ThinLTO thin link only
2216
Richard Smith081ad4d2017-01-24 19:39:46 +00002217.. option:: -fthinlto-index=<arg>
2218
2219Perform ThinLTO importing using provided function summary index
2220
Richard Smith081ad4d2017-01-24 19:39:46 +00002221.. option:: -fthreadsafe-statics, -fno-threadsafe-statics
2222
Richard Smith081ad4d2017-01-24 19:39:46 +00002223.. option:: -ftime-report
2224
Anton Afanasyev4fdcabf2019-07-24 14:55:40 +00002225.. option:: -ftime-trace
2226
Craig Topper9624beb2020-03-10 11:08:19 -07002227
2228Turn on time profiler. Generates JSON file based on output filename. Results
2229can be analyzed with chrome://tracing or `Speedscope App
2230<https://www.speedscope.app>`_ for flamegraph visualization.
Anton Afanasyev4fdcabf2019-07-24 14:55:40 +00002231
2232.. option:: -ftime-trace-granularity=<arg>
2233
2234Minimum time granularity (in microseconds) traced by time profiler
2235
Richard Smith081ad4d2017-01-24 19:39:46 +00002236.. option:: -ftls-model=<arg>
2237
Richard Smith081ad4d2017-01-24 19:39:46 +00002238.. option:: -ftrap-function=<arg>
2239
2240Issue call to specified function rather than a trap instruction
2241
Richard Smith081ad4d2017-01-24 19:39:46 +00002242.. option:: -ftrapping-math, -fno-trapping-math
2243
Richard Smith081ad4d2017-01-24 19:39:46 +00002244.. option:: -ftrapv
2245
2246Trap on integer overflow
2247
Richard Smith081ad4d2017-01-24 19:39:46 +00002248.. option:: -ftrapv-handler <arg>
2249
Richard Smithb2c82a62017-01-27 01:54:42 +00002250.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002251.. option:: -ftrapv-handler=<function name>
Richard Smithb2c82a62017-01-27 01:54:42 +00002252.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002253
2254Specify the function to be called on overflow
2255
Richard Smith081ad4d2017-01-24 19:39:46 +00002256.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs
2257
2258Process trigraph sequences
2259
Fangrui Songd8c97292020-06-18 14:52:39 -07002260.. option:: -ftrivial-auto-var-init-stop-after=<arg>
2261
2262Stop initializing trivial automatic stack variables after the specified number of instances
2263
Craig Topper9624beb2020-03-10 11:08:19 -07002264.. option:: -ftrivial-auto-var-init=<arg>
2265
2266Initialize trivial automatic stack variables: uninitialized (default) \| pattern
2267
Fangrui Songd8c97292020-06-18 14:52:39 -07002268.. option:: -funique-basic-block-section-names, -fno-unique-basic-block-section-names
Richard Smith081ad4d2017-01-24 19:39:46 +00002269
Fangrui Songd8c97292020-06-18 14:52:39 -07002270Use unique names for basic block sections (ELF Only)
2271
2272.. option:: -funique-internal-linkage-names, -fno-unique-internal-linkage-names
2273
2274Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
2275
2276.. option:: -funique-section-names, -fno-unique-section-names
Richard Smith081ad4d2017-01-24 19:39:46 +00002277
Richard Smith081ad4d2017-01-24 19:39:46 +00002278.. option:: -funit-at-a-time, -fno-unit-at-a-time
2279
Richard Smith081ad4d2017-01-24 19:39:46 +00002280.. option:: -funroll-loops, -fno-unroll-loops
2281
2282Turn on loop unroller
2283
Richard Smith081ad4d2017-01-24 19:39:46 +00002284.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations
2285
Richard Smith081ad4d2017-01-24 19:39:46 +00002286.. option:: -funsigned-bitfields
2287
Richard Smith081ad4d2017-01-24 19:39:46 +00002288.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char
2289
Richard Smith081ad4d2017-01-24 19:39:46 +00002290.. option:: -funwind-tables, -fno-unwind-tables
2291
Richard Smith081ad4d2017-01-24 19:39:46 +00002292.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit
2293
Richard Smith081ad4d2017-01-24 19:39:46 +00002294.. option:: -fuse-init-array, -fno-use-init-array
2295
Richard Smith081ad4d2017-01-24 19:39:46 +00002296.. option:: -fuse-ld=<arg>
2297
Richard Smith081ad4d2017-01-24 19:39:46 +00002298.. option:: -fuse-line-directives, -fno-use-line-directives
2299
Fangrui Songd8c97292020-06-18 14:52:39 -07002300Use #line in preprocessed output
2301
Craig Topper9624beb2020-03-10 11:08:19 -07002302.. option:: -fvalidate-ast-input-files-content
2303
2304Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical
2305
Richard Smith081ad4d2017-01-24 19:39:46 +00002306.. option:: -fveclib=<arg>
2307
2308Use the given vector functions library
2309
Richard Smith081ad4d2017-01-24 19:39:46 +00002310.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize
2311
2312Enable the loop vectorization passes
2313
Craig Topper9624beb2020-03-10 11:08:19 -07002314.. option:: -fverbose-asm, -dA, -fno-verbose-asm
2315
Fangrui Songd8c97292020-06-18 14:52:39 -07002316Generate verbose assembly output
2317
2318.. option:: -fvirtual-function-elimination, -fno-virtual-function-elimination
Craig Topper9624beb2020-03-10 11:08:19 -07002319
2320Enables dead virtual function elimination optimization. Requires -flto=full
2321
2322.. option:: -fvisibility-global-new-delete-hidden
2323
2324Give global C++ operator new and delete declarations hidden visibility
Richard Smith081ad4d2017-01-24 19:39:46 +00002325
Richard Smith081ad4d2017-01-24 19:39:46 +00002326.. option:: -fvisibility-inlines-hidden
2327
Fangrui Songdf81b972018-07-19 22:45:41 +00002328Give inline C++ member functions hidden visibility by default
Richard Smith081ad4d2017-01-24 19:39:46 +00002329
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002330.. option:: -fvisibility-inlines-hidden-static-local-var, -fno-visibility-inlines-hidden-static-local-var
2331
2332When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default
2333
Richard Smith081ad4d2017-01-24 19:39:46 +00002334.. option:: -fvisibility-ms-compat
2335
2336Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
2337
Richard Smith081ad4d2017-01-24 19:39:46 +00002338.. option:: -fvisibility=<arg>
2339
2340Set the default symbol visibility for all global declarations
2341
Craig Topper9624beb2020-03-10 11:08:19 -07002342.. option:: -fwasm-exceptions
2343
2344Use WebAssembly style exceptions
2345
Richard Smith081ad4d2017-01-24 19:39:46 +00002346.. option:: -fwhole-program-vtables, -fno-whole-program-vtables
2347
2348Enables whole-program vtable optimization. Requires -flto
2349
Richard Smith081ad4d2017-01-24 19:39:46 +00002350.. option:: -fwrapv, -fno-wrapv
2351
2352Treat signed integer overflow as two's complement
2353
Richard Smith081ad4d2017-01-24 19:39:46 +00002354.. option:: -fwritable-strings
2355
2356Store string literals as writable data
2357
Craig Topper188252d2017-12-11 21:09:16 +00002358.. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents
2359
Fangrui Songd8c97292020-06-18 14:52:39 -07002360Always emit \_\_xray\_customevent(...) calls even if the containing function is not always instrumented
Craig Topper188252d2017-12-11 21:09:16 +00002361
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002362.. option:: -fxray-always-emit-typedevents, -fno-xray-always-emit-typedevents
2363
Fangrui Songd8c97292020-06-18 14:52:39 -07002364Always emit \_\_xray\_typedevent(...) calls even if the containing function is not always instrumented
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002365
Richard Smith78e23fd2017-04-13 22:39:49 +00002366.. option:: -fxray-always-instrument=<arg>
2367
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002368DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
2369
2370.. option:: -fxray-attr-list=<arg>
2371
2372Filename defining the list of functions/types for imbuing XRay attributes.
Richard Smith78e23fd2017-04-13 22:39:49 +00002373
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002374.. option:: -fxray-function-groups=<arg>
2375
2376Only instrument 1 of N groups
2377
Fangrui Songd8c97292020-06-18 14:52:39 -07002378.. option:: -fxray-function-index, -fno-xray-function-index
2379
Craig Topper9624beb2020-03-10 11:08:19 -07002380.. option:: -fxray-ignore-loops, -fno-xray-ignore-loops
2381
2382Don't instrument functions with loops unless they also meet the minimum function size
2383
Richard Smith081ad4d2017-01-24 19:39:46 +00002384.. option:: -fxray-instruction-threshold<arg>
2385
Richard Smithb2c82a62017-01-27 01:54:42 +00002386.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002387.. option:: -fxray-instruction-threshold=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00002388.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002389
2390Sets the minimum function size to instrument with XRay
2391
Richard Smith081ad4d2017-01-24 19:39:46 +00002392.. option:: -fxray-instrument, -fno-xray-instrument
2393
2394Generate XRay instrumentation sleds on function entry and exit
2395
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002396.. option:: -fxray-instrumentation-bundle=<arg>
2397
Craig Topper9624beb2020-03-10 11:08:19 -07002398Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'.
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002399
2400.. option:: -fxray-link-deps
2401
2402Tells clang to add the link dependencies for XRay.
2403
2404.. option:: -fxray-modes=<arg>
2405
2406List of modes to link in by default into XRay instrumented binaries.
2407
Richard Smith78e23fd2017-04-13 22:39:49 +00002408.. option:: -fxray-never-instrument=<arg>
2409
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002410DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
Richard Smith78e23fd2017-04-13 22:39:49 +00002411
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002412.. option:: -fxray-selected-function-group=<arg>
2413
2414When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
2415
Richard Smith081ad4d2017-01-24 19:39:46 +00002416.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss
2417
Richard Smith081ad4d2017-01-24 19:39:46 +00002418.. option:: -fzvector, -fno-zvector, -mzvector
2419
2420Enable System z vector language extension
2421
Richard Smith081ad4d2017-01-24 19:39:46 +00002422.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic
2423
Richard Smith081ad4d2017-01-24 19:39:46 +00002424.. option:: -pedantic-errors, --pedantic-errors
2425
2426OpenCL flags
2427------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002428.. option:: -cl-denorms-are-zero
2429
2430OpenCL only. Allow denormals to be flushed to zero.
2431
Richard Smith081ad4d2017-01-24 19:39:46 +00002432.. option:: -cl-fast-relaxed-math
2433
2434OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_.
2435
Richard Smith081ad4d2017-01-24 19:39:46 +00002436.. option:: -cl-finite-math-only
2437
2438OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
2439
Richard Smith081ad4d2017-01-24 19:39:46 +00002440.. option:: -cl-fp32-correctly-rounded-divide-sqrt
2441
2442OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
2443
Richard Smith081ad4d2017-01-24 19:39:46 +00002444.. option:: -cl-kernel-arg-info
2445
2446OpenCL only. Generate kernel argument metadata.
2447
Richard Smith081ad4d2017-01-24 19:39:46 +00002448.. option:: -cl-mad-enable
2449
2450OpenCL only. Allow use of less precise MAD computations in the generated binary.
2451
Richard Smith081ad4d2017-01-24 19:39:46 +00002452.. option:: -cl-no-signed-zeros
2453
2454OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
2455
Richard Smith081ad4d2017-01-24 19:39:46 +00002456.. option:: -cl-opt-disable
2457
2458OpenCL only. This option disables all optimizations. By default optimizations are enabled.
2459
Richard Smith081ad4d2017-01-24 19:39:46 +00002460.. option:: -cl-single-precision-constant
2461
2462OpenCL only. Treat double precision floating-point constant as single precision constant.
2463
Richard Smith081ad4d2017-01-24 19:39:46 +00002464.. option:: -cl-std=<arg>
2465
2466OpenCL language standard to compile for.
2467
Richard Smith081ad4d2017-01-24 19:39:46 +00002468.. option:: -cl-strict-aliasing
2469
2470OpenCL only. This option is added for compatibility with OpenCL 1.0.
2471
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00002472.. option:: -cl-uniform-work-group-size
2473
2474OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
2475
Richard Smith081ad4d2017-01-24 19:39:46 +00002476.. option:: -cl-unsafe-math-optimizations
2477
2478OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
2479
Craig Topper9624beb2020-03-10 11:08:19 -07002480SYCL flags
2481----------
2482.. option:: -fsycl, -fno-sycl
2483
2484Enable SYCL kernels compilation for device
2485
2486.. option:: -sycl-std=<arg>
2487
2488SYCL language standard to compile for.
2489
Richard Smith081ad4d2017-01-24 19:39:46 +00002490Target-dependent compilation options
2491~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fangrui Songd8c97292020-06-18 14:52:39 -07002492.. option:: -G<size>, -G=<arg>, -msmall-data-limit=<arg>, -msmall-data-threshold=<arg>
Richard Smithc5b2e002017-01-27 02:08:37 +00002493
Fangrui Songd8c97292020-06-18 14:52:39 -07002494Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
Richard Smithc5b2e002017-01-27 02:08:37 +00002495
Craig Topper9624beb2020-03-10 11:08:19 -07002496.. option:: -ffixed-x1
2497
Fangrui Songd8c97292020-06-18 14:52:39 -07002498Reserve the x1 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002499
2500.. option:: -ffixed-x10
2501
Fangrui Songd8c97292020-06-18 14:52:39 -07002502Reserve the x10 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002503
2504.. option:: -ffixed-x11
2505
Fangrui Songd8c97292020-06-18 14:52:39 -07002506Reserve the x11 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002507
2508.. option:: -ffixed-x12
2509
Fangrui Songd8c97292020-06-18 14:52:39 -07002510Reserve the x12 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002511
2512.. option:: -ffixed-x13
2513
Fangrui Songd8c97292020-06-18 14:52:39 -07002514Reserve the x13 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002515
2516.. option:: -ffixed-x14
2517
Fangrui Songd8c97292020-06-18 14:52:39 -07002518Reserve the x14 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002519
2520.. option:: -ffixed-x15
2521
Fangrui Songd8c97292020-06-18 14:52:39 -07002522Reserve the x15 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002523
2524.. option:: -ffixed-x16
2525
Fangrui Songd8c97292020-06-18 14:52:39 -07002526Reserve the x16 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002527
2528.. option:: -ffixed-x17
2529
Fangrui Songd8c97292020-06-18 14:52:39 -07002530Reserve the x17 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002531
2532.. option:: -ffixed-x18
2533
Fangrui Songd8c97292020-06-18 14:52:39 -07002534Reserve the x18 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002535
2536.. option:: -ffixed-x19
2537
Fangrui Songd8c97292020-06-18 14:52:39 -07002538Reserve the x19 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002539
2540.. option:: -ffixed-x2
2541
Fangrui Songd8c97292020-06-18 14:52:39 -07002542Reserve the x2 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002543
2544.. option:: -ffixed-x20
2545
Fangrui Songd8c97292020-06-18 14:52:39 -07002546Reserve the x20 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002547
2548.. option:: -ffixed-x21
2549
Fangrui Songd8c97292020-06-18 14:52:39 -07002550Reserve the x21 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002551
2552.. option:: -ffixed-x22
2553
Fangrui Songd8c97292020-06-18 14:52:39 -07002554Reserve the x22 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002555
2556.. option:: -ffixed-x23
2557
Fangrui Songd8c97292020-06-18 14:52:39 -07002558Reserve the x23 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002559
2560.. option:: -ffixed-x24
2561
Fangrui Songd8c97292020-06-18 14:52:39 -07002562Reserve the x24 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002563
2564.. option:: -ffixed-x25
2565
Fangrui Songd8c97292020-06-18 14:52:39 -07002566Reserve the x25 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002567
2568.. option:: -ffixed-x26
2569
Fangrui Songd8c97292020-06-18 14:52:39 -07002570Reserve the x26 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002571
2572.. option:: -ffixed-x27
2573
Fangrui Songd8c97292020-06-18 14:52:39 -07002574Reserve the x27 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002575
2576.. option:: -ffixed-x28
2577
Fangrui Songd8c97292020-06-18 14:52:39 -07002578Reserve the x28 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002579
2580.. option:: -ffixed-x29
2581
Fangrui Songd8c97292020-06-18 14:52:39 -07002582Reserve the x29 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002583
2584.. option:: -ffixed-x3
2585
Fangrui Songd8c97292020-06-18 14:52:39 -07002586Reserve the x3 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002587
2588.. option:: -ffixed-x30
2589
Fangrui Songd8c97292020-06-18 14:52:39 -07002590Reserve the x30 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002591
2592.. option:: -ffixed-x31
2593
Fangrui Songd8c97292020-06-18 14:52:39 -07002594Reserve the x31 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002595
2596.. option:: -ffixed-x4
2597
Fangrui Songd8c97292020-06-18 14:52:39 -07002598Reserve the x4 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002599
2600.. option:: -ffixed-x5
2601
Fangrui Songd8c97292020-06-18 14:52:39 -07002602Reserve the x5 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002603
2604.. option:: -ffixed-x6
2605
Fangrui Songd8c97292020-06-18 14:52:39 -07002606Reserve the x6 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002607
2608.. option:: -ffixed-x7
2609
Fangrui Songd8c97292020-06-18 14:52:39 -07002610Reserve the x7 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002611
2612.. option:: -ffixed-x8
2613
Fangrui Songd8c97292020-06-18 14:52:39 -07002614Reserve the x8 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002615
2616.. option:: -ffixed-x9
2617
Fangrui Songd8c97292020-06-18 14:52:39 -07002618Reserve the x9 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002619
Richard Smith081ad4d2017-01-24 19:39:46 +00002620.. option:: -m16
2621
Richard Smith081ad4d2017-01-24 19:39:46 +00002622.. option:: -m32
2623
Richard Smith081ad4d2017-01-24 19:39:46 +00002624.. option:: -m64
2625
Richard Smith081ad4d2017-01-24 19:39:46 +00002626.. option:: -mabi=<arg>
2627
Fangrui Songd8c97292020-06-18 14:52:39 -07002628.. option:: -maix-struct-return
2629
2630Return all structs in memory (PPC32 only)
2631
Craig Topper9624beb2020-03-10 11:08:19 -07002632.. option:: -malign-branch-boundary=<arg>
2633
2634Specify the boundary's size to align branches
2635
Craig Topper9624beb2020-03-10 11:08:19 -07002636.. option:: -malign-branch=<arg1>,<arg2>...
2637
2638Specify types of branches to align
2639
Richard Smith081ad4d2017-01-24 19:39:46 +00002640.. option:: -malign-double
2641
2642Align doubles to two words in structs (x86 only)
2643
Richard Smith081ad4d2017-01-24 19:39:46 +00002644.. option:: -march=<arg>
2645
Richard Smith081ad4d2017-01-24 19:39:46 +00002646.. option:: -masm=<arg>
2647
Richard Smith081ad4d2017-01-24 19:39:46 +00002648.. option:: -mbackchain, -mno-backchain
2649
2650Link stack frames through backchain on System Z
2651
Craig Topper9624beb2020-03-10 11:08:19 -07002652.. option:: -mbranches-within-32B-boundaries
2653
2654Align selected branches (fused, jcc, jmp) within 32-byte boundary
2655
2656.. option:: -mcmodel=<arg>, -mcmodel=medany (equivalent to -mcmodel=medium), -mcmodel=medlow (equivalent to -mcmodel=small)
Richard Smith081ad4d2017-01-24 19:39:46 +00002657
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002658.. option:: -mcode-object-v3, -mno-code-object-v3
2659
2660Enable code object v3 (AMDGPU only)
2661
Richard Smith081ad4d2017-01-24 19:39:46 +00002662.. option:: -mconsole<arg>
2663
Craig Topper9624beb2020-03-10 11:08:19 -07002664.. program:: clang1
2665.. option:: -mcpu=<arg>, -mv5 (equivalent to -mcpu=hexagonv5), -mv55 (equivalent to -mcpu=hexagonv55), -mv60 (equivalent to -mcpu=hexagonv60), -mv62 (equivalent to -mcpu=hexagonv62), -mv65 (equivalent to -mcpu=hexagonv65), -mv66 (equivalent to -mcpu=hexagonv66), -mv67 (equivalent to -mcpu=hexagonv67), -mv67t (equivalent to -mcpu=hexagonv67t)
2666.. program:: clang
Ziang Wande94ac92019-06-25 23:57:14 +00002667
Vedant Kumar368540f2018-08-23 17:55:03 +00002668.. option:: -mcrc, -mno-crc
2669
2670Allow use of CRC instructions (ARM/Mips only)
2671
Craig Topperd23254a2017-07-20 17:52:48 +00002672.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg>
2673
Richard Smith081ad4d2017-01-24 19:39:46 +00002674.. option:: -mdll<arg>
2675
Fangrui Songd8c97292020-06-18 14:52:39 -07002676.. option:: -mdouble=<arg>
2677
2678Force double to be 32 bits or 64 bits
2679
Richard Smith081ad4d2017-01-24 19:39:46 +00002680.. option:: -mdynamic-no-pic<arg>
2681
Richard Smith081ad4d2017-01-24 19:39:46 +00002682.. option:: -meabi <arg>
2683
2684Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
2685
Fangrui Songd8c97292020-06-18 14:52:39 -07002686.. option:: -menable-experimental-extensions
2687
2688Enable use of experimental RISC-V extensions.
2689
Richard Smith78e23fd2017-04-13 22:39:49 +00002690.. option:: -mfentry
2691
Jonas Paulsson81aa62a2019-09-20 13:13:50 +00002692Insert calls to fentry at function entry (x86/SystemZ only)
Richard Smith78e23fd2017-04-13 22:39:49 +00002693
Richard Smith081ad4d2017-01-24 19:39:46 +00002694.. option:: -mfloat-abi=<arg>
2695
Richard Smith081ad4d2017-01-24 19:39:46 +00002696.. option:: -mfpmath=<arg>
2697
Richard Smith081ad4d2017-01-24 19:39:46 +00002698.. option:: -mfpu=<arg>
2699
Richard Smith081ad4d2017-01-24 19:39:46 +00002700.. option:: -mglobal-merge, -mno-global-merge
2701
2702Enable merging of globals
2703
Richard Smith081ad4d2017-01-24 19:39:46 +00002704.. option:: -mhard-float
2705
Richard Smith081ad4d2017-01-24 19:39:46 +00002706.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg>
2707
Craig Topper9624beb2020-03-10 11:08:19 -07002708.. option:: -mhwmult=<arg>
2709
Richard Smith081ad4d2017-01-24 19:39:46 +00002710.. option:: -miamcu, -mno-iamcu
2711
2712Use Intel MCU ABI
2713
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002714.. option:: -mignore-xcoff-visibility
2715
2716Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
2717
Richard Smith081ad4d2017-01-24 19:39:46 +00002718.. option:: -mimplicit-float, -mno-implicit-float
2719
Richard Smith081ad4d2017-01-24 19:39:46 +00002720.. option:: -mimplicit-it=<arg>
2721
Richard Smith081ad4d2017-01-24 19:39:46 +00002722.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible
2723
2724(integrated-as) Emit an object file which can be used with an incremental linker
2725
Richard Smith78e23fd2017-04-13 22:39:49 +00002726.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002727
Richard Smith081ad4d2017-01-24 19:39:46 +00002728.. option:: -mkernel
2729
Richard Smith081ad4d2017-01-24 19:39:46 +00002730.. option:: -mlong-calls, -mno-long-calls
2731
2732Generate branches with extended addressability, usually via indirect jumps.
2733
Scott Constable5b519cf2020-04-02 21:59:47 -07002734.. option:: -mlvi-cfi, -mno-lvi-cfi
2735
2736Enable only control-flow mitigations for Load Value Injection (LVI)
2737
Fangrui Songd8c97292020-06-18 14:52:39 -07002738.. option:: -mlvi-hardening, -mno-lvi-hardening
2739
2740Enable all mitigations for Load Value Injection (LVI)
2741
Craig Topperd23254a2017-07-20 17:52:48 +00002742.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002743
Craig Topper9624beb2020-03-10 11:08:19 -07002744Set Mac OS X deployment target
Richard Smith081ad4d2017-01-24 19:39:46 +00002745
Craig Topperd23254a2017-07-20 17:52:48 +00002746.. option:: -mmcu=<arg>
2747
Richard Smith081ad4d2017-01-24 19:39:46 +00002748.. option:: -mms-bitfields, -mno-ms-bitfields
2749
2750Set the default structure layout to be compatible with the Microsoft compiler standard
2751
Craig Topper9624beb2020-03-10 11:08:19 -07002752.. option:: -mnop-mcount
2753
2754Generate mcount/\_\_fentry\_\_ calls as nops. To activate they need to be patched in.
2755
Richard Smith081ad4d2017-01-24 19:39:46 +00002756.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer
2757
2758Omit frame pointer setup for leaf functions
2759
Richard Smith081ad4d2017-01-24 19:39:46 +00002760.. option:: -moslib=<arg>
2761
Craig Topper9624beb2020-03-10 11:08:19 -07002762.. option:: -mpacked-stack, -mno-packed-stack
2763
2764Use packed stack layout (SystemZ only).
2765
Fangrui Songd8c97292020-06-18 14:52:39 -07002766.. option:: -mpad-max-prefix-size=<arg>
2767
2768Specify maximum number of prefixes to use for padding
2769
Richard Smith081ad4d2017-01-24 19:39:46 +00002770.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations
2771
2772Use copy relocations support for PIE builds
2773
Craig Topper9a724aa2017-12-11 21:09:19 +00002774.. option:: -mprefer-vector-width=<arg>
2775
2776Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
2777
Richard Smith081ad4d2017-01-24 19:39:46 +00002778.. option:: -mqdsp6-compat
2779
2780Enable hexagon-qdsp6 backward compatibility
2781
Richard Smith081ad4d2017-01-24 19:39:46 +00002782.. option:: -mrecip
2783
Richard Smithb2c82a62017-01-27 01:54:42 +00002784.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002785.. option:: -mrecip=<arg1>,<arg2>...
Richard Smithb2c82a62017-01-27 01:54:42 +00002786.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002787
Craig Topper9624beb2020-03-10 11:08:19 -07002788.. option:: -mrecord-mcount
2789
2790Generate a \_\_mcount\_loc section entry for each \_\_fentry\_\_ call.
2791
Richard Smith081ad4d2017-01-24 19:39:46 +00002792.. option:: -mred-zone, -mno-red-zone
2793
Richard Smith081ad4d2017-01-24 19:39:46 +00002794.. option:: -mregparm=<arg>
2795
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002796.. option:: -mrelax, -mno-relax
2797
2798Enable linker relaxation
2799
Richard Smith081ad4d2017-01-24 19:39:46 +00002800.. option:: -mrelax-all, -mno-relax-all
2801
2802(integrated-as) Relax all machine instructions
2803
Vedant Kumar368540f2018-08-23 17:55:03 +00002804.. option:: -mretpoline, -mno-retpoline
2805
Richard Smith081ad4d2017-01-24 19:39:46 +00002806.. option:: -mrtd, -mno-rtd
2807
2808Make StdCall calling convention the default
2809
Zola Bridges9d9e4992020-05-13 11:25:08 -07002810.. option:: -mseses, -mno-seses
2811
2812Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
2813
Vedant Kumar368540f2018-08-23 17:55:03 +00002814.. option:: -msign-return-address=<arg>
2815
2816Select return address signing scope
Richard Smith081ad4d2017-01-24 19:39:46 +00002817
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002818.. option:: -msim
2819
Richard Smith081ad4d2017-01-24 19:39:46 +00002820.. option:: -msoft-float, -mno-soft-float
2821
2822Use software floating point
2823
Craig Topper9624beb2020-03-10 11:08:19 -07002824.. option:: -mspeculative-load-hardening, -mno-speculative-load-hardening
2825
Richard Smith081ad4d2017-01-24 19:39:46 +00002826.. option:: -mstack-alignment=<arg>
2827
2828Set the stack alignment
2829
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002830.. option:: -mstack-arg-probe, -mno-stack-arg-probe
2831
2832Enable stack probes
2833
Richard Smith081ad4d2017-01-24 19:39:46 +00002834.. option:: -mstack-probe-size=<arg>
2835
2836Set the stack probe size
2837
Richard Smith081ad4d2017-01-24 19:39:46 +00002838.. option:: -mstackrealign, -mno-stackrealign
2839
2840Force realign the stack at entry to every function
2841
Fangrui Songd8c97292020-06-18 14:52:39 -07002842.. option:: -msvr4-struct-return
2843
2844Return small structs in registers (PPC32 only)
2845
Richard Smith081ad4d2017-01-24 19:39:46 +00002846.. option:: -mthread-model <arg>
2847
2848The thread model to use, e.g. posix, single (posix by default)
2849
Richard Smith081ad4d2017-01-24 19:39:46 +00002850.. option:: -mthreads<arg>
2851
Richard Smith081ad4d2017-01-24 19:39:46 +00002852.. option:: -mthumb, -mno-thumb
2853
Craig Topper9624beb2020-03-10 11:08:19 -07002854.. option:: -mtls-direct-seg-refs, -mno-tls-direct-seg-refs
Richard Smith081ad4d2017-01-24 19:39:46 +00002855
Craig Topper9624beb2020-03-10 11:08:19 -07002856Enable direct TLS access through segment registers (default)
2857
2858.. option:: -mtls-size=<arg>
2859
2860Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) \| 24 (for 16MB, default) \| 32 (for 4GB) \| 48 (for 256TB, needs -mcmodel=large)
2861
2862.. program:: clang1
2863.. option:: -mtune=<arg>
2864.. program:: clang
Ziang Wande94ac92019-06-25 23:57:14 +00002865
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002866Only supported on X86. Otherwise accepted for compatibility with GCC.
Sjoerd Meijer35cf2f42020-04-22 08:49:02 +01002867
Richard Smith78e23fd2017-04-13 22:39:49 +00002868.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002869
Richard Smith081ad4d2017-01-24 19:39:46 +00002870.. option:: -municode<arg>
2871
Richard Smith081ad4d2017-01-24 19:39:46 +00002872.. option:: -mvx, -mno-vx
2873
Richard Smith081ad4d2017-01-24 19:39:46 +00002874.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings
2875
Richard Smith78e23fd2017-04-13 22:39:49 +00002876.. option:: -mwatchos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002877
Craig Topper9624beb2020-03-10 11:08:19 -07002878.. option:: -mwavefrontsize64, -mno-wavefrontsize64
2879
2880Wavefront size 64 is used
2881
Richard Smith081ad4d2017-01-24 19:39:46 +00002882.. option:: -mwindows<arg>
2883
Richard Smith081ad4d2017-01-24 19:39:46 +00002884.. option:: -mx32
2885
Richard Smith081ad4d2017-01-24 19:39:46 +00002886AARCH64
2887-------
Tri Vo28e7e602018-09-25 16:48:40 +00002888.. option:: -fcall-saved-x10
2889
2890Make the x10 register call-saved (AArch64 only)
2891
2892.. option:: -fcall-saved-x11
2893
2894Make the x11 register call-saved (AArch64 only)
2895
2896.. option:: -fcall-saved-x12
2897
2898Make the x12 register call-saved (AArch64 only)
2899
2900.. option:: -fcall-saved-x13
2901
2902Make the x13 register call-saved (AArch64 only)
2903
2904.. option:: -fcall-saved-x14
2905
2906Make the x14 register call-saved (AArch64 only)
2907
2908.. option:: -fcall-saved-x15
2909
2910Make the x15 register call-saved (AArch64 only)
2911
2912.. option:: -fcall-saved-x18
2913
2914Make the x18 register call-saved (AArch64 only)
2915
Craig Topper9624beb2020-03-10 11:08:19 -07002916.. option:: -fcall-saved-x8
2917
2918Make the x8 register call-saved (AArch64 only)
2919
2920.. option:: -fcall-saved-x9
2921
2922Make the x9 register call-saved (AArch64 only)
2923
Richard Smith081ad4d2017-01-24 19:39:46 +00002924.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769
2925
2926Workaround Cortex-A53 erratum 835769 (AArch64 only)
2927
Richard Smith081ad4d2017-01-24 19:39:46 +00002928.. option:: -mgeneral-regs-only
2929
2930Generate code which only uses the general purpose registers (AArch64 only)
2931
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04002932.. option:: -mmark-bti-property
2933
2934Add .note.gnu.property with BTI to assembly files (AArch64 only)
2935
2936.. option:: -msve-vector-bits=<arg>
2937
2938Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
2939
Richard Smith081ad4d2017-01-24 19:39:46 +00002940AMDGPU
2941------
Stanislav Mekhanoshin91792f12019-05-13 23:15:59 +00002942.. option:: -mcumode, -mno-cumode
2943
Craig Topper9624beb2020-03-10 11:08:19 -07002944CU wavefront execution mode is used (AMDGPU only)
Stanislav Mekhanoshin91792f12019-05-13 23:15:59 +00002945
Craig Topper9624beb2020-03-10 11:08:19 -07002946.. option:: -msram-ecc, -mno-sram-ecc
Stanislav Mekhanoshin8a8131a2019-06-13 23:47:59 +00002947
Craig Topper9624beb2020-03-10 11:08:19 -07002948Enable SRAM ECC (AMDGPU only)
Stanislav Mekhanoshin8a8131a2019-06-13 23:47:59 +00002949
Craig Topper16418662017-11-20 18:07:43 +00002950.. option:: -mxnack, -mno-xnack
2951
2952Enable XNACK (AMDGPU only)
2953
Richard Smith081ad4d2017-01-24 19:39:46 +00002954ARM
2955---
Craig Topper9624beb2020-03-10 11:08:19 -07002956.. option:: -fAAPCSBitfieldLoad
2957
2958Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
2959
Richard Smith081ad4d2017-01-24 19:39:46 +00002960.. option:: -ffixed-r9
2961
2962Reserve the r9 register (ARM only)
2963
Craig Topper9624beb2020-03-10 11:08:19 -07002964.. option:: -mcmse
Momchil Velikovac215352020-01-29 10:38:10 +00002965
Craig Topper9624beb2020-03-10 11:08:19 -07002966Allow use of CMSE (Armv8-M Security Extensions)
Momchil Velikovac215352020-01-29 10:38:10 +00002967
Richard Smith081ad4d2017-01-24 19:39:46 +00002968.. option:: -mexecute-only, -mno-execute-only, -mpure-code
2969
2970Disallow generation of data access to code sections (ARM only)
2971
Richard Smith081ad4d2017-01-24 19:39:46 +00002972.. option:: -mno-movt
2973
2974Disallow use of movt/movw pairs (ARM only)
2975
Richard Smith78e23fd2017-04-13 22:39:49 +00002976.. option:: -mno-neg-immediates
2977
2978Disallow converting instructions with negative immediates to their negation or inversion.
2979
Richard Smith081ad4d2017-01-24 19:39:46 +00002980.. option:: -mnocrc
2981
2982Disallow use of CRC instructions (ARM only)
2983
Richard Smith081ad4d2017-01-24 19:39:46 +00002984.. option:: -mrestrict-it, -mno-restrict-it
2985
2986Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
2987
Craig Topper16418662017-11-20 18:07:43 +00002988.. option:: -mtp=<arg>
2989
Craig Topper9624beb2020-03-10 11:08:19 -07002990Thread pointer access method (AArch32/AArch64 only)
Craig Topper16418662017-11-20 18:07:43 +00002991
Richard Smith081ad4d2017-01-24 19:39:46 +00002992.. option:: -munaligned-access, -mno-unaligned-access
2993
2994Allow memory accesses to be unaligned (AArch32/AArch64 only)
2995
2996Hexagon
2997-------
Craig Topper16418662017-11-20 18:07:43 +00002998.. option:: -mieee-rnd-near
2999
Vedant Kumar368540f2018-08-23 17:55:03 +00003000.. option:: -mmemops, -mno-memops
3001
3002Enable generation of memop instructions
3003
3004.. option:: -mnvj, -mno-nvj
3005
3006Enable generation of new-value jumps
3007
3008.. option:: -mnvs, -mno-nvs
3009
3010Enable generation of new-value stores
3011
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003012.. option:: -mpackets, -mno-packets
3013
3014Enable generation of instruction packets
3015
Craig Topper16418662017-11-20 18:07:43 +00003016Hexagon
3017-------
Richard Smith081ad4d2017-01-24 19:39:46 +00003018.. option:: -mhvx, -mno-hvx
3019
3020Enable Hexagon Vector eXtensions
3021
Craig Topper16418662017-11-20 18:07:43 +00003022.. option:: -mhvx-length=<arg>
3023
3024Set Hexagon Vector Length
3025
3026.. program:: clang1
3027.. option:: -mhvx=<arg>
3028.. program:: clang
3029
3030Enable Hexagon Vector eXtensions
Richard Smith081ad4d2017-01-24 19:39:46 +00003031
Vedant Kumar368540f2018-08-23 17:55:03 +00003032MIPS
3033----
3034.. option:: -mabicalls, -mno-abicalls
3035
3036Enable SVR4-style position-independent code (Mips only)
3037
3038.. option:: -mabs=<arg>
3039
3040.. option:: -mcheck-zero-division, -mno-check-zero-division
3041
3042.. option:: -mcompact-branches=<arg>
3043
3044.. option:: -mdouble-float
3045
3046.. option:: -mdsp, -mno-dsp
3047
3048.. option:: -mdspr2, -mno-dspr2
3049
3050.. option:: -membedded-data, -mno-embedded-data
3051
3052Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
3053
3054.. option:: -mextern-sdata, -mno-extern-sdata
3055
3056Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
3057
3058.. option:: -mfp32
3059
3060Use 32-bit floating point registers (MIPS only)
3061
3062.. option:: -mfp64
3063
3064Use 64-bit floating point registers (MIPS only)
3065
3066.. option:: -mginv, -mno-ginv
3067
3068.. option:: -mgpopt, -mno-gpopt
3069
3070Use GP relative accesses for symbols known to be in a small data section (MIPS)
3071
3072.. option:: -mindirect-jump=<arg>
3073
3074Change indirect jump instructions to inhibit speculation
3075
3076.. option:: -mips16
3077
3078.. option:: -mldc1-sdc1, -mno-ldc1-sdc1
3079
3080.. option:: -mlocal-sdata, -mno-local-sdata
3081
3082Extend the -G behaviour to object local data (MIPS)
3083
3084.. option:: -mmadd4, -mno-madd4
3085
3086Enable the generation of 4-operand madd.s, madd.d and related instructions.
3087
3088.. option:: -mmicromips, -mno-micromips
3089
3090.. option:: -mmsa, -mno-msa
3091
3092Enable MSA ASE (MIPS only)
3093
3094.. option:: -mmt, -mno-mt
3095
3096Enable MT ASE (MIPS only)
3097
3098.. option:: -mnan=<arg>
3099
3100.. option:: -mno-mips16
3101
3102.. option:: -msingle-float
3103
3104.. option:: -mvirt, -mno-virt
3105
3106.. option:: -mxgot, -mno-xgot
3107
Richard Smith081ad4d2017-01-24 19:39:46 +00003108PowerPC
3109-------
Richard Smith78e23fd2017-04-13 22:39:49 +00003110.. option:: -maltivec, -mno-altivec
3111
Richard Smith081ad4d2017-01-24 19:39:46 +00003112.. option:: -mcmpb, -mno-cmpb
3113
Richard Smith081ad4d2017-01-24 19:39:46 +00003114.. option:: -mcrbits, -mno-crbits
3115
Richard Smith081ad4d2017-01-24 19:39:46 +00003116.. option:: -mcrypto, -mno-crypto
3117
Richard Smith081ad4d2017-01-24 19:39:46 +00003118.. option:: -mdirect-move, -mno-direct-move
3119
Richard Smith081ad4d2017-01-24 19:39:46 +00003120.. option:: -mfloat128, -mno-float128
3121
Richard Smith081ad4d2017-01-24 19:39:46 +00003122.. option:: -mfprnd, -mno-fprnd
3123
Richard Smith081ad4d2017-01-24 19:39:46 +00003124.. option:: -mhtm, -mno-htm
3125
Richard Smith081ad4d2017-01-24 19:39:46 +00003126.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors
3127
Richard Smith081ad4d2017-01-24 19:39:46 +00003128.. option:: -misel, -mno-isel
3129
Richard Smith081ad4d2017-01-24 19:39:46 +00003130.. option:: -mlongcall, -mno-longcall
3131
Richard Smith081ad4d2017-01-24 19:39:46 +00003132.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf
3133
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04003134.. option:: -mmma, -mno-mma
3135
3136.. option:: -mpaired-vector-memops, -mno-paired-vector-memops
3137
Fangrui Songd8c97292020-06-18 14:52:39 -07003138.. option:: -mpcrel, -mno-pcrel
3139
Richard Smith081ad4d2017-01-24 19:39:46 +00003140.. option:: -mpopcntd, -mno-popcntd
3141
Fangrui Songd8c97292020-06-18 14:52:39 -07003142.. option:: -mpower10-vector, -mno-power10-vector
3143
Richard Smith081ad4d2017-01-24 19:39:46 +00003144.. option:: -mpower8-vector, -mno-power8-vector
3145
Richard Smith081ad4d2017-01-24 19:39:46 +00003146.. option:: -mpower9-vector, -mno-power9-vector
3147
Richard Smith081ad4d2017-01-24 19:39:46 +00003148.. option:: -mqpx, -mno-qpx
3149
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003150.. option:: -msecure-plt
3151
Craig Topper9624beb2020-03-10 11:08:19 -07003152.. option:: -mspe, -mno-spe
3153
Richard Smith081ad4d2017-01-24 19:39:46 +00003154.. option:: -mvsx, -mno-vsx
3155
3156WebAssembly
3157-----------
Craig Topper9624beb2020-03-10 11:08:19 -07003158.. option:: -matomics, -mno-atomics
3159
3160.. option:: -mbulk-memory, -mno-bulk-memory
3161
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003162.. option:: -mexception-handling, -mno-exception-handling
3163
Craig Topper9624beb2020-03-10 11:08:19 -07003164.. option:: -mmultivalue, -mno-multivalue
3165
3166.. option:: -mmutable-globals, -mno-mutable-globals
3167
Craig Topper188252d2017-12-11 21:09:16 +00003168.. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint
3169
Craig Topper9624beb2020-03-10 11:08:19 -07003170.. option:: -mreference-types, -mno-reference-types
3171
Dan Gohmand0c4e1e2018-01-19 17:16:32 +00003172.. option:: -msign-ext, -mno-sign-ext
3173
Richard Smith081ad4d2017-01-24 19:39:46 +00003174.. option:: -msimd128, -mno-simd128
3175
Craig Topper9624beb2020-03-10 11:08:19 -07003176.. option:: -mtail-call, -mno-tail-call
3177
3178.. option:: -munimplemented-simd128, -mno-unimplemented-simd128
3179
Fangrui Songd8c97292020-06-18 14:52:39 -07003180WebAssembly Driver
3181------------------
Dan Gohmand4964372020-04-21 10:35:10 -07003182.. option:: -mexec-model=<arg>
3183
Fangrui Songd8c97292020-06-18 14:52:39 -07003184Execution model (WebAssembly only)
Dan Gohmand4964372020-04-21 10:35:10 -07003185
Richard Smith081ad4d2017-01-24 19:39:46 +00003186X86
3187---
Richard Smith081ad4d2017-01-24 19:39:46 +00003188.. option:: -m3dnow, -mno-3dnow
3189
Richard Smith081ad4d2017-01-24 19:39:46 +00003190.. option:: -m3dnowa, -mno-3dnowa
3191
Richard Smith081ad4d2017-01-24 19:39:46 +00003192.. option:: -madx, -mno-adx
3193
Richard Smith081ad4d2017-01-24 19:39:46 +00003194.. option:: -maes, -mno-aes
3195
Xiang1 Zhang939d8302020-07-07 09:50:17 +08003196.. option:: -mamx-bf16, -mno-amx-bf16
3197
3198.. option:: -mamx-int8, -mno-amx-int8
3199
3200.. option:: -mamx-tile, -mno-amx-tile
3201
Richard Smith081ad4d2017-01-24 19:39:46 +00003202.. option:: -mavx, -mno-avx
3203
Richard Smith081ad4d2017-01-24 19:39:46 +00003204.. option:: -mavx2, -mno-avx2
3205
Luo, Yuanke844f6622019-05-06 08:25:11 +00003206.. option:: -mavx512bf16, -mno-avx512bf16
3207
Craig Topper9624beb2020-03-10 11:08:19 -07003208.. option:: -mavx512bitalg, -mno-avx512bitalg
3209
Richard Smith081ad4d2017-01-24 19:39:46 +00003210.. option:: -mavx512bw, -mno-avx512bw
3211
Richard Smith081ad4d2017-01-24 19:39:46 +00003212.. option:: -mavx512cd, -mno-avx512cd
3213
Richard Smith081ad4d2017-01-24 19:39:46 +00003214.. option:: -mavx512dq, -mno-avx512dq
3215
Richard Smith081ad4d2017-01-24 19:39:46 +00003216.. option:: -mavx512er, -mno-avx512er
3217
Richard Smith081ad4d2017-01-24 19:39:46 +00003218.. option:: -mavx512f, -mno-avx512f
3219
Richard Smith081ad4d2017-01-24 19:39:46 +00003220.. option:: -mavx512ifma, -mno-avx512ifma
3221
Richard Smith081ad4d2017-01-24 19:39:46 +00003222.. option:: -mavx512pf, -mno-avx512pf
3223
Richard Smith081ad4d2017-01-24 19:39:46 +00003224.. option:: -mavx512vbmi, -mno-avx512vbmi
3225
Craig Topper287c8012018-01-03 18:29:12 +00003226.. option:: -mavx512vbmi2, -mno-avx512vbmi2
3227
Richard Smith081ad4d2017-01-24 19:39:46 +00003228.. option:: -mavx512vl, -mno-avx512vl
3229
Craig Topper287c8012018-01-03 18:29:12 +00003230.. option:: -mavx512vnni, -mno-avx512vnni
3231
Pengfei Wangcc3629d2019-05-31 06:09:35 +00003232.. option:: -mavx512vp2intersect, -mno-avx512vp2intersect
3233
Craig Topperd23254a2017-07-20 17:52:48 +00003234.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq
3235
Richard Smith081ad4d2017-01-24 19:39:46 +00003236.. option:: -mbmi, -mno-bmi
3237
Richard Smith081ad4d2017-01-24 19:39:46 +00003238.. option:: -mbmi2, -mno-bmi2
3239
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003240.. option:: -mcldemote, -mno-cldemote
3241
Craig Topper78b47872017-02-08 06:48:58 +00003242.. option:: -mclflushopt, -mno-clflushopt
3243
Craig Topper177a57c2017-02-08 07:57:01 +00003244.. option:: -mclwb, -mno-clwb
3245
Richard Smith78e23fd2017-04-13 22:39:49 +00003246.. option:: -mclzero, -mno-clzero
3247
Richard Smith081ad4d2017-01-24 19:39:46 +00003248.. option:: -mcx16, -mno-cx16
3249
Pengfei Wang3a29f7c2019-06-06 08:28:42 +00003250.. option:: -menqcmd, -mno-enqcmd
3251
Richard Smith081ad4d2017-01-24 19:39:46 +00003252.. option:: -mf16c, -mno-f16c
3253
Richard Smith081ad4d2017-01-24 19:39:46 +00003254.. option:: -mfma, -mno-fma
3255
Richard Smith081ad4d2017-01-24 19:39:46 +00003256.. option:: -mfma4, -mno-fma4
3257
Richard Smith081ad4d2017-01-24 19:39:46 +00003258.. option:: -mfsgsbase, -mno-fsgsbase
3259
Richard Smith081ad4d2017-01-24 19:39:46 +00003260.. option:: -mfxsr, -mno-fxsr
3261
Craig Topper287c8012018-01-03 18:29:12 +00003262.. option:: -mgfni, -mno-gfni
3263
Vedant Kumar368540f2018-08-23 17:55:03 +00003264.. option:: -minvpcid, -mno-invpcid
3265
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04003266.. option:: -mkl, -mno-kl
3267
Craig Topperd23254a2017-07-20 17:52:48 +00003268.. option:: -mlwp, -mno-lwp
3269
Richard Smith081ad4d2017-01-24 19:39:46 +00003270.. option:: -mlzcnt, -mno-lzcnt
3271
Richard Smith081ad4d2017-01-24 19:39:46 +00003272.. option:: -mmmx, -mno-mmx
3273
Craig Topper177a57c2017-02-08 07:57:01 +00003274.. option:: -mmovbe, -mno-movbe
3275
Gabor Buellaa51e0c22018-05-01 10:05:42 +00003276.. option:: -mmovdir64b, -mno-movdir64b
3277
Vedant Kumar368540f2018-08-23 17:55:03 +00003278.. option:: -mmovdiri, -mno-movdiri
3279
Richard Smith081ad4d2017-01-24 19:39:46 +00003280.. option:: -mmwaitx, -mno-mwaitx
3281
Richard Smith081ad4d2017-01-24 19:39:46 +00003282.. option:: -mpclmul, -mno-pclmul
3283
Vedant Kumar368540f2018-08-23 17:55:03 +00003284.. option:: -mpconfig, -mno-pconfig
3285
Richard Smith081ad4d2017-01-24 19:39:46 +00003286.. option:: -mpku, -mno-pku
3287
Richard Smith081ad4d2017-01-24 19:39:46 +00003288.. option:: -mpopcnt, -mno-popcnt
3289
Craig Topperd2bf7b02017-02-08 08:23:40 +00003290.. option:: -mprefetchwt1, -mno-prefetchwt1
3291
Richard Smith081ad4d2017-01-24 19:39:46 +00003292.. option:: -mprfchw, -mno-prfchw
3293
Vedant Kumar368540f2018-08-23 17:55:03 +00003294.. option:: -mptwrite, -mno-ptwrite
3295
Craig Topper596527b2018-01-23 18:40:15 +00003296.. option:: -mrdpid, -mno-rdpid
3297
Richard Smith081ad4d2017-01-24 19:39:46 +00003298.. option:: -mrdrnd, -mno-rdrnd
3299
Richard Smith081ad4d2017-01-24 19:39:46 +00003300.. option:: -mrdseed, -mno-rdseed
3301
Craig Topper596527b2018-01-23 18:40:15 +00003302.. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk
3303
Richard Smith081ad4d2017-01-24 19:39:46 +00003304.. option:: -mrtm, -mno-rtm
3305
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00003306.. option:: -msahf, -mno-sahf
3307
WangTianQingd08fadd2020-04-02 16:15:34 +08003308.. option:: -mserialize, -mno-serialize
3309
Craig Topper204ecff2017-02-08 08:23:17 +00003310.. option:: -msgx, -mno-sgx
3311
Richard Smith081ad4d2017-01-24 19:39:46 +00003312.. option:: -msha, -mno-sha
3313
Craig Topper188252d2017-12-11 21:09:16 +00003314.. option:: -mshstk, -mno-shstk
3315
Richard Smith081ad4d2017-01-24 19:39:46 +00003316.. option:: -msse, -mno-sse
3317
Richard Smith081ad4d2017-01-24 19:39:46 +00003318.. option:: -msse2, -mno-sse2
3319
Richard Smith081ad4d2017-01-24 19:39:46 +00003320.. option:: -msse3, -mno-sse3
3321
Richard Smith081ad4d2017-01-24 19:39:46 +00003322.. option:: -msse4.1, -mno-sse4.1
3323
Richard Smithb2c82a62017-01-27 01:54:42 +00003324.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00003325.. option:: -msse4.2, -mno-sse4.2, -msse4
Richard Smithb2c82a62017-01-27 01:54:42 +00003326.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00003327
Richard Smith081ad4d2017-01-24 19:39:46 +00003328.. option:: -msse4a, -mno-sse4a
3329
Richard Smith081ad4d2017-01-24 19:39:46 +00003330.. option:: -mssse3, -mno-ssse3
3331
Richard Smith081ad4d2017-01-24 19:39:46 +00003332.. option:: -mtbm, -mno-tbm
3333
WangTianQinga3dc9492020-04-09 13:15:42 +08003334.. option:: -mtsxldtrk, -mno-tsxldtrk
3335
Craig Topper287c8012018-01-03 18:29:12 +00003336.. option:: -mvaes, -mno-vaes
3337
3338.. option:: -mvpclmulqdq, -mno-vpclmulqdq
3339
Craig Topper9624beb2020-03-10 11:08:19 -07003340.. option:: -mvzeroupper, -mno-vzeroupper
3341
Craig Topper42da9cb2018-04-23 21:41:06 +00003342.. option:: -mwaitpkg, -mno-waitpkg
3343
Gabor Buellaa0520162018-04-11 20:09:09 +00003344.. option:: -mwbnoinvd, -mno-wbnoinvd
3345
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04003346.. option:: -mwidekl, -mno-widekl
3347
Richard Smith081ad4d2017-01-24 19:39:46 +00003348.. option:: -mx87, -m80387, -mno-x87
3349
Richard Smith081ad4d2017-01-24 19:39:46 +00003350.. option:: -mxop, -mno-xop
3351
Richard Smith081ad4d2017-01-24 19:39:46 +00003352.. option:: -mxsave, -mno-xsave
3353
Richard Smith081ad4d2017-01-24 19:39:46 +00003354.. option:: -mxsavec, -mno-xsavec
3355
Richard Smith081ad4d2017-01-24 19:39:46 +00003356.. option:: -mxsaveopt, -mno-xsaveopt
3357
Richard Smith081ad4d2017-01-24 19:39:46 +00003358.. option:: -mxsaves, -mno-xsaves
3359
Vedant Kumar368540f2018-08-23 17:55:03 +00003360RISCV
3361-----
Craig Topper9624beb2020-03-10 11:08:19 -07003362.. option:: -msave-restore, -mno-save-restore
3363
3364Enable using library calls for save and restore
3365
3366Long double flags
3367-----------------
3368Selects the long double implementation
3369
3370.. option:: -mlong-double-128
3371
3372Force long double to be 128 bits
3373
3374.. option:: -mlong-double-64
3375
3376Force long double to be 64 bits
3377
3378.. option:: -mlong-double-80
3379
3380Force long double to be 80 bits, padded to 128 bits for storage
3381
Richard Smith081ad4d2017-01-24 19:39:46 +00003382Optimization level
3383~~~~~~~~~~~~~~~~~~
3384
3385Flags controlling how much optimization should be performed.
3386
Fangrui Songd8c97292020-06-18 14:52:39 -07003387.. option:: -O<arg>, -O (equivalent to -O1), --optimize, --optimize=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00003388
Richard Smith081ad4d2017-01-24 19:39:46 +00003389.. option:: -Ofast<arg>
3390
3391Debug information generation
3392~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3393
3394Flags controlling how much and what kind of debug information should be
3395generated.
3396
3397Kind and level of debug information
3398-----------------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00003399.. option:: -g, --debug, --debug=<arg>
3400
3401Generate source-level debug information
3402
Craig Topper9624beb2020-03-10 11:08:19 -07003403.. option:: -gdwarf
3404
3405Generate source-level debug information with the default dwarf version
3406
Richard Smith081ad4d2017-01-24 19:39:46 +00003407.. option:: -gdwarf-2
3408
3409Generate source-level debug information with dwarf version 2
3410
Richard Smith081ad4d2017-01-24 19:39:46 +00003411.. option:: -gdwarf-3
3412
3413Generate source-level debug information with dwarf version 3
3414
Craig Topper9624beb2020-03-10 11:08:19 -07003415.. option:: -gdwarf-4
Richard Smith081ad4d2017-01-24 19:39:46 +00003416
3417Generate source-level debug information with dwarf version 4
3418
Richard Smith081ad4d2017-01-24 19:39:46 +00003419.. option:: -gdwarf-5
3420
3421Generate source-level debug information with dwarf version 5
3422
Richard Smith081ad4d2017-01-24 19:39:46 +00003423.. option:: -gfull
3424
Richard Smith081ad4d2017-01-24 19:39:46 +00003425.. option:: -gused
3426
3427Debug level
3428___________
Richard Smith081ad4d2017-01-24 19:39:46 +00003429.. option:: -g0
3430
Richard Smith081ad4d2017-01-24 19:39:46 +00003431.. option:: -g2
3432
Richard Smith081ad4d2017-01-24 19:39:46 +00003433.. option:: -g3
3434
Richard Smith081ad4d2017-01-24 19:39:46 +00003435.. option:: -ggdb0
3436
Richard Smith081ad4d2017-01-24 19:39:46 +00003437.. option:: -ggdb1
3438
Richard Smith081ad4d2017-01-24 19:39:46 +00003439.. option:: -ggdb2
3440
Richard Smith081ad4d2017-01-24 19:39:46 +00003441.. option:: -ggdb3
3442
Craig Topper9624beb2020-03-10 11:08:19 -07003443.. option:: -gline-directives-only
3444
3445Emit debug line info directives only
3446
Richard Smith081ad4d2017-01-24 19:39:46 +00003447.. option:: -gline-tables-only, -g1, -gmlt
3448
3449Emit debug line number tables only
3450
Richard Smith081ad4d2017-01-24 19:39:46 +00003451.. option:: -gmodules
3452
3453Generate debug info with external references to clang modules or precompiled headers
3454
3455Debugger to tune debug information for
3456______________________________________
Richard Smith081ad4d2017-01-24 19:39:46 +00003457.. option:: -ggdb
3458
Richard Smith081ad4d2017-01-24 19:39:46 +00003459.. option:: -glldb
3460
Richard Smith081ad4d2017-01-24 19:39:46 +00003461.. option:: -gsce
3462
3463Debug information flags
3464-----------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00003465.. option:: -gcolumn-info, -gno-column-info
3466
Richard Smith081ad4d2017-01-24 19:39:46 +00003467.. option:: -gdwarf-aranges
3468
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003469.. option:: -gembed-source, -gno-embed-source
Scott Lindera2fbcef2018-02-26 17:32:31 +00003470
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003471Embed source text in DWARF debug sections
Scott Lindera2fbcef2018-02-26 17:32:31 +00003472
Vedant Kumar368540f2018-08-23 17:55:03 +00003473.. option:: -ggnu-pubnames, -gno-gnu-pubnames
3474
3475.. option:: -gpubnames, -gno-pubnames
Richard Smith081ad4d2017-01-24 19:39:46 +00003476
Craig Topper9624beb2020-03-10 11:08:19 -07003477.. option:: -grecord-command-line, -gno-record-command-line, -grecord-gcc-switches
Richard Smith081ad4d2017-01-24 19:39:46 +00003478
Richard Smith081ad4d2017-01-24 19:39:46 +00003479.. option:: -gsplit-dwarf
3480
Craig Topper9624beb2020-03-10 11:08:19 -07003481.. program:: clang1
3482.. option:: -gsplit-dwarf=<arg>
3483.. program:: clang
3484
3485Set DWARF fission mode to either 'split' or 'single'
3486
Richard Smith081ad4d2017-01-24 19:39:46 +00003487.. option:: -gstrict-dwarf, -gno-strict-dwarf
3488
Craig Topperd23254a2017-07-20 17:52:48 +00003489.. option:: -gz
3490
3491DWARF debug sections compression type
3492
3493.. program:: clang1
3494.. option:: -gz=<arg>
3495.. program:: clang
3496
3497DWARF debug sections compression type
3498
Richard Smithc5b2e002017-01-27 02:08:37 +00003499Static analyzer flags
3500=====================
Richard Smith081ad4d2017-01-24 19:39:46 +00003501
Richard Smithc5b2e002017-01-27 02:08:37 +00003502Flags controlling the behavior of the Clang Static Analyzer.
Richard Smith081ad4d2017-01-24 19:39:46 +00003503
Richard Smithc5b2e002017-01-27 02:08:37 +00003504.. option:: -Xanalyzer <arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00003505
Richard Smithc5b2e002017-01-27 02:08:37 +00003506Pass <arg> to the static analyzer
Richard Smith081ad4d2017-01-24 19:39:46 +00003507
3508Fortran compilation flags
3509=========================
3510
3511Flags that will be passed onto the ``gfortran`` compiler when Clang is given
3512a Fortran input.
3513
Richard Smithc5b2e002017-01-27 02:08:37 +00003514.. option:: -A<arg>, --assert <arg>, --assert=<arg>
3515
Richard Smith081ad4d2017-01-24 19:39:46 +00003516.. option:: -A-<arg>
3517
Richard Smith081ad4d2017-01-24 19:39:46 +00003518.. option:: -J<arg>
3519
Richard Smith081ad4d2017-01-24 19:39:46 +00003520.. option:: -cpp
3521
Richard Smith081ad4d2017-01-24 19:39:46 +00003522.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination
3523
Richard Smith081ad4d2017-01-24 19:39:46 +00003524.. option:: -falign-commons, -fno-align-commons
3525
Richard Smith081ad4d2017-01-24 19:39:46 +00003526.. option:: -fall-intrinsics, -fno-all-intrinsics
3527
Richard Smith081ad4d2017-01-24 19:39:46 +00003528.. option:: -fautomatic, -fno-automatic
3529
Richard Smith081ad4d2017-01-24 19:39:46 +00003530.. option:: -fbackslash, -fno-backslash
3531
Richard Smith081ad4d2017-01-24 19:39:46 +00003532.. option:: -fbacktrace, -fno-backtrace
3533
Richard Smith081ad4d2017-01-24 19:39:46 +00003534.. option:: -fblas-matmul-limit=<arg>
3535
Richard Smith081ad4d2017-01-24 19:39:46 +00003536.. option:: -fbounds-check, -fno-bounds-check
3537
Richard Smith081ad4d2017-01-24 19:39:46 +00003538.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries
3539
Richard Smith081ad4d2017-01-24 19:39:46 +00003540.. option:: -fcheck=<arg>
3541
Richard Smith081ad4d2017-01-24 19:39:46 +00003542.. option:: -fcoarray=<arg>
3543
Richard Smith081ad4d2017-01-24 19:39:46 +00003544.. option:: -fconvert=<arg>
3545
Richard Smith081ad4d2017-01-24 19:39:46 +00003546.. option:: -fcray-pointer, -fno-cray-pointer
3547
Richard Smith081ad4d2017-01-24 19:39:46 +00003548.. option:: -fd-lines-as-code, -fno-d-lines-as-code
3549
Richard Smith081ad4d2017-01-24 19:39:46 +00003550.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments
3551
Richard Smith081ad4d2017-01-24 19:39:46 +00003552.. option:: -fdefault-double-8, -fno-default-double-8
3553
Richard Smith081ad4d2017-01-24 19:39:46 +00003554.. option:: -fdefault-integer-8, -fno-default-integer-8
3555
Richard Smith081ad4d2017-01-24 19:39:46 +00003556.. option:: -fdefault-real-8, -fno-default-real-8
3557
Richard Smith081ad4d2017-01-24 19:39:46 +00003558.. option:: -fdollar-ok, -fno-dollar-ok
3559
Richard Smith081ad4d2017-01-24 19:39:46 +00003560.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized
3561
Richard Smith081ad4d2017-01-24 19:39:46 +00003562.. option:: -fdump-fortran-original, -fno-dump-fortran-original
3563
Richard Smith081ad4d2017-01-24 19:39:46 +00003564.. option:: -fdump-parse-tree, -fno-dump-parse-tree
3565
Richard Smith081ad4d2017-01-24 19:39:46 +00003566.. option:: -fexternal-blas, -fno-external-blas
3567
Richard Smith081ad4d2017-01-24 19:39:46 +00003568.. option:: -ff2c, -fno-f2c
3569
Richard Smith081ad4d2017-01-24 19:39:46 +00003570.. option:: -ffixed-form, -fno-fixed-form
3571
Richard Smith081ad4d2017-01-24 19:39:46 +00003572.. option:: -ffixed-line-length-<arg>
3573
Richard Smith081ad4d2017-01-24 19:39:46 +00003574.. option:: -ffpe-trap=<arg>
3575
Richard Smith081ad4d2017-01-24 19:39:46 +00003576.. option:: -ffree-form, -fno-free-form
3577
Richard Smith081ad4d2017-01-24 19:39:46 +00003578.. option:: -ffree-line-length-<arg>
3579
Richard Smith081ad4d2017-01-24 19:39:46 +00003580.. option:: -ffrontend-optimize, -fno-frontend-optimize
3581
Richard Smith081ad4d2017-01-24 19:39:46 +00003582.. option:: -fimplicit-none, -fno-implicit-none
3583
Richard Smith081ad4d2017-01-24 19:39:46 +00003584.. option:: -finit-character=<arg>
3585
Richard Smith081ad4d2017-01-24 19:39:46 +00003586.. option:: -finit-integer=<arg>
3587
Richard Smith081ad4d2017-01-24 19:39:46 +00003588.. option:: -finit-local-zero, -fno-init-local-zero
3589
Richard Smith081ad4d2017-01-24 19:39:46 +00003590.. option:: -finit-logical=<arg>
3591
Richard Smith081ad4d2017-01-24 19:39:46 +00003592.. option:: -finit-real=<arg>
3593
Richard Smith081ad4d2017-01-24 19:39:46 +00003594.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8
3595
Richard Smith081ad4d2017-01-24 19:39:46 +00003596.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path
3597
Richard Smith081ad4d2017-01-24 19:39:46 +00003598.. option:: -fmax-array-constructor=<arg>
3599
Richard Smith081ad4d2017-01-24 19:39:46 +00003600.. option:: -fmax-errors=<arg>
3601
Richard Smith081ad4d2017-01-24 19:39:46 +00003602.. option:: -fmax-identifier-length, -fno-max-identifier-length
3603
Richard Smith081ad4d2017-01-24 19:39:46 +00003604.. option:: -fmax-stack-var-size=<arg>
3605
Richard Smith081ad4d2017-01-24 19:39:46 +00003606.. option:: -fmax-subrecord-length=<arg>
3607
Richard Smith081ad4d2017-01-24 19:39:46 +00003608.. option:: -fmodule-private, -fno-module-private
3609
Richard Smith081ad4d2017-01-24 19:39:46 +00003610.. option:: -fpack-derived, -fno-pack-derived
3611
Richard Smith081ad4d2017-01-24 19:39:46 +00003612.. option:: -fprotect-parens, -fno-protect-parens
3613
Richard Smith081ad4d2017-01-24 19:39:46 +00003614.. option:: -frange-check, -fno-range-check
3615
Richard Smith081ad4d2017-01-24 19:39:46 +00003616.. option:: -freal-4-real-10, -fno-real-4-real-10
3617
Richard Smith081ad4d2017-01-24 19:39:46 +00003618.. option:: -freal-4-real-16, -fno-real-4-real-16
3619
Richard Smith081ad4d2017-01-24 19:39:46 +00003620.. option:: -freal-4-real-8, -fno-real-4-real-8
3621
Richard Smith081ad4d2017-01-24 19:39:46 +00003622.. option:: -freal-8-real-10, -fno-real-8-real-10
3623
Richard Smith081ad4d2017-01-24 19:39:46 +00003624.. option:: -freal-8-real-16, -fno-real-8-real-16
3625
Richard Smith081ad4d2017-01-24 19:39:46 +00003626.. option:: -freal-8-real-4, -fno-real-8-real-4
3627
Richard Smith081ad4d2017-01-24 19:39:46 +00003628.. option:: -frealloc-lhs, -fno-realloc-lhs
3629
Richard Smith081ad4d2017-01-24 19:39:46 +00003630.. option:: -frecord-marker=<arg>
3631
Richard Smith081ad4d2017-01-24 19:39:46 +00003632.. option:: -frecursive, -fno-recursive
3633
Richard Smith081ad4d2017-01-24 19:39:46 +00003634.. option:: -frepack-arrays, -fno-repack-arrays
3635
Richard Smith081ad4d2017-01-24 19:39:46 +00003636.. option:: -fsecond-underscore, -fno-second-underscore
3637
Richard Smith081ad4d2017-01-24 19:39:46 +00003638.. option:: -fsign-zero, -fno-sign-zero
3639
Richard Smith081ad4d2017-01-24 19:39:46 +00003640.. option:: -fstack-arrays, -fno-stack-arrays
3641
Richard Smith081ad4d2017-01-24 19:39:46 +00003642.. option:: -funderscoring, -fno-underscoring
3643
Richard Smith081ad4d2017-01-24 19:39:46 +00003644.. option:: -fwhole-file, -fno-whole-file
3645
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003646.. option:: -imultilib <arg>
3647
Richard Smith081ad4d2017-01-24 19:39:46 +00003648.. option:: -nocpp
3649
Richard Smith081ad4d2017-01-24 19:39:46 +00003650.. option:: -static-libgfortran
3651
Richard Smithc5b2e002017-01-27 02:08:37 +00003652Linker flags
3653============
3654Flags that are passed on to the linker
3655
3656.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>
3657
3658Add directory to library search path
3659
3660.. option:: -Mach
3661
3662.. option:: -T<script>
3663
3664Specify <script> as linker script
3665
Richard Smith78e23fd2017-04-13 22:39:49 +00003666.. option:: -Tbss<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003667
3668Set starting address of BSS to <addr>
3669
Richard Smith78e23fd2017-04-13 22:39:49 +00003670.. option:: -Tdata<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003671
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003672Set starting address of DATA to <addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003673
Richard Smith78e23fd2017-04-13 22:39:49 +00003674.. option:: -Ttext<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003675
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003676Set starting address of TEXT to <addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003677
3678.. option:: -Wl,<arg>,<arg2>...
3679
3680Pass the comma separated arguments in <arg> to the linker
3681
3682.. option:: -X
3683
3684.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>
3685
3686Pass <arg> to the linker
3687
3688.. program:: clang1
3689.. option:: -Z
3690.. program:: clang
3691
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04003692.. option:: -coverage, --coverage
3693
Richard Smithc5b2e002017-01-27 02:08:37 +00003694.. option:: -e<arg>, --entry
3695
3696.. option:: -filelist <arg>
3697
Vedant Kumar368540f2018-08-23 17:55:03 +00003698.. option:: --hip-device-lib=<arg>
3699
3700HIP device library
3701
Richard Smithc5b2e002017-01-27 02:08:37 +00003702.. option:: -l<arg>
3703
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04003704.. option:: --ld-path=<arg>
3705
3706.. option:: -nostartfiles
3707
3708.. program:: clang1
3709.. option:: -nostdlib, --no-standard-libraries
3710.. program:: clang
3711
3712.. option:: -pie
3713
Richard Smithc5b2e002017-01-27 02:08:37 +00003714.. option:: -r
3715
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04003716.. option:: -rdynamic
3717
3718.. option:: --rocm-device-lib-path=<arg>, --hip-device-lib-path=<arg>
3719
3720ROCm device library path. Alternative to rocm-path.
3721
Richard Smithc5b2e002017-01-27 02:08:37 +00003722.. option:: -rpath <arg>
3723
3724.. option:: -s
3725
Konstantin Zhuravlyovb581c5a2020-10-09 08:29:53 -04003726.. option:: -shared, --shared
3727
3728.. option:: -specs=<arg>, --specs=<arg>
3729
3730.. option:: -static, --static
3731
3732.. option:: -static-pie
3733
Richard Smithc5b2e002017-01-27 02:08:37 +00003734.. option:: -t
3735
3736.. option:: -u<arg>, --force-link <arg>, --force-link=<arg>
3737
3738.. option:: -undef
3739
3740undef all system defines
3741
3742.. option:: -undefined<arg>, --no-undefined
3743
3744.. option:: -z <arg>
3745
3746Pass -z <arg> to the linker
3747