blob: 699a0be7203683cc4404cc86deb17339085a5b17 [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:: -coverage, --coverage
148
Richard Smith081ad4d2017-01-24 19:39:46 +0000149.. option:: --cuda-compile-host-device
150
151Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
152
Richard Smith081ad4d2017-01-24 19:39:46 +0000153.. option:: --cuda-device-only
154
155Compile CUDA code for device only
156
Richard Smith081ad4d2017-01-24 19:39:46 +0000157.. option:: --cuda-host-only
158
159Compile CUDA code for host only. Has no effect on non-CUDA compilations.
160
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000161.. option:: --cuda-include-ptx=<arg>, --no-cuda-include-ptx=<arg>
162
Sylvestre Ledru90f1dfb2019-01-01 12:51:14 +0000163Include 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 +0000164
Richard Smith081ad4d2017-01-24 19:39:46 +0000165.. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug
166
167Enable device-side debug info generation. Disables ptxas optimizations.
168
Richard Smith081ad4d2017-01-24 19:39:46 +0000169.. option:: -current\_version<arg>
170
Richard Smith081ad4d2017-01-24 19:39:46 +0000171.. option:: -dead\_strip
172
Richard Smith081ad4d2017-01-24 19:39:46 +0000173.. option:: -dependency-dot <arg>
174
175Filename to write DOT-formatted header dependencies to
176
Richard Smith081ad4d2017-01-24 19:39:46 +0000177.. option:: -dependency-file <arg>
178
179Filename (or -) to write dependency output to
180
Richard Smith081ad4d2017-01-24 19:39:46 +0000181.. option:: -dumpmachine
182
Richard Smith081ad4d2017-01-24 19:39:46 +0000183.. option:: -dumpversion
184
Richard Smith081ad4d2017-01-24 19:39:46 +0000185.. option:: --dyld-prefix=<arg>, --dyld-prefix <arg>
186
Richard Smith081ad4d2017-01-24 19:39:46 +0000187.. option:: -dylib\_file <arg>
188
Richard Smith081ad4d2017-01-24 19:39:46 +0000189.. option:: -dylinker
190
Richard Smithb2c82a62017-01-27 01:54:42 +0000191.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000192.. option:: -dylinker\_install\_name<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000193.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000194
Richard Smith081ad4d2017-01-24 19:39:46 +0000195.. option:: -dynamic
196
Richard Smith081ad4d2017-01-24 19:39:46 +0000197.. option:: -dynamiclib
198
Richard Smith081ad4d2017-01-24 19:39:46 +0000199.. option:: -emit-ast
200
201Emit Clang AST files for source inputs
202
Craig Topper9624beb2020-03-10 11:08:19 -0700203.. option:: -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
204
205Trivial 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
206
Richard Smith081ad4d2017-01-24 19:39:46 +0000207.. option:: -exported\_symbols\_list <arg>
208
Richard Smith081ad4d2017-01-24 19:39:46 +0000209.. option:: -faligned-new=<arg>
210
Richard Smith081ad4d2017-01-24 19:39:46 +0000211.. option:: -fcuda-flush-denormals-to-zero, -fno-cuda-flush-denormals-to-zero
212
213Flush denormal floating point values to zero in CUDA device mode.
214
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000215.. option:: -ffixed-r19
216
Vedant Kumar368540f2018-08-23 17:55:03 +0000217Reserve register r19 (Hexagon only)
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000218
Richard Smith081ad4d2017-01-24 19:39:46 +0000219.. option:: -fheinous-gnu-extensions
220
Richard Smith081ad4d2017-01-24 19:39:46 +0000221.. option:: -flat\_namespace
222
Richard Smith081ad4d2017-01-24 19:39:46 +0000223.. option:: -fopenmp-targets=<arg1>,<arg2>...
224
225Specify comma-separated list of triples OpenMP offloading targets to be supported
226
Richard Smith081ad4d2017-01-24 19:39:46 +0000227.. option:: -force\_cpusubtype\_ALL
228
Richard Smithb2c82a62017-01-27 01:54:42 +0000229.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000230.. option:: -force\_flat\_namespace
Richard Smithb2c82a62017-01-27 01:54:42 +0000231.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000232
Richard Smithb2c82a62017-01-27 01:54:42 +0000233.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000234.. option:: -force\_load <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000235.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000236
Richard Smith081ad4d2017-01-24 19:39:46 +0000237.. option:: -framework <arg>
238
Richard Smith78e23fd2017-04-13 22:39:49 +0000239.. option:: -frtlib-add-rpath, -fno-rtlib-add-rpath
240
241Add -rpath with architecture-specific resource directory to the linker flags
242
Craig Topper9624beb2020-03-10 11:08:19 -0700243.. option:: -fsanitize-system-blacklist=<arg>
244
245Path to system blacklist file for sanitizers
246
247.. option:: -fsystem-module
248
249Build this module as a system module. Only used with -emit-module
250
Richard Smith081ad4d2017-01-24 19:39:46 +0000251.. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg>
252
253Use the gcc toolchain at the given directory
254
Richard Smith081ad4d2017-01-24 19:39:46 +0000255.. option:: -gcodeview
256
257Generate CodeView debug information
258
Craig Topper9624beb2020-03-10 11:08:19 -0700259.. option:: -gcodeview-ghash, -gno-codeview-ghash
260
261Emit type record hashes in a .debug$H section
262
263.. option:: -ginline-line-tables, -gno-inline-line-tables
264
265.. option:: --gpu-max-threads-per-block=<arg>
266
267Default max threads per block for kernel launch bounds for HIP
268
Richard Smith081ad4d2017-01-24 19:39:46 +0000269.. option:: -headerpad\_max\_install\_names<arg>
270
Richard Smith081ad4d2017-01-24 19:39:46 +0000271.. option:: -help, --help
272
273Display available options
274
Richard Smith081ad4d2017-01-24 19:39:46 +0000275.. option:: --help-hidden
276
Jonas Hahnfeld06039e82018-04-20 13:26:03 +0000277Display help for hidden options
278
Vedant Kumar368540f2018-08-23 17:55:03 +0000279.. option:: --hip-link
280
281Link clang-offload-bundler bundles for HIP
282
Craig Topper9624beb2020-03-10 11:08:19 -0700283.. option:: -ibuiltininc
284
285Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
286
Richard Smith081ad4d2017-01-24 19:39:46 +0000287.. option:: -image\_base <arg>
288
Richard Smith081ad4d2017-01-24 19:39:46 +0000289.. option:: -index-header-map
290
291Make the next included directory (-I or -F) an indexer header map
292
Richard Smith081ad4d2017-01-24 19:39:46 +0000293.. option:: -init <arg>
294
Richard Smith081ad4d2017-01-24 19:39:46 +0000295.. option:: -install\_name <arg>
296
Craig Topper9624beb2020-03-10 11:08:19 -0700297.. option:: -interface-stub-version=<arg>
298
Richard Smith081ad4d2017-01-24 19:39:46 +0000299.. option:: -keep\_private\_externs
300
Richard Smith081ad4d2017-01-24 19:39:46 +0000301.. option:: -lazy\_framework <arg>
302
Richard Smithb2c82a62017-01-27 01:54:42 +0000303.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000304.. option:: -lazy\_library <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000305.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000306
Richard Smith081ad4d2017-01-24 19:39:46 +0000307.. option:: -mbig-endian, -EB
308
Craig Topper9624beb2020-03-10 11:08:19 -0700309.. option:: -mbranch-protection=<arg>
310
311Enforce targets of indirect branches and function returns
312
Richard Smith081ad4d2017-01-24 19:39:46 +0000313.. option:: --migrate
314
315Run the migrator
316
Richard Smith78e23fd2017-04-13 22:39:49 +0000317.. option:: -mios-simulator-version-min=<arg>, -miphonesimulator-version-min=<arg>
318
Richard Smith081ad4d2017-01-24 19:39:46 +0000319.. option:: -mlinker-version=<arg>
320
Richard Smith081ad4d2017-01-24 19:39:46 +0000321.. option:: -mlittle-endian, -EL
322
Richard Smith081ad4d2017-01-24 19:39:46 +0000323.. option:: -mllvm <arg>
324
325Additional arguments to forward to LLVM's option processing
326
Richard Smith081ad4d2017-01-24 19:39:46 +0000327.. option:: -module-dependency-dir <arg>
328
329Directory to dump module dependencies to
330
Richard Smith78e23fd2017-04-13 22:39:49 +0000331.. option:: -mtvos-simulator-version-min=<arg>, -mappletvsimulator-version-min=<arg>
332
Richard Smith081ad4d2017-01-24 19:39:46 +0000333.. option:: -multi\_module
334
Richard Smith081ad4d2017-01-24 19:39:46 +0000335.. option:: -multiply\_defined <arg>
336
Richard Smithb2c82a62017-01-27 01:54:42 +0000337.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000338.. option:: -multiply\_defined\_unused <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000339.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000340
Richard Smith78e23fd2017-04-13 22:39:49 +0000341.. option:: -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg>
342
Richard Smith081ad4d2017-01-24 19:39:46 +0000343.. option:: --no-cuda-version-check
344
345Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
346
Richard Smith081ad4d2017-01-24 19:39:46 +0000347.. option:: -no-integrated-cpp, --no-integrated-cpp
348
Richard Smith081ad4d2017-01-24 19:39:46 +0000349.. option:: -no\_dead\_strip\_inits\_and\_terms
350
Richard Smith081ad4d2017-01-24 19:39:46 +0000351.. option:: -nobuiltininc
352
353Disable builtin #include directories
354
Richard Smith081ad4d2017-01-24 19:39:46 +0000355.. option:: -nodefaultlibs
356
Richard Smith081ad4d2017-01-24 19:39:46 +0000357.. option:: -nofixprebinding
358
Fangrui Songd8c97292020-06-18 14:52:39 -0700359.. option:: -nogpuinc, -nocudainc
360
Craig Topper9624beb2020-03-10 11:08:19 -0700361.. option:: -nogpulib, -nocudalib
362
363Do not link device library for CUDA/HIP device compilation
364
Richard Smith081ad4d2017-01-24 19:39:46 +0000365.. option:: -nolibc
366
Richard Smith081ad4d2017-01-24 19:39:46 +0000367.. option:: -nomultidefs
368
Craig Topperd23254a2017-07-20 17:52:48 +0000369.. option:: -nopie, -no-pie
Richard Smith081ad4d2017-01-24 19:39:46 +0000370
Richard Smith081ad4d2017-01-24 19:39:46 +0000371.. option:: -noprebind
372
Petr Hosek08cb3422019-07-11 19:06:38 +0000373.. option:: -noprofilelib
374
Richard Smith081ad4d2017-01-24 19:39:46 +0000375.. option:: -noseglinkedit
376
Richard Smith081ad4d2017-01-24 19:39:46 +0000377.. option:: -nostartfiles
378
Richard Smith081ad4d2017-01-24 19:39:46 +0000379.. option:: -nostdinc, --no-standard-includes
380
Richard Smithb2c82a62017-01-27 01:54:42 +0000381.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000382.. option:: -nostdinc++
Richard Smithb2c82a62017-01-27 01:54:42 +0000383.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000384
385Disable standard #include directories for the C++ standard library
386
Richard Smith081ad4d2017-01-24 19:39:46 +0000387.. option:: -nostdlib, --no-standard-libraries
388
Boris Kolpackovb150d242017-08-30 09:15:53 +0000389.. program:: clang1
390.. option:: -nostdlib++
391.. program:: clang
392
Richard Smith081ad4d2017-01-24 19:39:46 +0000393.. option:: -nostdlibinc
394
Richard Smith081ad4d2017-01-24 19:39:46 +0000395.. option:: -o<file>, --output <arg>, --output=<arg>
396
397Write output to <file>
398
Richard Smith081ad4d2017-01-24 19:39:46 +0000399.. option:: -objcmt-atomic-property
400
401Make migration to 'atomic' properties
402
Richard Smith081ad4d2017-01-24 19:39:46 +0000403.. option:: -objcmt-migrate-all
404
405Enable migration to modern ObjC
406
Richard Smith081ad4d2017-01-24 19:39:46 +0000407.. option:: -objcmt-migrate-annotation
408
409Enable migration to property and method annotations
410
Richard Smith081ad4d2017-01-24 19:39:46 +0000411.. option:: -objcmt-migrate-designated-init
412
413Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods
414
Richard Smith081ad4d2017-01-24 19:39:46 +0000415.. option:: -objcmt-migrate-instancetype
416
417Enable migration to infer instancetype for method result type
418
Richard Smith081ad4d2017-01-24 19:39:46 +0000419.. option:: -objcmt-migrate-literals
420
421Enable migration to modern ObjC literals
422
Richard Smith081ad4d2017-01-24 19:39:46 +0000423.. option:: -objcmt-migrate-ns-macros
424
425Enable migration to NS\_ENUM/NS\_OPTIONS macros
426
Richard Smith081ad4d2017-01-24 19:39:46 +0000427.. option:: -objcmt-migrate-property
428
429Enable migration to modern ObjC property
430
Richard Smith081ad4d2017-01-24 19:39:46 +0000431.. option:: -objcmt-migrate-property-dot-syntax
432
433Enable migration of setter/getter messages to property-dot syntax
434
Richard Smith081ad4d2017-01-24 19:39:46 +0000435.. option:: -objcmt-migrate-protocol-conformance
436
437Enable migration to add protocol conformance on classes
438
Richard Smith081ad4d2017-01-24 19:39:46 +0000439.. option:: -objcmt-migrate-readonly-property
440
441Enable migration to modern ObjC readonly property
442
Richard Smith081ad4d2017-01-24 19:39:46 +0000443.. option:: -objcmt-migrate-readwrite-property
444
445Enable migration to modern ObjC readwrite property
446
Richard Smith081ad4d2017-01-24 19:39:46 +0000447.. option:: -objcmt-migrate-subscripting
448
449Enable migration to modern ObjC subscripting
450
Richard Smith081ad4d2017-01-24 19:39:46 +0000451.. option:: -objcmt-ns-nonatomic-iosonly
452
453Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute
454
Richard Smith081ad4d2017-01-24 19:39:46 +0000455.. option:: -objcmt-returns-innerpointer-property
456
457Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER
458
Richard Smith081ad4d2017-01-24 19:39:46 +0000459.. option:: -objcmt-whitelist-dir-path=<arg>, -objcmt-white-list-dir-path=<arg>
460
461Only modify files with a filename contained in the provided directory path
462
Richard Smith081ad4d2017-01-24 19:39:46 +0000463.. option:: -object
464
Fangrui Songd8c97292020-06-18 14:52:39 -0700465.. option:: --offload-arch=<arg>, --cuda-gpu-arch=<arg>, --no-offload-arch=<arg>
466
467CUDA/HIP offloading device architecture (e.g. sm\_35, gfx906). May be specified more than once.
468
Richard Smith081ad4d2017-01-24 19:39:46 +0000469.. option:: -p, --profile
470
Richard Smith081ad4d2017-01-24 19:39:46 +0000471.. option:: -pagezero\_size<arg>
472
Richard Smith081ad4d2017-01-24 19:39:46 +0000473.. option:: -pg
474
475Enable mcount instrumentation
476
Richard Smith081ad4d2017-01-24 19:39:46 +0000477.. option:: -pie
478
Richard Smith081ad4d2017-01-24 19:39:46 +0000479.. option:: -pipe, --pipe
480
481Use pipes between commands, when possible
482
Richard Smith081ad4d2017-01-24 19:39:46 +0000483.. option:: -prebind
484
Richard Smithb2c82a62017-01-27 01:54:42 +0000485.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000486.. option:: -prebind\_all\_twolevel\_modules
Richard Smithb2c82a62017-01-27 01:54:42 +0000487.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000488
Richard Smith081ad4d2017-01-24 19:39:46 +0000489.. option:: -preload
490
Richard Smith081ad4d2017-01-24 19:39:46 +0000491.. option:: --print-diagnostic-categories
492
Vedant Kumar368540f2018-08-23 17:55:03 +0000493.. option:: -print-effective-triple, --print-effective-triple
494
495Print the effective target triple
496
Richard Smith081ad4d2017-01-24 19:39:46 +0000497.. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg>
498
499Print the full library path of <file>
500
Richard Smith081ad4d2017-01-24 19:39:46 +0000501.. option:: -print-ivar-layout
502
503Enable Objective-C Ivar layout bitmap print trace
504
Richard Smith081ad4d2017-01-24 19:39:46 +0000505.. option:: -print-libgcc-file-name, --print-libgcc-file-name
506
507Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang\_rt.builtins.\*.a")
508
Richard Smith081ad4d2017-01-24 19:39:46 +0000509.. option:: -print-multi-directory, --print-multi-directory
510
Richard Smith081ad4d2017-01-24 19:39:46 +0000511.. option:: -print-multi-lib, --print-multi-lib
512
Richard Smith081ad4d2017-01-24 19:39:46 +0000513.. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg>
514
515Print the full program path of <name>
516
Richard Smith78e23fd2017-04-13 22:39:49 +0000517.. option:: -print-resource-dir, --print-resource-dir
518
519Print the resource directory pathname
520
Richard Smith081ad4d2017-01-24 19:39:46 +0000521.. option:: -print-search-dirs, --print-search-dirs
522
523Print the paths used for finding libraries and programs
524
Vedant Kumar368540f2018-08-23 17:55:03 +0000525.. option:: -print-target-triple, --print-target-triple
526
527Print the normalized target triple
528
Fangrui Songd8c97292020-06-18 14:52:39 -0700529.. option:: -print-targets, --print-targets
530
531Print the registered targets
532
Richard Smith081ad4d2017-01-24 19:39:46 +0000533.. option:: -private\_bundle
534
Richard Smith081ad4d2017-01-24 19:39:46 +0000535.. option:: -pthread, -no-pthread
536
537Support POSIX threads in generated code
538
Richard Smith081ad4d2017-01-24 19:39:46 +0000539.. option:: -pthreads
540
Richard Smith081ad4d2017-01-24 19:39:46 +0000541.. option:: -rdynamic
542
Richard Smith081ad4d2017-01-24 19:39:46 +0000543.. option:: -read\_only\_relocs <arg>
544
Richard Smith081ad4d2017-01-24 19:39:46 +0000545.. option:: -relocatable-pch, --relocatable-pch
546
547Whether to build a relocatable precompiled header
548
Richard Smith081ad4d2017-01-24 19:39:46 +0000549.. option:: -remap
550
Richard Smith081ad4d2017-01-24 19:39:46 +0000551.. option:: -rewrite-legacy-objc
552
553Rewrite Legacy Objective-C source to C++
554
Richard Smith081ad4d2017-01-24 19:39:46 +0000555.. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg>
556
557Compiler runtime library to use
558
Richard Smith081ad4d2017-01-24 19:39:46 +0000559.. option:: -save-stats=<arg>, --save-stats=<arg>, -save-stats (equivalent to -save-stats=cwd), --save-stats (equivalent to -save-stats=cwd)
560
561Save llvm statistics.
562
Richard Smith081ad4d2017-01-24 19:39:46 +0000563.. option:: -save-temps=<arg>, --save-temps=<arg>, -save-temps (equivalent to -save-temps=cwd), --save-temps (equivalent to -save-temps=cwd)
564
565Save intermediate compilation results.
566
Richard Smith081ad4d2017-01-24 19:39:46 +0000567.. option:: -sectalign <arg1> <arg2> <arg3>
568
Richard Smith081ad4d2017-01-24 19:39:46 +0000569.. option:: -sectcreate <arg1> <arg2> <arg3>
570
Richard Smith081ad4d2017-01-24 19:39:46 +0000571.. option:: -sectobjectsymbols <arg1> <arg2>
572
Richard Smith081ad4d2017-01-24 19:39:46 +0000573.. option:: -sectorder <arg1> <arg2> <arg3>
574
Richard Smith081ad4d2017-01-24 19:39:46 +0000575.. option:: -seg1addr<arg>
576
Richard Smith081ad4d2017-01-24 19:39:46 +0000577.. option:: -seg\_addr\_table <arg>
578
Richard Smithb2c82a62017-01-27 01:54:42 +0000579.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000580.. option:: -seg\_addr\_table\_filename <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000581.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000582
Richard Smith081ad4d2017-01-24 19:39:46 +0000583.. option:: -segaddr <arg1> <arg2>
584
Richard Smith081ad4d2017-01-24 19:39:46 +0000585.. option:: -segcreate <arg1> <arg2> <arg3>
586
Richard Smith081ad4d2017-01-24 19:39:46 +0000587.. option:: -seglinkedit
588
Richard Smith081ad4d2017-01-24 19:39:46 +0000589.. option:: -segprot <arg1> <arg2> <arg3>
590
Richard Smith081ad4d2017-01-24 19:39:46 +0000591.. option:: -segs\_read\_<arg>
592
Richard Smithb2c82a62017-01-27 01:54:42 +0000593.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000594.. option:: -segs\_read\_only\_addr <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000595.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000596
Richard Smithb2c82a62017-01-27 01:54:42 +0000597.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000598.. option:: -segs\_read\_write\_addr <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000599.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000600
Richard Smith081ad4d2017-01-24 19:39:46 +0000601.. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg>
602
603Serialize compiler diagnostics to a file
604
Richard Smith081ad4d2017-01-24 19:39:46 +0000605.. option:: -shared, --shared
606
Richard Smith081ad4d2017-01-24 19:39:46 +0000607.. option:: -shared-libgcc
608
Craig Topper16418662017-11-20 18:07:43 +0000609.. option:: -shared-libsan, -shared-libasan
610
Vedant Kumar368540f2018-08-23 17:55:03 +0000611Dynamically link the sanitizer runtime
612
Richard Smith081ad4d2017-01-24 19:39:46 +0000613.. option:: -single\_module
614
Richard Smith081ad4d2017-01-24 19:39:46 +0000615.. option:: -specs=<arg>, --specs=<arg>
616
Richard Smith081ad4d2017-01-24 19:39:46 +0000617.. option:: -static, --static
618
Richard Smith081ad4d2017-01-24 19:39:46 +0000619.. option:: -static-libgcc
620
Craig Topper16418662017-11-20 18:07:43 +0000621.. option:: -static-libsan
622
Vedant Kumar368540f2018-08-23 17:55:03 +0000623Statically link the sanitizer runtime
624
Richard Smith081ad4d2017-01-24 19:39:46 +0000625.. option:: -static-libstdc++
626
Craig Topper9624beb2020-03-10 11:08:19 -0700627.. option:: -static-openmp
628
629Use the static host OpenMP runtime while linking.
630
631.. option:: -static-pie
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
737Generate Inteface Stub Files.
738
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
823Enables the use of non-default rounding modes and non-default exception handling on targets that are not currently ready.
824
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
Fangrui Song2a4317b2020-06-19 22:22:47 -0700889.. option:: -fsanitize-coverage-allowlist=<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
Fangrui Song2a4317b2020-06-19 22:22:47 -0700893.. option:: -fsanitize-coverage-blocklist=<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 Lebedev731292e2020-07-31 15:39:12 -07001017.. option:: -I<dir>, --include-directory <dir>, --include-directory=<dir>
Richard Smith081ad4d2017-01-24 19:39:46 +00001018
Andrei Lebedev731292e2020-07-31 15:39:12 -07001019Add directory <dir> to the list of include files search paths. 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
Richard Smith081ad4d2017-01-24 19:39:46 +00001532.. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker)
1533
1534Embed LLVM bitcode (option: off, all, bitcode, marker)
1535
Richard Smith081ad4d2017-01-24 19:39:46 +00001536.. option:: -femit-all-decls
1537
1538Emit all declarations, even if unused
1539
Richard Smith081ad4d2017-01-24 19:39:46 +00001540.. option:: -femulated-tls, -fno-emulated-tls
1541
1542Use emutls functions to access thread\_local variables
1543
Fangrui Songd8c97292020-06-18 14:52:39 -07001544.. option:: -fenable-matrix
1545
1546Enable matrix data type and related builtin functions
1547
Richard Smith081ad4d2017-01-24 19:39:46 +00001548.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg>
1549
Richard Smith081ad4d2017-01-24 19:39:46 +00001550.. option:: -ferror-limit=<arg>
1551
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001552.. option:: -fescaping-block-tail-calls, -fno-escaping-block-tail-calls
1553
Richard Smith081ad4d2017-01-24 19:39:46 +00001554.. option:: -fexceptions, -fno-exceptions
1555
1556Enable support for exception handling
1557
Richard Smith081ad4d2017-01-24 19:39:46 +00001558.. option:: -fexec-charset=<arg>
1559
Craig Topper9624beb2020-03-10 11:08:19 -07001560.. option:: -fexperimental-new-constant-interpreter
1561
1562Enable the experimental new constant interpreter
1563
Fangrui Songd8c97292020-06-18 14:52:39 -07001564.. option:: -fexperimental-relative-c++-abi-vtables, -fno-experimental-relative-c++-abi-vtables
1565
1566Use the experimental C++ class ABI for classes with virtual tables
1567
Richard Smith081ad4d2017-01-24 19:39:46 +00001568.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg>
1569
Richard Smith081ad4d2017-01-24 19:39:46 +00001570.. option:: -ffast-math, -fno-fast-math
1571
1572Allow aggressive, lossy floating-point optimizations
1573
Craig Topper9624beb2020-03-10 11:08:19 -07001574.. option:: -ffile-prefix-map=<arg>
1575
1576remap file source paths in debug info and predefined preprocessor macros
1577
Richard Smith081ad4d2017-01-24 19:39:46 +00001578.. option:: -ffinite-math-only, -fno-finite-math-only
1579
Vedant Kumar368540f2018-08-23 17:55:03 +00001580.. option:: -ffixed-point, -fno-fixed-point
1581
1582Enable fixed point types
1583
Richard Smith081ad4d2017-01-24 19:39:46 +00001584.. option:: -ffor-scope, -fno-for-scope
1585
Craig Topper9624beb2020-03-10 11:08:19 -07001586.. option:: -fforce-dwarf-frame, -fno-force-dwarf-frame
1587
1588Always emit a debug frame section
1589
Vedant Kumar368540f2018-08-23 17:55:03 +00001590.. option:: -fforce-emit-vtables, -fno-force-emit-vtables
1591
1592Emits more virtual tables to improve devirtualization
1593
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001594.. option:: -fforce-enable-int128, -fno-force-enable-int128
1595
1596Enable support for int128\_t type
1597
Richard Smith081ad4d2017-01-24 19:39:46 +00001598.. option:: -ffp-contract=<arg>
1599
Craig Topper9624beb2020-03-10 11:08:19 -07001600Form 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.
1601
1602.. option:: -ffp-exception-behavior=<arg>
1603
1604Specifies the exception behavior of floating-point operations.
1605
1606.. option:: -ffp-model=<arg>
1607
1608Controls the semantics of floating-point calculations.
Richard Smith081ad4d2017-01-24 19:39:46 +00001609
Richard Smith081ad4d2017-01-24 19:39:46 +00001610.. option:: -ffreestanding
1611
1612Assert that the compilation takes place in a freestanding environment
1613
Richard Smith081ad4d2017-01-24 19:39:46 +00001614.. option:: -ffunction-sections, -fno-function-sections
1615
Craig Topper9624beb2020-03-10 11:08:19 -07001616Place each function in its own section
Richard Smith081ad4d2017-01-24 19:39:46 +00001617
Richard Smith081ad4d2017-01-24 19:39:46 +00001618.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm
1619
Richard Smith081ad4d2017-01-24 19:39:46 +00001620.. option:: -fgnu-keywords, -fno-gnu-keywords
1621
1622Allow GNU-extension keywords regardless of language standard
1623
Richard Smith081ad4d2017-01-24 19:39:46 +00001624.. option:: -fgnu-runtime
1625
1626Generate output compatible with the standard GNU Objective-C runtime
1627
Richard Smith081ad4d2017-01-24 19:39:46 +00001628.. option:: -fgnu89-inline, -fno-gnu89-inline
1629
1630Use the gnu89 inline semantics
1631
Craig Topper9624beb2020-03-10 11:08:19 -07001632.. option:: -fgnuc-version=<arg>
1633
1634Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
1635
Fangrui Songd8c97292020-06-18 14:52:39 -07001636.. option:: -fgpu-allow-device-init, -fno-gpu-allow-device-init
1637
1638Allow device side init function in HIP
1639
1640.. option:: -fgpu-rdc, -fcuda-rdc, -fno-gpu-rdc
1641
1642Generate relocatable device code, also known as separate compilation mode
1643
1644.. option:: -fhip-new-launch-api, -fno-hip-new-launch-api
1645
1646Use new kernel launching API for HIP
1647
Richard Smith081ad4d2017-01-24 19:39:46 +00001648.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities
1649
Richard Smith081ad4d2017-01-24 19:39:46 +00001650.. option:: -fhonor-nans, -fno-honor-nans
1651
Richard Smith081ad4d2017-01-24 19:39:46 +00001652.. option:: -fhosted
1653
Craig Topper9624beb2020-03-10 11:08:19 -07001654.. option:: -fignore-exceptions
1655
1656Enable support for ignoring exception handling constructs
1657
Richard Smith081ad4d2017-01-24 19:39:46 +00001658.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps
1659
1660Implicitly search the file system for module map files.
1661
Richard Smith081ad4d2017-01-24 19:39:46 +00001662.. option:: -fimplicit-modules, -fno-implicit-modules
1663
Richard Smith081ad4d2017-01-24 19:39:46 +00001664.. option:: -finput-charset=<arg>
1665
Craig Topper188252d2017-12-11 21:09:16 +00001666.. option:: -finstrument-function-entry-bare
1667
1668Instrument function entry only, after inlining, without arguments to the instrumentation call
1669
Richard Smith081ad4d2017-01-24 19:39:46 +00001670.. option:: -finstrument-functions
1671
1672Generate calls to instrument function entry and exit
1673
Craig Topper16418662017-11-20 18:07:43 +00001674.. option:: -finstrument-functions-after-inlining
1675
1676Like -finstrument-functions, but insert the calls after inlining
1677
Richard Smith081ad4d2017-01-24 19:39:46 +00001678.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as
1679
1680Enable the integrated assembler
1681
Craig Topper9624beb2020-03-10 11:08:19 -07001682.. option:: -fintegrated-cc1, -fno-integrated-cc1
1683
1684Run cc1 in-process
1685
Richard Smith081ad4d2017-01-24 19:39:46 +00001686.. option:: -fjump-tables, -fno-jump-tables
1687
Fangrui Songd8c97292020-06-18 14:52:39 -07001688Use jump tables for lowering switches
Vedant Kumar368540f2018-08-23 17:55:03 +00001689
Fangrui Songd8c97292020-06-18 14:52:39 -07001690.. option:: -fkeep-static-consts, -fno-keep-static-consts
1691
1692Keep static const variables if unused
Vedant Kumar368540f2018-08-23 17:55:03 +00001693
Craig Topper9624beb2020-03-10 11:08:19 -07001694.. option:: -flax-vector-conversions=<arg>, -flax-vector-conversions (equivalent to -flax-vector-conversions=integer), -fno-lax-vector-conversions (equivalent to -flax-vector-conversions=none)
1695
1696Enable implicit vector bit-casts
Richard Smith081ad4d2017-01-24 19:39:46 +00001697
Richard Smith081ad4d2017-01-24 19:39:46 +00001698.. option:: -flimited-precision=<arg>
1699
Richard Smith081ad4d2017-01-24 19:39:46 +00001700.. option:: -flto, -fno-lto
1701
1702Enable LTO in 'full' mode
1703
Richard Smith081ad4d2017-01-24 19:39:46 +00001704.. option:: -flto-jobs=<arg>
1705
1706Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
1707
Richard Smithb2c82a62017-01-27 01:54:42 +00001708.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001709.. option:: -flto=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001710.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001711
1712Set LTO mode to either 'full' or 'thin'
1713
Richard Smith081ad4d2017-01-24 19:39:46 +00001714.. option:: -fmacro-backtrace-limit=<arg>
1715
Richard Smith081ad4d2017-01-24 19:39:46 +00001716.. option:: -fmath-errno, -fno-math-errno
1717
1718Require math functions to indicate errors by setting errno
1719
Craig Topper9624beb2020-03-10 11:08:19 -07001720.. option:: -fmax-tokens=<arg>
1721
1722Max total number of preprocessed tokens for -Wmax-tokens.
1723
Richard Smith081ad4d2017-01-24 19:39:46 +00001724.. option:: -fmax-type-align=<arg>
1725
1726Specify the maximum alignment to enforce on pointers lacking an explicit alignment
1727
Richard Smith081ad4d2017-01-24 19:39:46 +00001728.. option:: -fmerge-all-constants, -fno-merge-all-constants
1729
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001730Allow merging of constants
1731
Richard Smith081ad4d2017-01-24 19:39:46 +00001732.. option:: -fmessage-length=<arg>
1733
Fangrui Songd8c97292020-06-18 14:52:39 -07001734Format message diagnostics so that they fit within N columns
1735
Richard Smith081ad4d2017-01-24 19:39:46 +00001736.. option:: -fmodule-file-deps, -fno-module-file-deps
1737
Richard Smith081ad4d2017-01-24 19:39:46 +00001738.. option:: -fmodule-map-file=<file>
1739
1740Load this module map file
1741
Richard Smith081ad4d2017-01-24 19:39:46 +00001742.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg>
1743
1744Specify the name of the module to build
1745
Richard Smith081ad4d2017-01-24 19:39:46 +00001746.. option:: -fmodules, -fno-modules
1747
1748Enable the 'modules' language feature
1749
Richard Smith081ad4d2017-01-24 19:39:46 +00001750.. option:: -fmodules-decluse, -fno-modules-decluse
1751
1752Require declaration of modules used within a module
1753
Richard Smith081ad4d2017-01-24 19:39:46 +00001754.. option:: -fmodules-ignore-macro=<arg>
1755
1756Ignore the definition of the given macro when building and loading modules
1757
Richard Smith081ad4d2017-01-24 19:39:46 +00001758.. option:: -fmodules-search-all, -fno-modules-search-all
1759
1760Search even non-imported modules to resolve references
1761
Richard Smith081ad4d2017-01-24 19:39:46 +00001762.. option:: -fmodules-strict-decluse
1763
1764Like -fmodules-decluse but requires all headers to be in modules
1765
Richard Smith081ad4d2017-01-24 19:39:46 +00001766.. option:: -fmodules-ts
1767
1768Enable support for the C++ Modules TS
1769
Craig Topper9624beb2020-03-10 11:08:19 -07001770.. option:: -fmodules-validate-input-files-content
1771
1772Validate PCM input files based on content if mtime differs
1773
Richard Smith081ad4d2017-01-24 19:39:46 +00001774.. option:: -fms-compatibility, -fno-ms-compatibility
1775
1776Enable full Microsoft Visual C++ compatibility
1777
Richard Smith081ad4d2017-01-24 19:39:46 +00001778.. option:: -fms-compatibility-version=<arg>
1779
1780Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1781
Richard Smith081ad4d2017-01-24 19:39:46 +00001782.. option:: -fms-extensions, -fno-ms-extensions
1783
1784Accept some non-standard constructs supported by the Microsoft compiler
1785
Richard Smith081ad4d2017-01-24 19:39:46 +00001786.. option:: -fms-memptr-rep=<arg>
1787
Craig Topper9624beb2020-03-10 11:08:19 -07001788.. option:: -fms-volatile
Richard Smith081ad4d2017-01-24 19:39:46 +00001789
Richard Smith081ad4d2017-01-24 19:39:46 +00001790.. option:: -fmsc-version=<arg>
1791
1792Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1793
Richard Smith081ad4d2017-01-24 19:39:46 +00001794.. option:: -fmudflap
1795
Richard Smith081ad4d2017-01-24 19:39:46 +00001796.. option:: -fmudflapth
1797
Richard Smith081ad4d2017-01-24 19:39:46 +00001798.. option:: -fnested-functions
1799
Richard Smith081ad4d2017-01-24 19:39:46 +00001800.. option:: -fnew-alignment=<align>, -fnew-alignment <arg>
1801
1802Specifies the largest alignment guaranteed by '::operator new(size\_t)'
1803
Richard Smith081ad4d2017-01-24 19:39:46 +00001804.. option:: -fnext-runtime
1805
Fangrui Songd8c97292020-06-18 14:52:39 -07001806.. option:: -fno-access-control, -fno-no-access-control
1807
Richard Smith081ad4d2017-01-24 19:39:46 +00001808.. option:: -fno-builtin-<arg>
1809
1810Disable implicit builtin knowledge of a specific function
1811
Richard Smith081ad4d2017-01-24 19:39:46 +00001812.. option:: -fno-elide-type
1813
1814Do not elide types when printing diagnostics
1815
Richard Smith081ad4d2017-01-24 19:39:46 +00001816.. option:: -fno-max-type-align
1817
Richard Smith081ad4d2017-01-24 19:39:46 +00001818.. option:: -fno-operator-names
1819
1820Do not treat C++ operator name keywords as synonyms for operators
1821
Richard Smith081ad4d2017-01-24 19:39:46 +00001822.. option:: -fno-strict-modules-decluse
1823
Craig Topper9624beb2020-03-10 11:08:19 -07001824.. option:: -fno-temp-file
1825
1826Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
1827
Richard Smith081ad4d2017-01-24 19:39:46 +00001828.. option:: -fno-working-directory
1829
Craig Topper9624beb2020-03-10 11:08:19 -07001830.. option:: -fno\_modules-validate-input-files-content
1831
1832.. program:: clang1
1833.. option:: -fno\_pch-validate-input-files-content
1834.. program:: clang
1835
1836.. option:: -fnostack-clash-protection
1837
1838Disable stack clash protection
1839
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00001840.. option:: -fnoxray-link-deps
1841
Richard Smith081ad4d2017-01-24 19:39:46 +00001842.. option:: -fobjc-abi-version=<arg>
1843
Richard Smith081ad4d2017-01-24 19:39:46 +00001844.. option:: -fobjc-arc, -fno-objc-arc
1845
1846Synthesize retain and release calls for Objective-C pointers
1847
Richard Smith081ad4d2017-01-24 19:39:46 +00001848.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions
1849
1850Use EH-safe code when synthesizing retains and releases in -fobjc-arc
1851
Craig Topper9624beb2020-03-10 11:08:19 -07001852.. option:: -fobjc-convert-messages-to-runtime-calls, -fno-objc-convert-messages-to-runtime-calls
1853
Richard Smith081ad4d2017-01-24 19:39:46 +00001854.. option:: -fobjc-exceptions, -fno-objc-exceptions
1855
1856Enable Objective-C exceptions
1857
Richard Smith081ad4d2017-01-24 19:39:46 +00001858.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type
1859
Richard Smith081ad4d2017-01-24 19:39:46 +00001860.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch
1861
Richard Smith081ad4d2017-01-24 19:39:46 +00001862.. option:: -fobjc-link-runtime
1863
Richard Smith081ad4d2017-01-24 19:39:46 +00001864.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi
1865
Richard Smith081ad4d2017-01-24 19:39:46 +00001866.. option:: -fobjc-nonfragile-abi-version=<arg>
1867
Richard Smith081ad4d2017-01-24 19:39:46 +00001868.. option:: -fobjc-runtime=<arg>
1869
1870Specify the target Objective-C runtime kind and version
1871
Richard Smith081ad4d2017-01-24 19:39:46 +00001872.. option:: -fobjc-sender-dependent-dispatch
1873
Richard Smith081ad4d2017-01-24 19:39:46 +00001874.. option:: -fobjc-weak, -fno-objc-weak
1875
1876Enable ARC-style weak references in Objective-C
1877
Richard Smith081ad4d2017-01-24 19:39:46 +00001878.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer
1879
Richard Smith081ad4d2017-01-24 19:39:46 +00001880.. option:: -fopenmp, -fno-openmp
1881
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00001882Parse OpenMP pragmas and generate parallel code.
Boris Kolpackovb150d242017-08-30 09:15:53 +00001883
Craig Topper287c8012018-01-03 18:29:12 +00001884.. option:: -fopenmp-simd, -fno-openmp-simd
1885
1886Emit OpenMP code only for SIMD-based constructs.
1887
Richard Smith081ad4d2017-01-24 19:39:46 +00001888.. option:: -fopenmp-version=<arg>
1889
Richard Smithb2c82a62017-01-27 01:54:42 +00001890.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001891.. option:: -fopenmp=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001892.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001893
Richard Smith081ad4d2017-01-24 19:39:46 +00001894.. option:: -foperator-arrow-depth=<arg>
1895
Francis Visoiu Mistrih3bd7cbb2019-12-04 10:19:41 -08001896.. option:: -foptimization-record-file=<file>
Richard Smith081ad4d2017-01-24 19:39:46 +00001897
Craig Topper9624beb2020-03-10 11:08:19 -07001898Specify 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 -08001899
1900.. option:: -foptimization-record-passes=<regex>
1901
1902Only 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 +00001903
Richard Smith081ad4d2017-01-24 19:39:46 +00001904.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls
1905
Craig Topper9624beb2020-03-10 11:08:19 -07001906.. option:: -forder-file-instrumentation
1907
1908Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)
1909
Richard Smith081ad4d2017-01-24 19:39:46 +00001910.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg>
1911
Richard Smith081ad4d2017-01-24 19:39:46 +00001912.. option:: -fpack-struct, -fno-pack-struct
1913
Richard Smithb2c82a62017-01-27 01:54:42 +00001914.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001915.. option:: -fpack-struct=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001916.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001917
1918Specify the default maximum struct packing alignment
1919
Richard Smith081ad4d2017-01-24 19:39:46 +00001920.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings
1921
1922Recognize and construct Pascal-style string literals
1923
Craig Topper9624beb2020-03-10 11:08:19 -07001924.. option:: -fpass-plugin=<dsopath>
1925
1926Load pass plugin from a dynamic shared object file (only with new pass manager).
1927
1928.. option:: -fpatchable-function-entry=<N,M>
1929
1930Generate M NOPs before function entry and N-M NOPs after function entry
1931
Richard Smith081ad4d2017-01-24 19:39:46 +00001932.. option:: -fpcc-struct-return
1933
1934Override the default ABI to return all structs on the stack
1935
Richard Smith081ad4d2017-01-24 19:39:46 +00001936.. option:: -fpch-preprocess
1937
Craig Topper9624beb2020-03-10 11:08:19 -07001938.. option:: -fpch-validate-input-files-content
1939
1940Validate PCH input files based on content if mtime differs
1941
Richard Smith081ad4d2017-01-24 19:39:46 +00001942.. option:: -fpic, -fno-pic
1943
Richard Smith081ad4d2017-01-24 19:39:46 +00001944.. option:: -fpie, -fno-pie
1945
Craig Topper16418662017-11-20 18:07:43 +00001946.. option:: -fplt, -fno-plt
1947
Richard Smith081ad4d2017-01-24 19:39:46 +00001948.. option:: -fplugin=<dsopath>
1949
1950Load the named plugin (dynamic shared object)
1951
Richard Smith081ad4d2017-01-24 19:39:46 +00001952.. option:: -fpreserve-as-comments, -fno-preserve-as-comments
1953
Richard Smith081ad4d2017-01-24 19:39:46 +00001954.. option:: -fprofile-arcs, -fno-profile-arcs
1955
Richard Smith081ad4d2017-01-24 19:39:46 +00001956.. option:: -fprofile-dir=<arg>
1957
Craig Topper9624beb2020-03-10 11:08:19 -07001958.. option:: -fprofile-exclude-files=<arg>
1959
1960Instrument only functions from files where names don't match all the regexes separated by a semi-colon
1961
1962.. option:: -fprofile-filter-files=<arg>
1963
1964Instrument only functions from files where names match any regex separated by a semi-colon
1965
Richard Smith081ad4d2017-01-24 19:39:46 +00001966.. option:: -fprofile-generate, -fno-profile-generate
1967
1968Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1969
Richard Smithb2c82a62017-01-27 01:54:42 +00001970.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001971.. option:: -fprofile-generate=<directory>
Richard Smithb2c82a62017-01-27 01:54:42 +00001972.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001973
1974Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1975
Richard Smith081ad4d2017-01-24 19:39:46 +00001976.. option:: -fprofile-instr-generate, -fno-profile-instr-generate
1977
1978Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)
1979
Richard Smithb2c82a62017-01-27 01:54:42 +00001980.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001981.. option:: -fprofile-instr-generate=<file>
Richard Smithb2c82a62017-01-27 01:54:42 +00001982.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001983
1984Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var)
1985
Richard Smith081ad4d2017-01-24 19:39:46 +00001986.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use
1987
Richard Smithb2c82a62017-01-27 01:54:42 +00001988.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001989.. option:: -fprofile-instr-use=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001990.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001991
1992Use instrumentation data for profile-guided optimization
1993
Craig Topper9624beb2020-03-10 11:08:19 -07001994.. option:: -fprofile-remapping-file=<file>, -fprofile-remapping-file <arg>
1995
1996Use the remappings described in <file> to match the profile data against names in the program
1997
Boris Kolpackovb150d242017-08-30 09:15:53 +00001998.. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate
1999
2000Specifies that the sample profile is accurate. If the sample
2001 profile is accurate, callsites without profile samples are marked
2002 as cold. Otherwise, treat callsites without profile samples as if
2003 we have no profile
2004
Richard Smith78e23fd2017-04-13 22:39:49 +00002005.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use
2006
2007.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002008.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg>
Richard Smith78e23fd2017-04-13 22:39:49 +00002009.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002010
2011Enable sample-based profile guided optimizations
2012
Richard Smithb2c82a62017-01-27 01:54:42 +00002013.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002014.. option:: -fprofile-use=<pathname>
Richard Smithb2c82a62017-01-27 01:54:42 +00002015.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002016
2017Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
2018
Richard Smith081ad4d2017-01-24 19:39:46 +00002019.. option:: -freciprocal-math, -fno-reciprocal-math
2020
2021Allow division operations to be reassociated
2022
Richard Smith081ad4d2017-01-24 19:39:46 +00002023.. option:: -freg-struct-return
2024
2025Override the default ABI to return small structs in registers
2026
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002027.. option:: -fregister-global-dtors-with-atexit, -fno-register-global-dtors-with-atexit
2028
2029Use atexit or \_\_cxa\_atexit to register global destructors
2030
Richard Smith081ad4d2017-01-24 19:39:46 +00002031.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args
2032
2033Enable C++17 relaxed template template argument matching
2034
Richard Smith081ad4d2017-01-24 19:39:46 +00002035.. option:: -freroll-loops, -fno-reroll-loops
2036
2037Turn on loop reroller
2038
Richard Smith081ad4d2017-01-24 19:39:46 +00002039.. option:: -fretain-comments-from-system-headers
2040
Craig Topperd23254a2017-07-20 17:52:48 +00002041.. option:: -frewrite-imports, -fno-rewrite-imports
2042
Richard Smith081ad4d2017-01-24 19:39:46 +00002043.. option:: -frewrite-includes, -fno-rewrite-includes
2044
Richard Smith081ad4d2017-01-24 19:39:46 +00002045.. option:: -frewrite-map-file <arg>
2046
Richard Smithb2c82a62017-01-27 01:54:42 +00002047.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002048.. option:: -frewrite-map-file=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00002049.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002050
Richard Smith081ad4d2017-01-24 19:39:46 +00002051.. option:: -fropi, -fno-ropi
2052
Fangrui Songd8c97292020-06-18 14:52:39 -07002053Generate read-only position independent code (ARM only)
2054
Craig Topper9624beb2020-03-10 11:08:19 -07002055.. option:: -frounding-math, -fno-rounding-math
2056
Richard Smith081ad4d2017-01-24 19:39:46 +00002057.. option:: -frtti, -fno-rtti
2058
Fangrui Songd8c97292020-06-18 14:52:39 -07002059.. option:: -frtti-data, -fno-rtti-data
2060
Richard Smith081ad4d2017-01-24 19:39:46 +00002061.. option:: -frwpi, -fno-rwpi
2062
Fangrui Songd8c97292020-06-18 14:52:39 -07002063Generate read-write position independent code (ARM only)
2064
Richard Smith081ad4d2017-01-24 19:39:46 +00002065.. option:: -fsave-optimization-record, -fno-save-optimization-record
2066
2067Generate a YAML optimization record file
2068
Francis Visoiu Mistrih3bd7cbb2019-12-04 10:19:41 -08002069.. program:: clang1
2070.. option:: -fsave-optimization-record=<format>
2071.. program:: clang
2072
Craig Topper9624beb2020-03-10 11:08:19 -07002073Generate an optimization record file in a specific format
Francis Visoiu Mistrih3bd7cbb2019-12-04 10:19:41 -08002074
Craig Topper188252d2017-12-11 21:09:16 +00002075.. option:: -fseh-exceptions
2076
2077Use SEH style exceptions
2078
Craig Topper9624beb2020-03-10 11:08:19 -07002079.. option:: -fsemantic-interposition, -fno-semantic-interposition
2080
Richard Smith081ad4d2017-01-24 19:39:46 +00002081.. option:: -fshort-enums, -fno-short-enums
2082
2083Allocate to an enum type only as many bytes as it needs for the declared range of possible values
2084
Richard Smith081ad4d2017-01-24 19:39:46 +00002085.. option:: -fshort-wchar, -fno-short-wchar
2086
2087Force wchar\_t to be a short unsigned int
2088
Richard Smith081ad4d2017-01-24 19:39:46 +00002089.. option:: -fshow-column, -fno-show-column
2090
Richard Smith081ad4d2017-01-24 19:39:46 +00002091.. option:: -fshow-overloads=<arg>
2092
2093Which overload candidates to show when overload resolution fails: best\|all; defaults to all
2094
Richard Smith081ad4d2017-01-24 19:39:46 +00002095.. option:: -fshow-source-location, -fno-show-source-location
2096
Richard Smith081ad4d2017-01-24 19:39:46 +00002097.. option:: -fsignaling-math, -fno-signaling-math
2098
Richard Smith081ad4d2017-01-24 19:39:46 +00002099.. option:: -fsigned-bitfields
2100
Richard Smith081ad4d2017-01-24 19:39:46 +00002101.. option:: -fsigned-char, -fno-signed-char, --signed-char
2102
Fangrui Songd8c97292020-06-18 14:52:39 -07002103char is signed
2104
Richard Smith081ad4d2017-01-24 19:39:46 +00002105.. option:: -fsigned-zeros, -fno-signed-zeros
2106
Richard Smith081ad4d2017-01-24 19:39:46 +00002107.. option:: -fsized-deallocation, -fno-sized-deallocation
2108
2109Enable C++14 sized global deallocation functions
2110
Richard Smith081ad4d2017-01-24 19:39:46 +00002111.. option:: -fsjlj-exceptions
2112
2113Use SjLj style exceptions
2114
Richard Smith081ad4d2017-01-24 19:39:46 +00002115.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize
2116
2117Enable the superword-level parallelism vectorization passes
2118
Richard Smith081ad4d2017-01-24 19:39:46 +00002119.. option:: -fspell-checking, -fno-spell-checking
2120
Richard Smith081ad4d2017-01-24 19:39:46 +00002121.. option:: -fspell-checking-limit=<arg>
2122
Richard Smith081ad4d2017-01-24 19:39:46 +00002123.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining
2124
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00002125Provide 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 +00002126
Craig Topper9624beb2020-03-10 11:08:19 -07002127.. option:: -fsplit-lto-unit, -fno-split-lto-unit
2128
Fangrui Songd8c97292020-06-18 14:52:39 -07002129Enables splitting of the LTO unit
Craig Topper9624beb2020-03-10 11:08:19 -07002130
Richard Smith081ad4d2017-01-24 19:39:46 +00002131.. option:: -fsplit-stack
2132
Craig Topper9624beb2020-03-10 11:08:19 -07002133.. option:: -fstack-clash-protection
2134
2135Enable stack clash protection
2136
Richard Smith081ad4d2017-01-24 19:39:46 +00002137.. option:: -fstack-protector, -fno-stack-protector
2138
Craig Topper9624beb2020-03-10 11:08:19 -07002139Enable 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
Richard Smith081ad4d2017-01-24 19:39:46 +00002140
Richard Smith081ad4d2017-01-24 19:39:46 +00002141.. option:: -fstack-protector-all
2142
Craig Topper9624beb2020-03-10 11:08:19 -07002143Enable stack protectors for all functions
Richard Smith081ad4d2017-01-24 19:39:46 +00002144
Richard Smith081ad4d2017-01-24 19:39:46 +00002145.. option:: -fstack-protector-strong
2146
Craig Topper9624beb2020-03-10 11:08:19 -07002147Enable 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 +00002148
Craig Topper596527b2018-01-23 18:40:15 +00002149.. option:: -fstack-size-section, -fno-stack-size-section
2150
2151Emit section containing metadata on function stack sizes
2152
Richard Smith081ad4d2017-01-24 19:39:46 +00002153.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug
2154
2155Emit full debug info for all types used by the program
2156
Richard Smith081ad4d2017-01-24 19:39:46 +00002157.. option:: -fstrict-aliasing, -fno-strict-aliasing
2158
Richard Smith081ad4d2017-01-24 19:39:46 +00002159.. option:: -fstrict-enums, -fno-strict-enums
2160
2161Enable optimizations based on the strict definition of an enum's value range
2162
Vedant Kumar368540f2018-08-23 17:55:03 +00002163.. option:: -fstrict-float-cast-overflow, -fno-strict-float-cast-overflow
2164
2165Assume that overflowing float-to-int casts are undefined (default)
2166
Richard Smith081ad4d2017-01-24 19:39:46 +00002167.. option:: -fstrict-overflow, -fno-strict-overflow
2168
Richard Smith081ad4d2017-01-24 19:39:46 +00002169.. option:: -fstrict-return, -fno-strict-return
2170
Richard Smith081ad4d2017-01-24 19:39:46 +00002171.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers
2172
2173Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
2174
Richard Smith081ad4d2017-01-24 19:39:46 +00002175.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa
2176
Craig Topper9624beb2020-03-10 11:08:19 -07002177.. option:: -fsymbol-partition=<arg>
2178
Richard Smith081ad4d2017-01-24 19:39:46 +00002179.. option:: -ftabstop=<arg>
2180
Richard Smith081ad4d2017-01-24 19:39:46 +00002181.. option:: -ftemplate-backtrace-limit=<arg>
2182
Richard Smith081ad4d2017-01-24 19:39:46 +00002183.. option:: -ftemplate-depth-<arg>
2184
Richard Smith081ad4d2017-01-24 19:39:46 +00002185.. option:: -ftemplate-depth=<arg>
2186
Fangrui Songd8c97292020-06-18 14:52:39 -07002187.. option:: -ftest-coverage, -fno-test-coverage
Richard Smith081ad4d2017-01-24 19:39:46 +00002188
Craig Topper9624beb2020-03-10 11:08:19 -07002189.. option:: -fthin-link-bitcode=<arg>
2190
2191Write minimized bitcode to <file> for the ThinLTO thin link only
2192
Richard Smith081ad4d2017-01-24 19:39:46 +00002193.. option:: -fthinlto-index=<arg>
2194
2195Perform ThinLTO importing using provided function summary index
2196
Richard Smith081ad4d2017-01-24 19:39:46 +00002197.. option:: -fthreadsafe-statics, -fno-threadsafe-statics
2198
Richard Smith081ad4d2017-01-24 19:39:46 +00002199.. option:: -ftime-report
2200
Anton Afanasyev4fdcabf2019-07-24 14:55:40 +00002201.. option:: -ftime-trace
2202
Craig Topper9624beb2020-03-10 11:08:19 -07002203
2204Turn on time profiler. Generates JSON file based on output filename. Results
2205can be analyzed with chrome://tracing or `Speedscope App
2206<https://www.speedscope.app>`_ for flamegraph visualization.
Anton Afanasyev4fdcabf2019-07-24 14:55:40 +00002207
2208.. option:: -ftime-trace-granularity=<arg>
2209
2210Minimum time granularity (in microseconds) traced by time profiler
2211
Richard Smith081ad4d2017-01-24 19:39:46 +00002212.. option:: -ftls-model=<arg>
2213
Richard Smith081ad4d2017-01-24 19:39:46 +00002214.. option:: -ftrap-function=<arg>
2215
2216Issue call to specified function rather than a trap instruction
2217
Richard Smith081ad4d2017-01-24 19:39:46 +00002218.. option:: -ftrapping-math, -fno-trapping-math
2219
Richard Smith081ad4d2017-01-24 19:39:46 +00002220.. option:: -ftrapv
2221
2222Trap on integer overflow
2223
Richard Smith081ad4d2017-01-24 19:39:46 +00002224.. option:: -ftrapv-handler <arg>
2225
Richard Smithb2c82a62017-01-27 01:54:42 +00002226.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002227.. option:: -ftrapv-handler=<function name>
Richard Smithb2c82a62017-01-27 01:54:42 +00002228.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002229
2230Specify the function to be called on overflow
2231
Richard Smith081ad4d2017-01-24 19:39:46 +00002232.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs
2233
2234Process trigraph sequences
2235
Fangrui Songd8c97292020-06-18 14:52:39 -07002236.. option:: -ftrivial-auto-var-init-stop-after=<arg>
2237
2238Stop initializing trivial automatic stack variables after the specified number of instances
2239
Craig Topper9624beb2020-03-10 11:08:19 -07002240.. option:: -ftrivial-auto-var-init=<arg>
2241
2242Initialize trivial automatic stack variables: uninitialized (default) \| pattern
2243
Fangrui Songd8c97292020-06-18 14:52:39 -07002244.. option:: -funique-basic-block-section-names, -fno-unique-basic-block-section-names
Richard Smith081ad4d2017-01-24 19:39:46 +00002245
Fangrui Songd8c97292020-06-18 14:52:39 -07002246Use unique names for basic block sections (ELF Only)
2247
2248.. option:: -funique-internal-linkage-names, -fno-unique-internal-linkage-names
2249
2250Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
2251
2252.. option:: -funique-section-names, -fno-unique-section-names
Richard Smith081ad4d2017-01-24 19:39:46 +00002253
Richard Smith081ad4d2017-01-24 19:39:46 +00002254.. option:: -funit-at-a-time, -fno-unit-at-a-time
2255
Richard Smith081ad4d2017-01-24 19:39:46 +00002256.. option:: -funroll-loops, -fno-unroll-loops
2257
2258Turn on loop unroller
2259
Richard Smith081ad4d2017-01-24 19:39:46 +00002260.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations
2261
Richard Smith081ad4d2017-01-24 19:39:46 +00002262.. option:: -funsigned-bitfields
2263
Richard Smith081ad4d2017-01-24 19:39:46 +00002264.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char
2265
Richard Smith081ad4d2017-01-24 19:39:46 +00002266.. option:: -funwind-tables, -fno-unwind-tables
2267
Richard Smith081ad4d2017-01-24 19:39:46 +00002268.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit
2269
Richard Smith081ad4d2017-01-24 19:39:46 +00002270.. option:: -fuse-init-array, -fno-use-init-array
2271
Richard Smith081ad4d2017-01-24 19:39:46 +00002272.. option:: -fuse-ld=<arg>
2273
Richard Smith081ad4d2017-01-24 19:39:46 +00002274.. option:: -fuse-line-directives, -fno-use-line-directives
2275
Fangrui Songd8c97292020-06-18 14:52:39 -07002276Use #line in preprocessed output
2277
Craig Topper9624beb2020-03-10 11:08:19 -07002278.. option:: -fvalidate-ast-input-files-content
2279
2280Compute 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
2281
Richard Smith081ad4d2017-01-24 19:39:46 +00002282.. option:: -fveclib=<arg>
2283
2284Use the given vector functions library
2285
Richard Smith081ad4d2017-01-24 19:39:46 +00002286.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize
2287
2288Enable the loop vectorization passes
2289
Craig Topper9624beb2020-03-10 11:08:19 -07002290.. option:: -fverbose-asm, -dA, -fno-verbose-asm
2291
Fangrui Songd8c97292020-06-18 14:52:39 -07002292Generate verbose assembly output
2293
2294.. option:: -fvirtual-function-elimination, -fno-virtual-function-elimination
Craig Topper9624beb2020-03-10 11:08:19 -07002295
2296Enables dead virtual function elimination optimization. Requires -flto=full
2297
2298.. option:: -fvisibility-global-new-delete-hidden
2299
2300Give global C++ operator new and delete declarations hidden visibility
Richard Smith081ad4d2017-01-24 19:39:46 +00002301
Richard Smith081ad4d2017-01-24 19:39:46 +00002302.. option:: -fvisibility-inlines-hidden
2303
Fangrui Songdf81b972018-07-19 22:45:41 +00002304Give inline C++ member functions hidden visibility by default
Richard Smith081ad4d2017-01-24 19:39:46 +00002305
Richard Smith081ad4d2017-01-24 19:39:46 +00002306.. option:: -fvisibility-ms-compat
2307
2308Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
2309
Richard Smith081ad4d2017-01-24 19:39:46 +00002310.. option:: -fvisibility=<arg>
2311
2312Set the default symbol visibility for all global declarations
2313
Craig Topper9624beb2020-03-10 11:08:19 -07002314.. option:: -fwasm-exceptions
2315
2316Use WebAssembly style exceptions
2317
Richard Smith081ad4d2017-01-24 19:39:46 +00002318.. option:: -fwhole-program-vtables, -fno-whole-program-vtables
2319
2320Enables whole-program vtable optimization. Requires -flto
2321
Richard Smith081ad4d2017-01-24 19:39:46 +00002322.. option:: -fwrapv, -fno-wrapv
2323
2324Treat signed integer overflow as two's complement
2325
Richard Smith081ad4d2017-01-24 19:39:46 +00002326.. option:: -fwritable-strings
2327
2328Store string literals as writable data
2329
Craig Topper188252d2017-12-11 21:09:16 +00002330.. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents
2331
Fangrui Songd8c97292020-06-18 14:52:39 -07002332Always emit \_\_xray\_customevent(...) calls even if the containing function is not always instrumented
Craig Topper188252d2017-12-11 21:09:16 +00002333
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002334.. option:: -fxray-always-emit-typedevents, -fno-xray-always-emit-typedevents
2335
Fangrui Songd8c97292020-06-18 14:52:39 -07002336Always emit \_\_xray\_typedevent(...) calls even if the containing function is not always instrumented
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002337
Richard Smith78e23fd2017-04-13 22:39:49 +00002338.. option:: -fxray-always-instrument=<arg>
2339
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002340DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
2341
2342.. option:: -fxray-attr-list=<arg>
2343
2344Filename defining the list of functions/types for imbuing XRay attributes.
Richard Smith78e23fd2017-04-13 22:39:49 +00002345
Fangrui Songd8c97292020-06-18 14:52:39 -07002346.. option:: -fxray-function-index, -fno-xray-function-index
2347
Craig Topper9624beb2020-03-10 11:08:19 -07002348.. option:: -fxray-ignore-loops, -fno-xray-ignore-loops
2349
2350Don't instrument functions with loops unless they also meet the minimum function size
2351
Richard Smith081ad4d2017-01-24 19:39:46 +00002352.. option:: -fxray-instruction-threshold<arg>
2353
Richard Smithb2c82a62017-01-27 01:54:42 +00002354.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002355.. option:: -fxray-instruction-threshold=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00002356.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002357
2358Sets the minimum function size to instrument with XRay
2359
Richard Smith081ad4d2017-01-24 19:39:46 +00002360.. option:: -fxray-instrument, -fno-xray-instrument
2361
2362Generate XRay instrumentation sleds on function entry and exit
2363
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002364.. option:: -fxray-instrumentation-bundle=<arg>
2365
Craig Topper9624beb2020-03-10 11:08:19 -07002366Select 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 +00002367
2368.. option:: -fxray-link-deps
2369
2370Tells clang to add the link dependencies for XRay.
2371
2372.. option:: -fxray-modes=<arg>
2373
2374List of modes to link in by default into XRay instrumented binaries.
2375
Richard Smith78e23fd2017-04-13 22:39:49 +00002376.. option:: -fxray-never-instrument=<arg>
2377
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002378DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
Richard Smith78e23fd2017-04-13 22:39:49 +00002379
Richard Smith081ad4d2017-01-24 19:39:46 +00002380.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss
2381
Richard Smith081ad4d2017-01-24 19:39:46 +00002382.. option:: -fzvector, -fno-zvector, -mzvector
2383
2384Enable System z vector language extension
2385
Richard Smith081ad4d2017-01-24 19:39:46 +00002386.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic
2387
Richard Smith081ad4d2017-01-24 19:39:46 +00002388.. option:: -pedantic-errors, --pedantic-errors
2389
2390OpenCL flags
2391------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002392.. option:: -cl-denorms-are-zero
2393
2394OpenCL only. Allow denormals to be flushed to zero.
2395
Richard Smith081ad4d2017-01-24 19:39:46 +00002396.. option:: -cl-fast-relaxed-math
2397
2398OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_.
2399
Richard Smith081ad4d2017-01-24 19:39:46 +00002400.. option:: -cl-finite-math-only
2401
2402OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
2403
Richard Smith081ad4d2017-01-24 19:39:46 +00002404.. option:: -cl-fp32-correctly-rounded-divide-sqrt
2405
2406OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
2407
Richard Smith081ad4d2017-01-24 19:39:46 +00002408.. option:: -cl-kernel-arg-info
2409
2410OpenCL only. Generate kernel argument metadata.
2411
Richard Smith081ad4d2017-01-24 19:39:46 +00002412.. option:: -cl-mad-enable
2413
2414OpenCL only. Allow use of less precise MAD computations in the generated binary.
2415
Richard Smith081ad4d2017-01-24 19:39:46 +00002416.. option:: -cl-no-signed-zeros
2417
2418OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
2419
Richard Smith081ad4d2017-01-24 19:39:46 +00002420.. option:: -cl-opt-disable
2421
2422OpenCL only. This option disables all optimizations. By default optimizations are enabled.
2423
Richard Smith081ad4d2017-01-24 19:39:46 +00002424.. option:: -cl-single-precision-constant
2425
2426OpenCL only. Treat double precision floating-point constant as single precision constant.
2427
Richard Smith081ad4d2017-01-24 19:39:46 +00002428.. option:: -cl-std=<arg>
2429
2430OpenCL language standard to compile for.
2431
Richard Smith081ad4d2017-01-24 19:39:46 +00002432.. option:: -cl-strict-aliasing
2433
2434OpenCL only. This option is added for compatibility with OpenCL 1.0.
2435
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00002436.. option:: -cl-uniform-work-group-size
2437
2438OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
2439
Richard Smith081ad4d2017-01-24 19:39:46 +00002440.. option:: -cl-unsafe-math-optimizations
2441
2442OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
2443
Craig Topper9624beb2020-03-10 11:08:19 -07002444SYCL flags
2445----------
2446.. option:: -fsycl, -fno-sycl
2447
2448Enable SYCL kernels compilation for device
2449
2450.. option:: -sycl-std=<arg>
2451
2452SYCL language standard to compile for.
2453
Richard Smith081ad4d2017-01-24 19:39:46 +00002454Target-dependent compilation options
2455~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fangrui Songd8c97292020-06-18 14:52:39 -07002456.. option:: -G<size>, -G=<arg>, -msmall-data-limit=<arg>, -msmall-data-threshold=<arg>
Richard Smithc5b2e002017-01-27 02:08:37 +00002457
Fangrui Songd8c97292020-06-18 14:52:39 -07002458Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
Richard Smithc5b2e002017-01-27 02:08:37 +00002459
Craig Topper9624beb2020-03-10 11:08:19 -07002460.. option:: -ffixed-x1
2461
Fangrui Songd8c97292020-06-18 14:52:39 -07002462Reserve the x1 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002463
2464.. option:: -ffixed-x10
2465
Fangrui Songd8c97292020-06-18 14:52:39 -07002466Reserve the x10 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002467
2468.. option:: -ffixed-x11
2469
Fangrui Songd8c97292020-06-18 14:52:39 -07002470Reserve the x11 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002471
2472.. option:: -ffixed-x12
2473
Fangrui Songd8c97292020-06-18 14:52:39 -07002474Reserve the x12 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002475
2476.. option:: -ffixed-x13
2477
Fangrui Songd8c97292020-06-18 14:52:39 -07002478Reserve the x13 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002479
2480.. option:: -ffixed-x14
2481
Fangrui Songd8c97292020-06-18 14:52:39 -07002482Reserve the x14 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002483
2484.. option:: -ffixed-x15
2485
Fangrui Songd8c97292020-06-18 14:52:39 -07002486Reserve the x15 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002487
2488.. option:: -ffixed-x16
2489
Fangrui Songd8c97292020-06-18 14:52:39 -07002490Reserve the x16 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002491
2492.. option:: -ffixed-x17
2493
Fangrui Songd8c97292020-06-18 14:52:39 -07002494Reserve the x17 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002495
2496.. option:: -ffixed-x18
2497
Fangrui Songd8c97292020-06-18 14:52:39 -07002498Reserve the x18 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002499
2500.. option:: -ffixed-x19
2501
Fangrui Songd8c97292020-06-18 14:52:39 -07002502Reserve the x19 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002503
2504.. option:: -ffixed-x2
2505
Fangrui Songd8c97292020-06-18 14:52:39 -07002506Reserve the x2 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002507
2508.. option:: -ffixed-x20
2509
Fangrui Songd8c97292020-06-18 14:52:39 -07002510Reserve the x20 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002511
2512.. option:: -ffixed-x21
2513
Fangrui Songd8c97292020-06-18 14:52:39 -07002514Reserve the x21 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002515
2516.. option:: -ffixed-x22
2517
Fangrui Songd8c97292020-06-18 14:52:39 -07002518Reserve the x22 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002519
2520.. option:: -ffixed-x23
2521
Fangrui Songd8c97292020-06-18 14:52:39 -07002522Reserve the x23 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002523
2524.. option:: -ffixed-x24
2525
Fangrui Songd8c97292020-06-18 14:52:39 -07002526Reserve the x24 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002527
2528.. option:: -ffixed-x25
2529
Fangrui Songd8c97292020-06-18 14:52:39 -07002530Reserve the x25 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002531
2532.. option:: -ffixed-x26
2533
Fangrui Songd8c97292020-06-18 14:52:39 -07002534Reserve the x26 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002535
2536.. option:: -ffixed-x27
2537
Fangrui Songd8c97292020-06-18 14:52:39 -07002538Reserve the x27 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002539
2540.. option:: -ffixed-x28
2541
Fangrui Songd8c97292020-06-18 14:52:39 -07002542Reserve the x28 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002543
2544.. option:: -ffixed-x29
2545
Fangrui Songd8c97292020-06-18 14:52:39 -07002546Reserve the x29 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002547
2548.. option:: -ffixed-x3
2549
Fangrui Songd8c97292020-06-18 14:52:39 -07002550Reserve the x3 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002551
2552.. option:: -ffixed-x30
2553
Fangrui Songd8c97292020-06-18 14:52:39 -07002554Reserve the x30 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002555
2556.. option:: -ffixed-x31
2557
Fangrui Songd8c97292020-06-18 14:52:39 -07002558Reserve the x31 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002559
2560.. option:: -ffixed-x4
2561
Fangrui Songd8c97292020-06-18 14:52:39 -07002562Reserve the x4 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002563
2564.. option:: -ffixed-x5
2565
Fangrui Songd8c97292020-06-18 14:52:39 -07002566Reserve the x5 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002567
2568.. option:: -ffixed-x6
2569
Fangrui Songd8c97292020-06-18 14:52:39 -07002570Reserve the x6 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002571
2572.. option:: -ffixed-x7
2573
Fangrui Songd8c97292020-06-18 14:52:39 -07002574Reserve the x7 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002575
2576.. option:: -ffixed-x8
2577
Fangrui Songd8c97292020-06-18 14:52:39 -07002578Reserve the x8 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002579
2580.. option:: -ffixed-x9
2581
Fangrui Songd8c97292020-06-18 14:52:39 -07002582Reserve the x9 register (AArch64/RISC-V only)
Craig Topper9624beb2020-03-10 11:08:19 -07002583
Richard Smith081ad4d2017-01-24 19:39:46 +00002584.. option:: -m16
2585
Richard Smith081ad4d2017-01-24 19:39:46 +00002586.. option:: -m32
2587
Richard Smith081ad4d2017-01-24 19:39:46 +00002588.. option:: -m64
2589
Richard Smith081ad4d2017-01-24 19:39:46 +00002590.. option:: -mabi=<arg>
2591
Fangrui Songd8c97292020-06-18 14:52:39 -07002592.. option:: -maix-struct-return
2593
2594Return all structs in memory (PPC32 only)
2595
Craig Topper9624beb2020-03-10 11:08:19 -07002596.. option:: -malign-branch-boundary=<arg>
2597
2598Specify the boundary's size to align branches
2599
Craig Topper9624beb2020-03-10 11:08:19 -07002600.. option:: -malign-branch=<arg1>,<arg2>...
2601
2602Specify types of branches to align
2603
Richard Smith081ad4d2017-01-24 19:39:46 +00002604.. option:: -malign-double
2605
2606Align doubles to two words in structs (x86 only)
2607
Richard Smith081ad4d2017-01-24 19:39:46 +00002608.. option:: -march=<arg>
2609
Richard Smith081ad4d2017-01-24 19:39:46 +00002610.. option:: -masm=<arg>
2611
Richard Smith081ad4d2017-01-24 19:39:46 +00002612.. option:: -mbackchain, -mno-backchain
2613
2614Link stack frames through backchain on System Z
2615
Craig Topper9624beb2020-03-10 11:08:19 -07002616.. option:: -mbranches-within-32B-boundaries
2617
2618Align selected branches (fused, jcc, jmp) within 32-byte boundary
2619
2620.. option:: -mcmodel=<arg>, -mcmodel=medany (equivalent to -mcmodel=medium), -mcmodel=medlow (equivalent to -mcmodel=small)
Richard Smith081ad4d2017-01-24 19:39:46 +00002621
Richard Smith081ad4d2017-01-24 19:39:46 +00002622.. option:: -mconsole<arg>
2623
Craig Topper9624beb2020-03-10 11:08:19 -07002624.. program:: clang1
2625.. 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)
2626.. program:: clang
Ziang Wande94ac92019-06-25 23:57:14 +00002627
Vedant Kumar368540f2018-08-23 17:55:03 +00002628.. option:: -mcrc, -mno-crc
2629
2630Allow use of CRC instructions (ARM/Mips only)
2631
Craig Topperd23254a2017-07-20 17:52:48 +00002632.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg>
2633
Richard Smith081ad4d2017-01-24 19:39:46 +00002634.. option:: -mdll<arg>
2635
Fangrui Songd8c97292020-06-18 14:52:39 -07002636.. option:: -mdouble=<arg>
2637
2638Force double to be 32 bits or 64 bits
2639
Richard Smith081ad4d2017-01-24 19:39:46 +00002640.. option:: -mdynamic-no-pic<arg>
2641
Richard Smith081ad4d2017-01-24 19:39:46 +00002642.. option:: -meabi <arg>
2643
2644Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
2645
Fangrui Songd8c97292020-06-18 14:52:39 -07002646.. option:: -menable-experimental-extensions
2647
2648Enable use of experimental RISC-V extensions.
2649
Richard Smith78e23fd2017-04-13 22:39:49 +00002650.. option:: -mfentry
2651
Jonas Paulsson81aa62a2019-09-20 13:13:50 +00002652Insert calls to fentry at function entry (x86/SystemZ only)
Richard Smith78e23fd2017-04-13 22:39:49 +00002653
Richard Smith081ad4d2017-01-24 19:39:46 +00002654.. option:: -mfloat-abi=<arg>
2655
Richard Smith081ad4d2017-01-24 19:39:46 +00002656.. option:: -mfpmath=<arg>
2657
Richard Smith081ad4d2017-01-24 19:39:46 +00002658.. option:: -mfpu=<arg>
2659
Richard Smith081ad4d2017-01-24 19:39:46 +00002660.. option:: -mglobal-merge, -mno-global-merge
2661
2662Enable merging of globals
2663
Richard Smith081ad4d2017-01-24 19:39:46 +00002664.. option:: -mhard-float
2665
Richard Smith081ad4d2017-01-24 19:39:46 +00002666.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg>
2667
Craig Topper9624beb2020-03-10 11:08:19 -07002668.. option:: -mhwmult=<arg>
2669
Richard Smith081ad4d2017-01-24 19:39:46 +00002670.. option:: -miamcu, -mno-iamcu
2671
2672Use Intel MCU ABI
2673
Richard Smith081ad4d2017-01-24 19:39:46 +00002674.. option:: -mimplicit-float, -mno-implicit-float
2675
Richard Smith081ad4d2017-01-24 19:39:46 +00002676.. option:: -mimplicit-it=<arg>
2677
Richard Smith081ad4d2017-01-24 19:39:46 +00002678.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible
2679
2680(integrated-as) Emit an object file which can be used with an incremental linker
2681
Richard Smith78e23fd2017-04-13 22:39:49 +00002682.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002683
Richard Smith081ad4d2017-01-24 19:39:46 +00002684.. option:: -mkernel
2685
Richard Smith081ad4d2017-01-24 19:39:46 +00002686.. option:: -mlong-calls, -mno-long-calls
2687
2688Generate branches with extended addressability, usually via indirect jumps.
2689
Scott Constable5b519cf2020-04-02 21:59:47 -07002690.. option:: -mlvi-cfi, -mno-lvi-cfi
2691
2692Enable only control-flow mitigations for Load Value Injection (LVI)
2693
Fangrui Songd8c97292020-06-18 14:52:39 -07002694.. option:: -mlvi-hardening, -mno-lvi-hardening
2695
2696Enable all mitigations for Load Value Injection (LVI)
2697
Craig Topperd23254a2017-07-20 17:52:48 +00002698.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002699
Craig Topper9624beb2020-03-10 11:08:19 -07002700Set Mac OS X deployment target
Richard Smith081ad4d2017-01-24 19:39:46 +00002701
Craig Topperd23254a2017-07-20 17:52:48 +00002702.. option:: -mmcu=<arg>
2703
Richard Smith081ad4d2017-01-24 19:39:46 +00002704.. option:: -mms-bitfields, -mno-ms-bitfields
2705
2706Set the default structure layout to be compatible with the Microsoft compiler standard
2707
Craig Topper9624beb2020-03-10 11:08:19 -07002708.. option:: -mnop-mcount
2709
2710Generate mcount/\_\_fentry\_\_ calls as nops. To activate they need to be patched in.
2711
Richard Smith081ad4d2017-01-24 19:39:46 +00002712.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer
2713
2714Omit frame pointer setup for leaf functions
2715
Richard Smith081ad4d2017-01-24 19:39:46 +00002716.. option:: -moslib=<arg>
2717
Craig Topper9624beb2020-03-10 11:08:19 -07002718.. option:: -mpacked-stack, -mno-packed-stack
2719
2720Use packed stack layout (SystemZ only).
2721
Fangrui Songd8c97292020-06-18 14:52:39 -07002722.. option:: -mpad-max-prefix-size=<arg>
2723
2724Specify maximum number of prefixes to use for padding
2725
Richard Smith081ad4d2017-01-24 19:39:46 +00002726.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations
2727
2728Use copy relocations support for PIE builds
2729
Craig Topper9a724aa2017-12-11 21:09:19 +00002730.. option:: -mprefer-vector-width=<arg>
2731
2732Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
2733
Richard Smith081ad4d2017-01-24 19:39:46 +00002734.. option:: -mqdsp6-compat
2735
2736Enable hexagon-qdsp6 backward compatibility
2737
Richard Smith081ad4d2017-01-24 19:39:46 +00002738.. option:: -mrecip
2739
Richard Smithb2c82a62017-01-27 01:54:42 +00002740.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002741.. option:: -mrecip=<arg1>,<arg2>...
Richard Smithb2c82a62017-01-27 01:54:42 +00002742.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002743
Craig Topper9624beb2020-03-10 11:08:19 -07002744.. option:: -mrecord-mcount
2745
2746Generate a \_\_mcount\_loc section entry for each \_\_fentry\_\_ call.
2747
Richard Smith081ad4d2017-01-24 19:39:46 +00002748.. option:: -mred-zone, -mno-red-zone
2749
Richard Smith081ad4d2017-01-24 19:39:46 +00002750.. option:: -mregparm=<arg>
2751
Richard Smith081ad4d2017-01-24 19:39:46 +00002752.. option:: -mrelax-all, -mno-relax-all
2753
2754(integrated-as) Relax all machine instructions
2755
Vedant Kumar368540f2018-08-23 17:55:03 +00002756.. option:: -mretpoline, -mno-retpoline
2757
Richard Smith081ad4d2017-01-24 19:39:46 +00002758.. option:: -mrtd, -mno-rtd
2759
2760Make StdCall calling convention the default
2761
Zola Bridges9d9e4992020-05-13 11:25:08 -07002762.. option:: -mseses, -mno-seses
2763
2764Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
2765
Vedant Kumar368540f2018-08-23 17:55:03 +00002766.. option:: -msign-return-address=<arg>
2767
2768Select return address signing scope
Richard Smith081ad4d2017-01-24 19:39:46 +00002769
Richard Smith081ad4d2017-01-24 19:39:46 +00002770.. option:: -msoft-float, -mno-soft-float
2771
2772Use software floating point
2773
Craig Topper9624beb2020-03-10 11:08:19 -07002774.. option:: -mspeculative-load-hardening, -mno-speculative-load-hardening
2775
Richard Smith081ad4d2017-01-24 19:39:46 +00002776.. option:: -mstack-alignment=<arg>
2777
2778Set the stack alignment
2779
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002780.. option:: -mstack-arg-probe, -mno-stack-arg-probe
2781
2782Enable stack probes
2783
Richard Smith081ad4d2017-01-24 19:39:46 +00002784.. option:: -mstack-probe-size=<arg>
2785
2786Set the stack probe size
2787
Richard Smith081ad4d2017-01-24 19:39:46 +00002788.. option:: -mstackrealign, -mno-stackrealign
2789
2790Force realign the stack at entry to every function
2791
Fangrui Songd8c97292020-06-18 14:52:39 -07002792.. option:: -msvr4-struct-return
2793
2794Return small structs in registers (PPC32 only)
2795
Richard Smith081ad4d2017-01-24 19:39:46 +00002796.. option:: -mthread-model <arg>
2797
2798The thread model to use, e.g. posix, single (posix by default)
2799
Richard Smith081ad4d2017-01-24 19:39:46 +00002800.. option:: -mthreads<arg>
2801
Richard Smith081ad4d2017-01-24 19:39:46 +00002802.. option:: -mthumb, -mno-thumb
2803
Craig Topper9624beb2020-03-10 11:08:19 -07002804.. option:: -mtls-direct-seg-refs, -mno-tls-direct-seg-refs
Richard Smith081ad4d2017-01-24 19:39:46 +00002805
Craig Topper9624beb2020-03-10 11:08:19 -07002806Enable direct TLS access through segment registers (default)
2807
2808.. option:: -mtls-size=<arg>
2809
2810Specify 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)
2811
2812.. program:: clang1
2813.. option:: -mtune=<arg>
2814.. program:: clang
Ziang Wande94ac92019-06-25 23:57:14 +00002815
Sjoerd Meijer35cf2f42020-04-22 08:49:02 +01002816Accepted for compatibility with GCC. Currently has no effect.
2817
Richard Smith78e23fd2017-04-13 22:39:49 +00002818.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002819
Richard Smith081ad4d2017-01-24 19:39:46 +00002820.. option:: -municode<arg>
2821
Richard Smith081ad4d2017-01-24 19:39:46 +00002822.. option:: -mvx, -mno-vx
2823
Richard Smith081ad4d2017-01-24 19:39:46 +00002824.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings
2825
Richard Smith78e23fd2017-04-13 22:39:49 +00002826.. option:: -mwatchos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002827
Craig Topper9624beb2020-03-10 11:08:19 -07002828.. option:: -mwavefrontsize64, -mno-wavefrontsize64
2829
2830Wavefront size 64 is used
2831
Richard Smith081ad4d2017-01-24 19:39:46 +00002832.. option:: -mwindows<arg>
2833
Richard Smith081ad4d2017-01-24 19:39:46 +00002834.. option:: -mx32
2835
Richard Smith081ad4d2017-01-24 19:39:46 +00002836AARCH64
2837-------
Tri Vo28e7e602018-09-25 16:48:40 +00002838.. option:: -fcall-saved-x10
2839
2840Make the x10 register call-saved (AArch64 only)
2841
2842.. option:: -fcall-saved-x11
2843
2844Make the x11 register call-saved (AArch64 only)
2845
2846.. option:: -fcall-saved-x12
2847
2848Make the x12 register call-saved (AArch64 only)
2849
2850.. option:: -fcall-saved-x13
2851
2852Make the x13 register call-saved (AArch64 only)
2853
2854.. option:: -fcall-saved-x14
2855
2856Make the x14 register call-saved (AArch64 only)
2857
2858.. option:: -fcall-saved-x15
2859
2860Make the x15 register call-saved (AArch64 only)
2861
2862.. option:: -fcall-saved-x18
2863
2864Make the x18 register call-saved (AArch64 only)
2865
Craig Topper9624beb2020-03-10 11:08:19 -07002866.. option:: -fcall-saved-x8
2867
2868Make the x8 register call-saved (AArch64 only)
2869
2870.. option:: -fcall-saved-x9
2871
2872Make the x9 register call-saved (AArch64 only)
2873
Richard Smith081ad4d2017-01-24 19:39:46 +00002874.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769
2875
2876Workaround Cortex-A53 erratum 835769 (AArch64 only)
2877
Richard Smith081ad4d2017-01-24 19:39:46 +00002878.. option:: -mgeneral-regs-only
2879
2880Generate code which only uses the general purpose registers (AArch64 only)
2881
2882AMDGPU
2883------
Craig Topper9624beb2020-03-10 11:08:19 -07002884.. option:: -mcode-object-v3, -mno-code-object-v3
2885
2886Enable code object v3 (AMDGPU only)
2887
Stanislav Mekhanoshin91792f12019-05-13 23:15:59 +00002888.. option:: -mcumode, -mno-cumode
2889
Craig Topper9624beb2020-03-10 11:08:19 -07002890CU wavefront execution mode is used (AMDGPU only)
Stanislav Mekhanoshin91792f12019-05-13 23:15:59 +00002891
Craig Topper9624beb2020-03-10 11:08:19 -07002892.. option:: -msram-ecc, -mno-sram-ecc
Stanislav Mekhanoshin8a8131a2019-06-13 23:47:59 +00002893
Craig Topper9624beb2020-03-10 11:08:19 -07002894Enable SRAM ECC (AMDGPU only)
Stanislav Mekhanoshin8a8131a2019-06-13 23:47:59 +00002895
Craig Topper16418662017-11-20 18:07:43 +00002896.. option:: -mxnack, -mno-xnack
2897
2898Enable XNACK (AMDGPU only)
2899
Richard Smith081ad4d2017-01-24 19:39:46 +00002900ARM
2901---
Craig Topper9624beb2020-03-10 11:08:19 -07002902.. option:: -fAAPCSBitfieldLoad
2903
2904Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
2905
Richard Smith081ad4d2017-01-24 19:39:46 +00002906.. option:: -ffixed-r9
2907
2908Reserve the r9 register (ARM only)
2909
Craig Topper9624beb2020-03-10 11:08:19 -07002910.. option:: -mcmse
Momchil Velikovac215352020-01-29 10:38:10 +00002911
Craig Topper9624beb2020-03-10 11:08:19 -07002912Allow use of CMSE (Armv8-M Security Extensions)
Momchil Velikovac215352020-01-29 10:38:10 +00002913
Richard Smith081ad4d2017-01-24 19:39:46 +00002914.. option:: -mexecute-only, -mno-execute-only, -mpure-code
2915
2916Disallow generation of data access to code sections (ARM only)
2917
Richard Smith081ad4d2017-01-24 19:39:46 +00002918.. option:: -mno-movt
2919
2920Disallow use of movt/movw pairs (ARM only)
2921
Richard Smith78e23fd2017-04-13 22:39:49 +00002922.. option:: -mno-neg-immediates
2923
2924Disallow converting instructions with negative immediates to their negation or inversion.
2925
Richard Smith081ad4d2017-01-24 19:39:46 +00002926.. option:: -mnocrc
2927
2928Disallow use of CRC instructions (ARM only)
2929
Richard Smith081ad4d2017-01-24 19:39:46 +00002930.. option:: -mrestrict-it, -mno-restrict-it
2931
2932Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
2933
Craig Topper16418662017-11-20 18:07:43 +00002934.. option:: -mtp=<arg>
2935
Craig Topper9624beb2020-03-10 11:08:19 -07002936Thread pointer access method (AArch32/AArch64 only)
Craig Topper16418662017-11-20 18:07:43 +00002937
Richard Smith081ad4d2017-01-24 19:39:46 +00002938.. option:: -munaligned-access, -mno-unaligned-access
2939
2940Allow memory accesses to be unaligned (AArch32/AArch64 only)
2941
2942Hexagon
2943-------
Craig Topper16418662017-11-20 18:07:43 +00002944.. option:: -mieee-rnd-near
2945
Vedant Kumar368540f2018-08-23 17:55:03 +00002946.. option:: -mmemops, -mno-memops
2947
2948Enable generation of memop instructions
2949
2950.. option:: -mnvj, -mno-nvj
2951
2952Enable generation of new-value jumps
2953
2954.. option:: -mnvs, -mno-nvs
2955
2956Enable generation of new-value stores
2957
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00002958.. option:: -mpackets, -mno-packets
2959
2960Enable generation of instruction packets
2961
Craig Topper16418662017-11-20 18:07:43 +00002962Hexagon
2963-------
Richard Smith081ad4d2017-01-24 19:39:46 +00002964.. option:: -mhvx, -mno-hvx
2965
2966Enable Hexagon Vector eXtensions
2967
Craig Topper16418662017-11-20 18:07:43 +00002968.. option:: -mhvx-length=<arg>
2969
2970Set Hexagon Vector Length
2971
2972.. program:: clang1
2973.. option:: -mhvx=<arg>
2974.. program:: clang
2975
2976Enable Hexagon Vector eXtensions
Richard Smith081ad4d2017-01-24 19:39:46 +00002977
Vedant Kumar368540f2018-08-23 17:55:03 +00002978MIPS
2979----
2980.. option:: -mabicalls, -mno-abicalls
2981
2982Enable SVR4-style position-independent code (Mips only)
2983
2984.. option:: -mabs=<arg>
2985
2986.. option:: -mcheck-zero-division, -mno-check-zero-division
2987
2988.. option:: -mcompact-branches=<arg>
2989
2990.. option:: -mdouble-float
2991
2992.. option:: -mdsp, -mno-dsp
2993
2994.. option:: -mdspr2, -mno-dspr2
2995
2996.. option:: -membedded-data, -mno-embedded-data
2997
2998Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
2999
3000.. option:: -mextern-sdata, -mno-extern-sdata
3001
3002Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
3003
3004.. option:: -mfp32
3005
3006Use 32-bit floating point registers (MIPS only)
3007
3008.. option:: -mfp64
3009
3010Use 64-bit floating point registers (MIPS only)
3011
3012.. option:: -mginv, -mno-ginv
3013
3014.. option:: -mgpopt, -mno-gpopt
3015
3016Use GP relative accesses for symbols known to be in a small data section (MIPS)
3017
3018.. option:: -mindirect-jump=<arg>
3019
3020Change indirect jump instructions to inhibit speculation
3021
3022.. option:: -mips16
3023
3024.. option:: -mldc1-sdc1, -mno-ldc1-sdc1
3025
3026.. option:: -mlocal-sdata, -mno-local-sdata
3027
3028Extend the -G behaviour to object local data (MIPS)
3029
3030.. option:: -mmadd4, -mno-madd4
3031
3032Enable the generation of 4-operand madd.s, madd.d and related instructions.
3033
3034.. option:: -mmicromips, -mno-micromips
3035
3036.. option:: -mmsa, -mno-msa
3037
3038Enable MSA ASE (MIPS only)
3039
3040.. option:: -mmt, -mno-mt
3041
3042Enable MT ASE (MIPS only)
3043
3044.. option:: -mnan=<arg>
3045
3046.. option:: -mno-mips16
3047
3048.. option:: -msingle-float
3049
3050.. option:: -mvirt, -mno-virt
3051
3052.. option:: -mxgot, -mno-xgot
3053
Richard Smith081ad4d2017-01-24 19:39:46 +00003054PowerPC
3055-------
Richard Smith78e23fd2017-04-13 22:39:49 +00003056.. option:: -maltivec, -mno-altivec
3057
Richard Smith081ad4d2017-01-24 19:39:46 +00003058.. option:: -mcmpb, -mno-cmpb
3059
Richard Smith081ad4d2017-01-24 19:39:46 +00003060.. option:: -mcrbits, -mno-crbits
3061
Richard Smith081ad4d2017-01-24 19:39:46 +00003062.. option:: -mcrypto, -mno-crypto
3063
Richard Smith081ad4d2017-01-24 19:39:46 +00003064.. option:: -mdirect-move, -mno-direct-move
3065
Richard Smith081ad4d2017-01-24 19:39:46 +00003066.. option:: -mfloat128, -mno-float128
3067
Richard Smith081ad4d2017-01-24 19:39:46 +00003068.. option:: -mfprnd, -mno-fprnd
3069
Richard Smith081ad4d2017-01-24 19:39:46 +00003070.. option:: -mhtm, -mno-htm
3071
Richard Smith081ad4d2017-01-24 19:39:46 +00003072.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors
3073
Richard Smith081ad4d2017-01-24 19:39:46 +00003074.. option:: -misel, -mno-isel
3075
Richard Smith081ad4d2017-01-24 19:39:46 +00003076.. option:: -mlongcall, -mno-longcall
3077
Richard Smith081ad4d2017-01-24 19:39:46 +00003078.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf
3079
Fangrui Songd8c97292020-06-18 14:52:39 -07003080.. option:: -mpcrel, -mno-pcrel
3081
Richard Smith081ad4d2017-01-24 19:39:46 +00003082.. option:: -mpopcntd, -mno-popcntd
3083
Fangrui Songd8c97292020-06-18 14:52:39 -07003084.. option:: -mpower10-vector, -mno-power10-vector
3085
Richard Smith081ad4d2017-01-24 19:39:46 +00003086.. option:: -mpower8-vector, -mno-power8-vector
3087
Richard Smith081ad4d2017-01-24 19:39:46 +00003088.. option:: -mpower9-vector, -mno-power9-vector
3089
Richard Smith081ad4d2017-01-24 19:39:46 +00003090.. option:: -mqpx, -mno-qpx
3091
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003092.. option:: -msecure-plt
3093
Craig Topper9624beb2020-03-10 11:08:19 -07003094.. option:: -mspe, -mno-spe
3095
Richard Smith081ad4d2017-01-24 19:39:46 +00003096.. option:: -mvsx, -mno-vsx
3097
3098WebAssembly
3099-----------
Craig Topper9624beb2020-03-10 11:08:19 -07003100.. option:: -matomics, -mno-atomics
3101
3102.. option:: -mbulk-memory, -mno-bulk-memory
3103
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003104.. option:: -mexception-handling, -mno-exception-handling
3105
Craig Topper9624beb2020-03-10 11:08:19 -07003106.. option:: -mmultivalue, -mno-multivalue
3107
3108.. option:: -mmutable-globals, -mno-mutable-globals
3109
Craig Topper188252d2017-12-11 21:09:16 +00003110.. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint
3111
Craig Topper9624beb2020-03-10 11:08:19 -07003112.. option:: -mreference-types, -mno-reference-types
3113
Dan Gohmand0c4e1e2018-01-19 17:16:32 +00003114.. option:: -msign-ext, -mno-sign-ext
3115
Richard Smith081ad4d2017-01-24 19:39:46 +00003116.. option:: -msimd128, -mno-simd128
3117
Craig Topper9624beb2020-03-10 11:08:19 -07003118.. option:: -mtail-call, -mno-tail-call
3119
3120.. option:: -munimplemented-simd128, -mno-unimplemented-simd128
3121
Fangrui Songd8c97292020-06-18 14:52:39 -07003122WebAssembly Driver
3123------------------
Dan Gohmand4964372020-04-21 10:35:10 -07003124.. option:: -mexec-model=<arg>
3125
Fangrui Songd8c97292020-06-18 14:52:39 -07003126Execution model (WebAssembly only)
Dan Gohmand4964372020-04-21 10:35:10 -07003127
Richard Smith081ad4d2017-01-24 19:39:46 +00003128X86
3129---
Richard Smith081ad4d2017-01-24 19:39:46 +00003130.. option:: -m3dnow, -mno-3dnow
3131
Richard Smith081ad4d2017-01-24 19:39:46 +00003132.. option:: -m3dnowa, -mno-3dnowa
3133
Richard Smith081ad4d2017-01-24 19:39:46 +00003134.. option:: -madx, -mno-adx
3135
Richard Smith081ad4d2017-01-24 19:39:46 +00003136.. option:: -maes, -mno-aes
3137
Xiang1 Zhang939d8302020-07-07 09:50:17 +08003138.. option:: -mamx-bf16, -mno-amx-bf16
3139
3140.. option:: -mamx-int8, -mno-amx-int8
3141
3142.. option:: -mamx-tile, -mno-amx-tile
3143
Richard Smith081ad4d2017-01-24 19:39:46 +00003144.. option:: -mavx, -mno-avx
3145
Richard Smith081ad4d2017-01-24 19:39:46 +00003146.. option:: -mavx2, -mno-avx2
3147
Luo, Yuanke844f6622019-05-06 08:25:11 +00003148.. option:: -mavx512bf16, -mno-avx512bf16
3149
Craig Topper9624beb2020-03-10 11:08:19 -07003150.. option:: -mavx512bitalg, -mno-avx512bitalg
3151
Richard Smith081ad4d2017-01-24 19:39:46 +00003152.. option:: -mavx512bw, -mno-avx512bw
3153
Richard Smith081ad4d2017-01-24 19:39:46 +00003154.. option:: -mavx512cd, -mno-avx512cd
3155
Richard Smith081ad4d2017-01-24 19:39:46 +00003156.. option:: -mavx512dq, -mno-avx512dq
3157
Richard Smith081ad4d2017-01-24 19:39:46 +00003158.. option:: -mavx512er, -mno-avx512er
3159
Richard Smith081ad4d2017-01-24 19:39:46 +00003160.. option:: -mavx512f, -mno-avx512f
3161
Richard Smith081ad4d2017-01-24 19:39:46 +00003162.. option:: -mavx512ifma, -mno-avx512ifma
3163
Richard Smith081ad4d2017-01-24 19:39:46 +00003164.. option:: -mavx512pf, -mno-avx512pf
3165
Richard Smith081ad4d2017-01-24 19:39:46 +00003166.. option:: -mavx512vbmi, -mno-avx512vbmi
3167
Craig Topper287c8012018-01-03 18:29:12 +00003168.. option:: -mavx512vbmi2, -mno-avx512vbmi2
3169
Richard Smith081ad4d2017-01-24 19:39:46 +00003170.. option:: -mavx512vl, -mno-avx512vl
3171
Craig Topper287c8012018-01-03 18:29:12 +00003172.. option:: -mavx512vnni, -mno-avx512vnni
3173
Pengfei Wangcc3629d2019-05-31 06:09:35 +00003174.. option:: -mavx512vp2intersect, -mno-avx512vp2intersect
3175
Craig Topperd23254a2017-07-20 17:52:48 +00003176.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq
3177
Richard Smith081ad4d2017-01-24 19:39:46 +00003178.. option:: -mbmi, -mno-bmi
3179
Richard Smith081ad4d2017-01-24 19:39:46 +00003180.. option:: -mbmi2, -mno-bmi2
3181
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003182.. option:: -mcldemote, -mno-cldemote
3183
Craig Topper78b47872017-02-08 06:48:58 +00003184.. option:: -mclflushopt, -mno-clflushopt
3185
Craig Topper177a57c2017-02-08 07:57:01 +00003186.. option:: -mclwb, -mno-clwb
3187
Richard Smith78e23fd2017-04-13 22:39:49 +00003188.. option:: -mclzero, -mno-clzero
3189
Richard Smith081ad4d2017-01-24 19:39:46 +00003190.. option:: -mcx16, -mno-cx16
3191
Pengfei Wang3a29f7c2019-06-06 08:28:42 +00003192.. option:: -menqcmd, -mno-enqcmd
3193
Richard Smith081ad4d2017-01-24 19:39:46 +00003194.. option:: -mf16c, -mno-f16c
3195
Richard Smith081ad4d2017-01-24 19:39:46 +00003196.. option:: -mfma, -mno-fma
3197
Richard Smith081ad4d2017-01-24 19:39:46 +00003198.. option:: -mfma4, -mno-fma4
3199
Richard Smith081ad4d2017-01-24 19:39:46 +00003200.. option:: -mfsgsbase, -mno-fsgsbase
3201
Richard Smith081ad4d2017-01-24 19:39:46 +00003202.. option:: -mfxsr, -mno-fxsr
3203
Craig Topper287c8012018-01-03 18:29:12 +00003204.. option:: -mgfni, -mno-gfni
3205
Vedant Kumar368540f2018-08-23 17:55:03 +00003206.. option:: -minvpcid, -mno-invpcid
3207
Craig Topperd23254a2017-07-20 17:52:48 +00003208.. option:: -mlwp, -mno-lwp
3209
Richard Smith081ad4d2017-01-24 19:39:46 +00003210.. option:: -mlzcnt, -mno-lzcnt
3211
Richard Smith081ad4d2017-01-24 19:39:46 +00003212.. option:: -mmmx, -mno-mmx
3213
Craig Topper177a57c2017-02-08 07:57:01 +00003214.. option:: -mmovbe, -mno-movbe
3215
Gabor Buellaa51e0c22018-05-01 10:05:42 +00003216.. option:: -mmovdir64b, -mno-movdir64b
3217
Vedant Kumar368540f2018-08-23 17:55:03 +00003218.. option:: -mmovdiri, -mno-movdiri
3219
Richard Smith081ad4d2017-01-24 19:39:46 +00003220.. option:: -mmwaitx, -mno-mwaitx
3221
Richard Smith081ad4d2017-01-24 19:39:46 +00003222.. option:: -mpclmul, -mno-pclmul
3223
Vedant Kumar368540f2018-08-23 17:55:03 +00003224.. option:: -mpconfig, -mno-pconfig
3225
Richard Smith081ad4d2017-01-24 19:39:46 +00003226.. option:: -mpku, -mno-pku
3227
Richard Smith081ad4d2017-01-24 19:39:46 +00003228.. option:: -mpopcnt, -mno-popcnt
3229
Craig Topperd2bf7b02017-02-08 08:23:40 +00003230.. option:: -mprefetchwt1, -mno-prefetchwt1
3231
Richard Smith081ad4d2017-01-24 19:39:46 +00003232.. option:: -mprfchw, -mno-prfchw
3233
Vedant Kumar368540f2018-08-23 17:55:03 +00003234.. option:: -mptwrite, -mno-ptwrite
3235
Craig Topper596527b2018-01-23 18:40:15 +00003236.. option:: -mrdpid, -mno-rdpid
3237
Richard Smith081ad4d2017-01-24 19:39:46 +00003238.. option:: -mrdrnd, -mno-rdrnd
3239
Richard Smith081ad4d2017-01-24 19:39:46 +00003240.. option:: -mrdseed, -mno-rdseed
3241
Craig Topper596527b2018-01-23 18:40:15 +00003242.. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk
3243
Richard Smith081ad4d2017-01-24 19:39:46 +00003244.. option:: -mrtm, -mno-rtm
3245
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00003246.. option:: -msahf, -mno-sahf
3247
WangTianQingd08fadd2020-04-02 16:15:34 +08003248.. option:: -mserialize, -mno-serialize
3249
Craig Topper204ecff2017-02-08 08:23:17 +00003250.. option:: -msgx, -mno-sgx
3251
Richard Smith081ad4d2017-01-24 19:39:46 +00003252.. option:: -msha, -mno-sha
3253
Craig Topper188252d2017-12-11 21:09:16 +00003254.. option:: -mshstk, -mno-shstk
3255
Richard Smith081ad4d2017-01-24 19:39:46 +00003256.. option:: -msse, -mno-sse
3257
Richard Smith081ad4d2017-01-24 19:39:46 +00003258.. option:: -msse2, -mno-sse2
3259
Richard Smith081ad4d2017-01-24 19:39:46 +00003260.. option:: -msse3, -mno-sse3
3261
Richard Smith081ad4d2017-01-24 19:39:46 +00003262.. option:: -msse4.1, -mno-sse4.1
3263
Richard Smithb2c82a62017-01-27 01:54:42 +00003264.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00003265.. option:: -msse4.2, -mno-sse4.2, -msse4
Richard Smithb2c82a62017-01-27 01:54:42 +00003266.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00003267
Richard Smith081ad4d2017-01-24 19:39:46 +00003268.. option:: -msse4a, -mno-sse4a
3269
Richard Smith081ad4d2017-01-24 19:39:46 +00003270.. option:: -mssse3, -mno-ssse3
3271
Richard Smith081ad4d2017-01-24 19:39:46 +00003272.. option:: -mtbm, -mno-tbm
3273
WangTianQinga3dc9492020-04-09 13:15:42 +08003274.. option:: -mtsxldtrk, -mno-tsxldtrk
3275
Craig Topper287c8012018-01-03 18:29:12 +00003276.. option:: -mvaes, -mno-vaes
3277
3278.. option:: -mvpclmulqdq, -mno-vpclmulqdq
3279
Craig Topper9624beb2020-03-10 11:08:19 -07003280.. option:: -mvzeroupper, -mno-vzeroupper
3281
Craig Topper42da9cb2018-04-23 21:41:06 +00003282.. option:: -mwaitpkg, -mno-waitpkg
3283
Gabor Buellaa0520162018-04-11 20:09:09 +00003284.. option:: -mwbnoinvd, -mno-wbnoinvd
3285
Richard Smith081ad4d2017-01-24 19:39:46 +00003286.. option:: -mx87, -m80387, -mno-x87
3287
Richard Smith081ad4d2017-01-24 19:39:46 +00003288.. option:: -mxop, -mno-xop
3289
Richard Smith081ad4d2017-01-24 19:39:46 +00003290.. option:: -mxsave, -mno-xsave
3291
Richard Smith081ad4d2017-01-24 19:39:46 +00003292.. option:: -mxsavec, -mno-xsavec
3293
Richard Smith081ad4d2017-01-24 19:39:46 +00003294.. option:: -mxsaveopt, -mno-xsaveopt
3295
Richard Smith081ad4d2017-01-24 19:39:46 +00003296.. option:: -mxsaves, -mno-xsaves
3297
Vedant Kumar368540f2018-08-23 17:55:03 +00003298RISCV
3299-----
3300.. option:: -mrelax, -mno-relax
3301
3302Enable linker relaxation
3303
Craig Topper9624beb2020-03-10 11:08:19 -07003304.. option:: -msave-restore, -mno-save-restore
3305
3306Enable using library calls for save and restore
3307
3308Long double flags
3309-----------------
3310Selects the long double implementation
3311
3312.. option:: -mlong-double-128
3313
3314Force long double to be 128 bits
3315
3316.. option:: -mlong-double-64
3317
3318Force long double to be 64 bits
3319
3320.. option:: -mlong-double-80
3321
3322Force long double to be 80 bits, padded to 128 bits for storage
3323
Richard Smith081ad4d2017-01-24 19:39:46 +00003324Optimization level
3325~~~~~~~~~~~~~~~~~~
3326
3327Flags controlling how much optimization should be performed.
3328
Fangrui Songd8c97292020-06-18 14:52:39 -07003329.. option:: -O<arg>, -O (equivalent to -O1), --optimize, --optimize=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00003330
Richard Smith081ad4d2017-01-24 19:39:46 +00003331.. option:: -Ofast<arg>
3332
3333Debug information generation
3334~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3335
3336Flags controlling how much and what kind of debug information should be
3337generated.
3338
3339Kind and level of debug information
3340-----------------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00003341.. option:: -g, --debug, --debug=<arg>
3342
3343Generate source-level debug information
3344
Craig Topper9624beb2020-03-10 11:08:19 -07003345.. option:: -gdwarf
3346
3347Generate source-level debug information with the default dwarf version
3348
Richard Smith081ad4d2017-01-24 19:39:46 +00003349.. option:: -gdwarf-2
3350
3351Generate source-level debug information with dwarf version 2
3352
Richard Smith081ad4d2017-01-24 19:39:46 +00003353.. option:: -gdwarf-3
3354
3355Generate source-level debug information with dwarf version 3
3356
Craig Topper9624beb2020-03-10 11:08:19 -07003357.. option:: -gdwarf-4
Richard Smith081ad4d2017-01-24 19:39:46 +00003358
3359Generate source-level debug information with dwarf version 4
3360
Richard Smith081ad4d2017-01-24 19:39:46 +00003361.. option:: -gdwarf-5
3362
3363Generate source-level debug information with dwarf version 5
3364
Richard Smith081ad4d2017-01-24 19:39:46 +00003365.. option:: -gfull
3366
Richard Smith081ad4d2017-01-24 19:39:46 +00003367.. option:: -gused
3368
3369Debug level
3370___________
Richard Smith081ad4d2017-01-24 19:39:46 +00003371.. option:: -g0
3372
Richard Smith081ad4d2017-01-24 19:39:46 +00003373.. option:: -g2
3374
Richard Smith081ad4d2017-01-24 19:39:46 +00003375.. option:: -g3
3376
Richard Smith081ad4d2017-01-24 19:39:46 +00003377.. option:: -ggdb0
3378
Richard Smith081ad4d2017-01-24 19:39:46 +00003379.. option:: -ggdb1
3380
Richard Smith081ad4d2017-01-24 19:39:46 +00003381.. option:: -ggdb2
3382
Richard Smith081ad4d2017-01-24 19:39:46 +00003383.. option:: -ggdb3
3384
Craig Topper9624beb2020-03-10 11:08:19 -07003385.. option:: -gline-directives-only
3386
3387Emit debug line info directives only
3388
Richard Smith081ad4d2017-01-24 19:39:46 +00003389.. option:: -gline-tables-only, -g1, -gmlt
3390
3391Emit debug line number tables only
3392
Richard Smith081ad4d2017-01-24 19:39:46 +00003393.. option:: -gmodules
3394
3395Generate debug info with external references to clang modules or precompiled headers
3396
3397Debugger to tune debug information for
3398______________________________________
Richard Smith081ad4d2017-01-24 19:39:46 +00003399.. option:: -ggdb
3400
Richard Smith081ad4d2017-01-24 19:39:46 +00003401.. option:: -glldb
3402
Richard Smith081ad4d2017-01-24 19:39:46 +00003403.. option:: -gsce
3404
3405Debug information flags
3406-----------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00003407.. option:: -gcolumn-info, -gno-column-info
3408
Richard Smith081ad4d2017-01-24 19:39:46 +00003409.. option:: -gdwarf-aranges
3410
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003411.. option:: -gembed-source, -gno-embed-source
Scott Lindera2fbcef2018-02-26 17:32:31 +00003412
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003413Embed source text in DWARF debug sections
Scott Lindera2fbcef2018-02-26 17:32:31 +00003414
Vedant Kumar368540f2018-08-23 17:55:03 +00003415.. option:: -ggnu-pubnames, -gno-gnu-pubnames
3416
3417.. option:: -gpubnames, -gno-pubnames
Richard Smith081ad4d2017-01-24 19:39:46 +00003418
Craig Topper9624beb2020-03-10 11:08:19 -07003419.. option:: -grecord-command-line, -gno-record-command-line, -grecord-gcc-switches
Richard Smith081ad4d2017-01-24 19:39:46 +00003420
Richard Smith081ad4d2017-01-24 19:39:46 +00003421.. option:: -gsplit-dwarf
3422
Craig Topper9624beb2020-03-10 11:08:19 -07003423.. program:: clang1
3424.. option:: -gsplit-dwarf=<arg>
3425.. program:: clang
3426
3427Set DWARF fission mode to either 'split' or 'single'
3428
Richard Smith081ad4d2017-01-24 19:39:46 +00003429.. option:: -gstrict-dwarf, -gno-strict-dwarf
3430
Craig Topperd23254a2017-07-20 17:52:48 +00003431.. option:: -gz
3432
3433DWARF debug sections compression type
3434
3435.. program:: clang1
3436.. option:: -gz=<arg>
3437.. program:: clang
3438
3439DWARF debug sections compression type
3440
Richard Smithc5b2e002017-01-27 02:08:37 +00003441Static analyzer flags
3442=====================
Richard Smith081ad4d2017-01-24 19:39:46 +00003443
Richard Smithc5b2e002017-01-27 02:08:37 +00003444Flags controlling the behavior of the Clang Static Analyzer.
Richard Smith081ad4d2017-01-24 19:39:46 +00003445
Richard Smithc5b2e002017-01-27 02:08:37 +00003446.. option:: -Xanalyzer <arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00003447
Richard Smithc5b2e002017-01-27 02:08:37 +00003448Pass <arg> to the static analyzer
Richard Smith081ad4d2017-01-24 19:39:46 +00003449
3450Fortran compilation flags
3451=========================
3452
3453Flags that will be passed onto the ``gfortran`` compiler when Clang is given
3454a Fortran input.
3455
Richard Smithc5b2e002017-01-27 02:08:37 +00003456.. option:: -A<arg>, --assert <arg>, --assert=<arg>
3457
Richard Smith081ad4d2017-01-24 19:39:46 +00003458.. option:: -A-<arg>
3459
Richard Smith081ad4d2017-01-24 19:39:46 +00003460.. option:: -J<arg>
3461
Richard Smith081ad4d2017-01-24 19:39:46 +00003462.. option:: -cpp
3463
Richard Smith081ad4d2017-01-24 19:39:46 +00003464.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination
3465
Richard Smith081ad4d2017-01-24 19:39:46 +00003466.. option:: -falign-commons, -fno-align-commons
3467
Richard Smith081ad4d2017-01-24 19:39:46 +00003468.. option:: -fall-intrinsics, -fno-all-intrinsics
3469
Richard Smith081ad4d2017-01-24 19:39:46 +00003470.. option:: -fautomatic, -fno-automatic
3471
Richard Smith081ad4d2017-01-24 19:39:46 +00003472.. option:: -fbackslash, -fno-backslash
3473
Richard Smith081ad4d2017-01-24 19:39:46 +00003474.. option:: -fbacktrace, -fno-backtrace
3475
Richard Smith081ad4d2017-01-24 19:39:46 +00003476.. option:: -fblas-matmul-limit=<arg>
3477
Richard Smith081ad4d2017-01-24 19:39:46 +00003478.. option:: -fbounds-check, -fno-bounds-check
3479
Richard Smith081ad4d2017-01-24 19:39:46 +00003480.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries
3481
Richard Smith081ad4d2017-01-24 19:39:46 +00003482.. option:: -fcheck=<arg>
3483
Richard Smith081ad4d2017-01-24 19:39:46 +00003484.. option:: -fcoarray=<arg>
3485
Richard Smith081ad4d2017-01-24 19:39:46 +00003486.. option:: -fconvert=<arg>
3487
Richard Smith081ad4d2017-01-24 19:39:46 +00003488.. option:: -fcray-pointer, -fno-cray-pointer
3489
Richard Smith081ad4d2017-01-24 19:39:46 +00003490.. option:: -fd-lines-as-code, -fno-d-lines-as-code
3491
Richard Smith081ad4d2017-01-24 19:39:46 +00003492.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments
3493
Richard Smith081ad4d2017-01-24 19:39:46 +00003494.. option:: -fdefault-double-8, -fno-default-double-8
3495
Richard Smith081ad4d2017-01-24 19:39:46 +00003496.. option:: -fdefault-integer-8, -fno-default-integer-8
3497
Richard Smith081ad4d2017-01-24 19:39:46 +00003498.. option:: -fdefault-real-8, -fno-default-real-8
3499
Richard Smith081ad4d2017-01-24 19:39:46 +00003500.. option:: -fdollar-ok, -fno-dollar-ok
3501
Richard Smith081ad4d2017-01-24 19:39:46 +00003502.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized
3503
Richard Smith081ad4d2017-01-24 19:39:46 +00003504.. option:: -fdump-fortran-original, -fno-dump-fortran-original
3505
Richard Smith081ad4d2017-01-24 19:39:46 +00003506.. option:: -fdump-parse-tree, -fno-dump-parse-tree
3507
Richard Smith081ad4d2017-01-24 19:39:46 +00003508.. option:: -fexternal-blas, -fno-external-blas
3509
Richard Smith081ad4d2017-01-24 19:39:46 +00003510.. option:: -ff2c, -fno-f2c
3511
Richard Smith081ad4d2017-01-24 19:39:46 +00003512.. option:: -ffixed-form, -fno-fixed-form
3513
Richard Smith081ad4d2017-01-24 19:39:46 +00003514.. option:: -ffixed-line-length-<arg>
3515
Richard Smith081ad4d2017-01-24 19:39:46 +00003516.. option:: -ffpe-trap=<arg>
3517
Richard Smith081ad4d2017-01-24 19:39:46 +00003518.. option:: -ffree-form, -fno-free-form
3519
Richard Smith081ad4d2017-01-24 19:39:46 +00003520.. option:: -ffree-line-length-<arg>
3521
Richard Smith081ad4d2017-01-24 19:39:46 +00003522.. option:: -ffrontend-optimize, -fno-frontend-optimize
3523
Richard Smith081ad4d2017-01-24 19:39:46 +00003524.. option:: -fimplicit-none, -fno-implicit-none
3525
Richard Smith081ad4d2017-01-24 19:39:46 +00003526.. option:: -finit-character=<arg>
3527
Richard Smith081ad4d2017-01-24 19:39:46 +00003528.. option:: -finit-integer=<arg>
3529
Richard Smith081ad4d2017-01-24 19:39:46 +00003530.. option:: -finit-local-zero, -fno-init-local-zero
3531
Richard Smith081ad4d2017-01-24 19:39:46 +00003532.. option:: -finit-logical=<arg>
3533
Richard Smith081ad4d2017-01-24 19:39:46 +00003534.. option:: -finit-real=<arg>
3535
Richard Smith081ad4d2017-01-24 19:39:46 +00003536.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8
3537
Richard Smith081ad4d2017-01-24 19:39:46 +00003538.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path
3539
Richard Smith081ad4d2017-01-24 19:39:46 +00003540.. option:: -fmax-array-constructor=<arg>
3541
Richard Smith081ad4d2017-01-24 19:39:46 +00003542.. option:: -fmax-errors=<arg>
3543
Richard Smith081ad4d2017-01-24 19:39:46 +00003544.. option:: -fmax-identifier-length, -fno-max-identifier-length
3545
Richard Smith081ad4d2017-01-24 19:39:46 +00003546.. option:: -fmax-stack-var-size=<arg>
3547
Richard Smith081ad4d2017-01-24 19:39:46 +00003548.. option:: -fmax-subrecord-length=<arg>
3549
Richard Smith081ad4d2017-01-24 19:39:46 +00003550.. option:: -fmodule-private, -fno-module-private
3551
Richard Smith081ad4d2017-01-24 19:39:46 +00003552.. option:: -fpack-derived, -fno-pack-derived
3553
Richard Smith081ad4d2017-01-24 19:39:46 +00003554.. option:: -fprotect-parens, -fno-protect-parens
3555
Richard Smith081ad4d2017-01-24 19:39:46 +00003556.. option:: -frange-check, -fno-range-check
3557
Richard Smith081ad4d2017-01-24 19:39:46 +00003558.. option:: -freal-4-real-10, -fno-real-4-real-10
3559
Richard Smith081ad4d2017-01-24 19:39:46 +00003560.. option:: -freal-4-real-16, -fno-real-4-real-16
3561
Richard Smith081ad4d2017-01-24 19:39:46 +00003562.. option:: -freal-4-real-8, -fno-real-4-real-8
3563
Richard Smith081ad4d2017-01-24 19:39:46 +00003564.. option:: -freal-8-real-10, -fno-real-8-real-10
3565
Richard Smith081ad4d2017-01-24 19:39:46 +00003566.. option:: -freal-8-real-16, -fno-real-8-real-16
3567
Richard Smith081ad4d2017-01-24 19:39:46 +00003568.. option:: -freal-8-real-4, -fno-real-8-real-4
3569
Richard Smith081ad4d2017-01-24 19:39:46 +00003570.. option:: -frealloc-lhs, -fno-realloc-lhs
3571
Richard Smith081ad4d2017-01-24 19:39:46 +00003572.. option:: -frecord-marker=<arg>
3573
Richard Smith081ad4d2017-01-24 19:39:46 +00003574.. option:: -frecursive, -fno-recursive
3575
Richard Smith081ad4d2017-01-24 19:39:46 +00003576.. option:: -frepack-arrays, -fno-repack-arrays
3577
Richard Smith081ad4d2017-01-24 19:39:46 +00003578.. option:: -fsecond-underscore, -fno-second-underscore
3579
Richard Smith081ad4d2017-01-24 19:39:46 +00003580.. option:: -fsign-zero, -fno-sign-zero
3581
Richard Smith081ad4d2017-01-24 19:39:46 +00003582.. option:: -fstack-arrays, -fno-stack-arrays
3583
Richard Smith081ad4d2017-01-24 19:39:46 +00003584.. option:: -funderscoring, -fno-underscoring
3585
Richard Smith081ad4d2017-01-24 19:39:46 +00003586.. option:: -fwhole-file, -fno-whole-file
3587
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003588.. option:: -imultilib <arg>
3589
Richard Smith081ad4d2017-01-24 19:39:46 +00003590.. option:: -nocpp
3591
Richard Smith081ad4d2017-01-24 19:39:46 +00003592.. option:: -static-libgfortran
3593
Richard Smithc5b2e002017-01-27 02:08:37 +00003594Linker flags
3595============
3596Flags that are passed on to the linker
3597
3598.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>
3599
3600Add directory to library search path
3601
3602.. option:: -Mach
3603
3604.. option:: -T<script>
3605
3606Specify <script> as linker script
3607
Richard Smith78e23fd2017-04-13 22:39:49 +00003608.. option:: -Tbss<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003609
3610Set starting address of BSS to <addr>
3611
Richard Smith78e23fd2017-04-13 22:39:49 +00003612.. option:: -Tdata<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003613
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003614Set starting address of DATA to <addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003615
Richard Smith78e23fd2017-04-13 22:39:49 +00003616.. option:: -Ttext<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003617
Jonas Hahnfeld06039e82018-04-20 13:26:03 +00003618Set starting address of TEXT to <addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00003619
3620.. option:: -Wl,<arg>,<arg2>...
3621
3622Pass the comma separated arguments in <arg> to the linker
3623
3624.. option:: -X
3625
3626.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>
3627
3628Pass <arg> to the linker
3629
3630.. program:: clang1
3631.. option:: -Z
3632.. program:: clang
3633
3634.. option:: -e<arg>, --entry
3635
3636.. option:: -filelist <arg>
3637
Vedant Kumar368540f2018-08-23 17:55:03 +00003638.. option:: --hip-device-lib-path=<arg>
3639
Fangrui Songd8c97292020-06-18 14:52:39 -07003640HIP device library path. Alternative to rocm-path.
Vedant Kumar368540f2018-08-23 17:55:03 +00003641
3642.. option:: --hip-device-lib=<arg>
3643
3644HIP device library
3645
Richard Smithc5b2e002017-01-27 02:08:37 +00003646.. option:: -l<arg>
3647
3648.. option:: -r
3649
3650.. option:: -rpath <arg>
3651
3652.. option:: -s
3653
3654.. option:: -t
3655
3656.. option:: -u<arg>, --force-link <arg>, --force-link=<arg>
3657
3658.. option:: -undef
3659
3660undef all system defines
3661
3662.. option:: -undefined<arg>, --no-undefined
3663
3664.. option:: -z <arg>
3665
3666Pass -z <arg> to the linker
3667