blob: 595909eef077d977223dbc89183c699b152167be [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
Richard Smith081ad4d2017-01-24 19:39:46 +000039.. option:: -Qunused-arguments
40
41Don't emit warning for unused driver arguments
42
Richard Smith081ad4d2017-01-24 19:39:46 +000043.. option:: -Wa,<arg>,<arg2>...
44
45Pass the comma separated arguments in <arg> to the assembler
46
Richard Smith081ad4d2017-01-24 19:39:46 +000047.. option:: -Wlarge-by-value-copy=<arg>
48
Richard Smith081ad4d2017-01-24 19:39:46 +000049.. option:: -Xarch\_<arg1> <arg2>
50
Richard Smith081ad4d2017-01-24 19:39:46 +000051.. option:: -Xcuda-fatbinary <arg>
52
53Pass <arg> to fatbinary invocation
54
Richard Smith081ad4d2017-01-24 19:39:46 +000055.. option:: -Xcuda-ptxas <arg>
56
57Pass <arg> to the ptxas assembler
58
Boris Kolpackovb150d242017-08-30 09:15:53 +000059.. option:: -Xopenmp-target <arg>
60
61Pass <arg> to the target offloading toolchain.
62
63.. program:: clang1
Jonas Hahnfelda180fc42018-02-22 17:10:28 +000064.. option:: -Xopenmp-target=<triple> <arg>
Boris Kolpackovb150d242017-08-30 09:15:53 +000065.. program:: clang
66
Jonas Hahnfelda180fc42018-02-22 17:10:28 +000067Pass <arg> to the target offloading toolchain identified by <triple>.
Boris Kolpackovb150d242017-08-30 09:15:53 +000068
Richard Smith081ad4d2017-01-24 19:39:46 +000069.. option:: -Z<arg>
70
Richard Smith081ad4d2017-01-24 19:39:46 +000071.. option:: -a<arg>, --profile-blocks
72
Richard Smith081ad4d2017-01-24 19:39:46 +000073.. option:: -all\_load
74
Richard Smith081ad4d2017-01-24 19:39:46 +000075.. option:: -allowable\_client <arg>
76
Richard Smith081ad4d2017-01-24 19:39:46 +000077.. option:: --analyze
78
79Run the static analyzer
80
Richard Smith081ad4d2017-01-24 19:39:46 +000081.. option:: --analyze-auto
82
Richard Smith081ad4d2017-01-24 19:39:46 +000083.. option:: --analyzer-no-default-checks
84
Richard Smith081ad4d2017-01-24 19:39:46 +000085.. option:: --analyzer-output<arg>
86
87Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|text).
88
Richard Smith081ad4d2017-01-24 19:39:46 +000089.. option:: -ansi, --ansi
90
Richard Smith081ad4d2017-01-24 19:39:46 +000091.. option:: -arch <arg>
92
Richard Smithb2c82a62017-01-27 01:54:42 +000093.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +000094.. option:: -arch\_errors\_fatal
Richard Smithb2c82a62017-01-27 01:54:42 +000095.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +000096
Richard Smithb2c82a62017-01-27 01:54:42 +000097.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +000098.. option:: -arch\_only <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +000099.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000100
Richard Smith081ad4d2017-01-24 19:39:46 +0000101.. option:: -arcmt-migrate-emit-errors
102
103Emit ARC errors even if the migrator can fix them
104
Richard Smith081ad4d2017-01-24 19:39:46 +0000105.. option:: -arcmt-migrate-report-output <arg>
106
107Output path for the plist report
108
Craig Topperd23254a2017-07-20 17:52:48 +0000109.. option:: --autocomplete=<arg>
110
Richard Smith081ad4d2017-01-24 19:39:46 +0000111.. option:: -bind\_at\_load
112
Richard Smith081ad4d2017-01-24 19:39:46 +0000113.. option:: -bundle
114
Richard Smithb2c82a62017-01-27 01:54:42 +0000115.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000116.. option:: -bundle\_loader <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000117.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000118
Craig Topper596527b2018-01-23 18:40:15 +0000119.. option:: -cfguard
120
121Emit tables required for Windows Control Flow Guard.
122
Richard Smith081ad4d2017-01-24 19:39:46 +0000123.. option:: -client\_name<arg>
124
Richard Smith081ad4d2017-01-24 19:39:46 +0000125.. option:: -compatibility\_version<arg>
126
Craig Topper287c8012018-01-03 18:29:12 +0000127.. option:: --config <arg>
128
129Specifies configuration file
130
Richard Smith081ad4d2017-01-24 19:39:46 +0000131.. option:: --constant-cfstrings
132
Richard Smith081ad4d2017-01-24 19:39:46 +0000133.. option:: -coverage, --coverage
134
Richard Smith081ad4d2017-01-24 19:39:46 +0000135.. option:: --cuda-compile-host-device
136
137Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
138
Richard Smith081ad4d2017-01-24 19:39:46 +0000139.. option:: --cuda-device-only
140
141Compile CUDA code for device only
142
Richard Smith081ad4d2017-01-24 19:39:46 +0000143.. option:: --cuda-gpu-arch=<arg>, --no-cuda-gpu-arch=<arg>
144
145CUDA GPU architecture (e.g. sm\_35). May be specified more than once.
146
Richard Smith081ad4d2017-01-24 19:39:46 +0000147.. option:: --cuda-host-only
148
149Compile CUDA code for host only. Has no effect on non-CUDA compilations.
150
Richard Smith081ad4d2017-01-24 19:39:46 +0000151.. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug
152
153Enable device-side debug info generation. Disables ptxas optimizations.
154
Richard Smith081ad4d2017-01-24 19:39:46 +0000155.. option:: -current\_version<arg>
156
Richard Smith081ad4d2017-01-24 19:39:46 +0000157.. option:: -dead\_strip
158
Richard Smith081ad4d2017-01-24 19:39:46 +0000159.. option:: -dependency-dot <arg>
160
161Filename to write DOT-formatted header dependencies to
162
Richard Smith081ad4d2017-01-24 19:39:46 +0000163.. option:: -dependency-file <arg>
164
165Filename (or -) to write dependency output to
166
Richard Smith081ad4d2017-01-24 19:39:46 +0000167.. option:: -dumpmachine
168
Richard Smith081ad4d2017-01-24 19:39:46 +0000169.. option:: -dumpversion
170
Richard Smith081ad4d2017-01-24 19:39:46 +0000171.. option:: --dyld-prefix=<arg>, --dyld-prefix <arg>
172
Richard Smith081ad4d2017-01-24 19:39:46 +0000173.. option:: -dylib\_file <arg>
174
Richard Smith081ad4d2017-01-24 19:39:46 +0000175.. option:: -dylinker
176
Richard Smithb2c82a62017-01-27 01:54:42 +0000177.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000178.. option:: -dylinker\_install\_name<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000179.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000180
Richard Smith081ad4d2017-01-24 19:39:46 +0000181.. option:: -dynamic
182
Richard Smith081ad4d2017-01-24 19:39:46 +0000183.. option:: -dynamiclib
184
Richard Smith081ad4d2017-01-24 19:39:46 +0000185.. option:: -emit-ast
186
187Emit Clang AST files for source inputs
188
Richard Smith081ad4d2017-01-24 19:39:46 +0000189.. option:: -exported\_symbols\_list <arg>
190
Richard Smith081ad4d2017-01-24 19:39:46 +0000191.. option:: -faligned-new=<arg>
192
Richard Smith081ad4d2017-01-24 19:39:46 +0000193.. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals
194
195Use approximate transcendental functions
196
Richard Smith081ad4d2017-01-24 19:39:46 +0000197.. option:: -fcuda-flush-denormals-to-zero, -fno-cuda-flush-denormals-to-zero
198
199Flush denormal floating point values to zero in CUDA device mode.
200
Richard Smith081ad4d2017-01-24 19:39:46 +0000201.. option:: -fheinous-gnu-extensions
202
Richard Smith081ad4d2017-01-24 19:39:46 +0000203.. option:: -flat\_namespace
204
Richard Smith081ad4d2017-01-24 19:39:46 +0000205.. option:: -fopenmp-targets=<arg1>,<arg2>...
206
207Specify comma-separated list of triples OpenMP offloading targets to be supported
208
Richard Smith081ad4d2017-01-24 19:39:46 +0000209.. option:: -force\_cpusubtype\_ALL
210
Richard Smithb2c82a62017-01-27 01:54:42 +0000211.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000212.. option:: -force\_flat\_namespace
Richard Smithb2c82a62017-01-27 01:54:42 +0000213.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000214
Richard Smithb2c82a62017-01-27 01:54:42 +0000215.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000216.. option:: -force\_load <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000217.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000218
Richard Smith081ad4d2017-01-24 19:39:46 +0000219.. option:: -framework <arg>
220
Richard Smith78e23fd2017-04-13 22:39:49 +0000221.. option:: -frtlib-add-rpath, -fno-rtlib-add-rpath
222
223Add -rpath with architecture-specific resource directory to the linker flags
224
Richard Smith081ad4d2017-01-24 19:39:46 +0000225.. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg>
226
227Use the gcc toolchain at the given directory
228
Richard Smith081ad4d2017-01-24 19:39:46 +0000229.. option:: -gcodeview
230
231Generate CodeView debug information
232
Richard Smith081ad4d2017-01-24 19:39:46 +0000233.. option:: -headerpad\_max\_install\_names<arg>
234
Richard Smith081ad4d2017-01-24 19:39:46 +0000235.. option:: -help, --help
236
237Display available options
238
Richard Smith081ad4d2017-01-24 19:39:46 +0000239.. option:: --help-hidden
240
Richard Smith081ad4d2017-01-24 19:39:46 +0000241.. option:: -image\_base <arg>
242
Richard Smith081ad4d2017-01-24 19:39:46 +0000243.. option:: -index-header-map
244
245Make the next included directory (-I or -F) an indexer header map
246
Richard Smith081ad4d2017-01-24 19:39:46 +0000247.. option:: -init <arg>
248
Richard Smith081ad4d2017-01-24 19:39:46 +0000249.. option:: -install\_name <arg>
250
Richard Smith081ad4d2017-01-24 19:39:46 +0000251.. option:: -keep\_private\_externs
252
Richard Smith081ad4d2017-01-24 19:39:46 +0000253.. option:: -lazy\_framework <arg>
254
Richard Smithb2c82a62017-01-27 01:54:42 +0000255.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000256.. option:: -lazy\_library <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000257.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000258
Richard Smith081ad4d2017-01-24 19:39:46 +0000259.. option:: -mbig-endian, -EB
260
Richard Smith081ad4d2017-01-24 19:39:46 +0000261.. option:: --migrate
262
263Run the migrator
264
Richard Smith78e23fd2017-04-13 22:39:49 +0000265.. option:: -mios-simulator-version-min=<arg>, -miphonesimulator-version-min=<arg>
266
Richard Smith081ad4d2017-01-24 19:39:46 +0000267.. option:: -mlinker-version=<arg>
268
Richard Smith081ad4d2017-01-24 19:39:46 +0000269.. option:: -mlittle-endian, -EL
270
Richard Smith081ad4d2017-01-24 19:39:46 +0000271.. option:: -mllvm <arg>
272
273Additional arguments to forward to LLVM's option processing
274
Richard Smith081ad4d2017-01-24 19:39:46 +0000275.. option:: -module-dependency-dir <arg>
276
277Directory to dump module dependencies to
278
Richard Smith78e23fd2017-04-13 22:39:49 +0000279.. option:: -mtvos-simulator-version-min=<arg>, -mappletvsimulator-version-min=<arg>
280
Richard Smith081ad4d2017-01-24 19:39:46 +0000281.. option:: -multi\_module
282
Richard Smith081ad4d2017-01-24 19:39:46 +0000283.. option:: -multiply\_defined <arg>
284
Richard Smithb2c82a62017-01-27 01:54:42 +0000285.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000286.. option:: -multiply\_defined\_unused <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000287.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000288
Richard Smith78e23fd2017-04-13 22:39:49 +0000289.. option:: -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg>
290
Richard Smith081ad4d2017-01-24 19:39:46 +0000291.. option:: --no-cuda-version-check
292
293Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
294
Richard Smith081ad4d2017-01-24 19:39:46 +0000295.. option:: -no-integrated-cpp, --no-integrated-cpp
296
Richard Smith081ad4d2017-01-24 19:39:46 +0000297.. option:: -no\_dead\_strip\_inits\_and\_terms
298
Richard Smith081ad4d2017-01-24 19:39:46 +0000299.. option:: -nobuiltininc
300
301Disable builtin #include directories
302
Richard Smith081ad4d2017-01-24 19:39:46 +0000303.. option:: -nocudainc
304
Richard Smith081ad4d2017-01-24 19:39:46 +0000305.. option:: -nocudalib
306
Richard Smith081ad4d2017-01-24 19:39:46 +0000307.. option:: -nodefaultlibs
308
Richard Smith081ad4d2017-01-24 19:39:46 +0000309.. option:: -nofixprebinding
310
Richard Smith081ad4d2017-01-24 19:39:46 +0000311.. option:: -nolibc
312
Richard Smith081ad4d2017-01-24 19:39:46 +0000313.. option:: -nomultidefs
314
Craig Topperd23254a2017-07-20 17:52:48 +0000315.. option:: -nopie, -no-pie
Richard Smith081ad4d2017-01-24 19:39:46 +0000316
Richard Smith081ad4d2017-01-24 19:39:46 +0000317.. option:: -noprebind
318
Richard Smith081ad4d2017-01-24 19:39:46 +0000319.. option:: -noseglinkedit
320
Richard Smith081ad4d2017-01-24 19:39:46 +0000321.. option:: -nostartfiles
322
Richard Smith081ad4d2017-01-24 19:39:46 +0000323.. option:: -nostdinc, --no-standard-includes
324
Richard Smithb2c82a62017-01-27 01:54:42 +0000325.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000326.. option:: -nostdinc++
Richard Smithb2c82a62017-01-27 01:54:42 +0000327.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000328
329Disable standard #include directories for the C++ standard library
330
Richard Smith081ad4d2017-01-24 19:39:46 +0000331.. option:: -nostdlib, --no-standard-libraries
332
Boris Kolpackovb150d242017-08-30 09:15:53 +0000333.. program:: clang1
334.. option:: -nostdlib++
335.. program:: clang
336
Richard Smith081ad4d2017-01-24 19:39:46 +0000337.. option:: -nostdlibinc
338
Richard Smith081ad4d2017-01-24 19:39:46 +0000339.. option:: -o<file>, --output <arg>, --output=<arg>
340
341Write output to <file>
342
Richard Smith081ad4d2017-01-24 19:39:46 +0000343.. option:: -objcmt-atomic-property
344
345Make migration to 'atomic' properties
346
Richard Smith081ad4d2017-01-24 19:39:46 +0000347.. option:: -objcmt-migrate-all
348
349Enable migration to modern ObjC
350
Richard Smith081ad4d2017-01-24 19:39:46 +0000351.. option:: -objcmt-migrate-annotation
352
353Enable migration to property and method annotations
354
Richard Smith081ad4d2017-01-24 19:39:46 +0000355.. option:: -objcmt-migrate-designated-init
356
357Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods
358
Richard Smith081ad4d2017-01-24 19:39:46 +0000359.. option:: -objcmt-migrate-instancetype
360
361Enable migration to infer instancetype for method result type
362
Richard Smith081ad4d2017-01-24 19:39:46 +0000363.. option:: -objcmt-migrate-literals
364
365Enable migration to modern ObjC literals
366
Richard Smith081ad4d2017-01-24 19:39:46 +0000367.. option:: -objcmt-migrate-ns-macros
368
369Enable migration to NS\_ENUM/NS\_OPTIONS macros
370
Richard Smith081ad4d2017-01-24 19:39:46 +0000371.. option:: -objcmt-migrate-property
372
373Enable migration to modern ObjC property
374
Richard Smith081ad4d2017-01-24 19:39:46 +0000375.. option:: -objcmt-migrate-property-dot-syntax
376
377Enable migration of setter/getter messages to property-dot syntax
378
Richard Smith081ad4d2017-01-24 19:39:46 +0000379.. option:: -objcmt-migrate-protocol-conformance
380
381Enable migration to add protocol conformance on classes
382
Richard Smith081ad4d2017-01-24 19:39:46 +0000383.. option:: -objcmt-migrate-readonly-property
384
385Enable migration to modern ObjC readonly property
386
Richard Smith081ad4d2017-01-24 19:39:46 +0000387.. option:: -objcmt-migrate-readwrite-property
388
389Enable migration to modern ObjC readwrite property
390
Richard Smith081ad4d2017-01-24 19:39:46 +0000391.. option:: -objcmt-migrate-subscripting
392
393Enable migration to modern ObjC subscripting
394
Richard Smith081ad4d2017-01-24 19:39:46 +0000395.. option:: -objcmt-ns-nonatomic-iosonly
396
397Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute
398
Richard Smith081ad4d2017-01-24 19:39:46 +0000399.. option:: -objcmt-returns-innerpointer-property
400
401Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER
402
Richard Smith081ad4d2017-01-24 19:39:46 +0000403.. option:: -objcmt-whitelist-dir-path=<arg>, -objcmt-white-list-dir-path=<arg>
404
405Only modify files with a filename contained in the provided directory path
406
Richard Smith081ad4d2017-01-24 19:39:46 +0000407.. option:: -object
408
Richard Smith081ad4d2017-01-24 19:39:46 +0000409.. option:: -p, --profile
410
Richard Smith081ad4d2017-01-24 19:39:46 +0000411.. option:: -pagezero\_size<arg>
412
Richard Smith081ad4d2017-01-24 19:39:46 +0000413.. option:: -pg
414
415Enable mcount instrumentation
416
Richard Smith081ad4d2017-01-24 19:39:46 +0000417.. option:: -pie
418
Richard Smith081ad4d2017-01-24 19:39:46 +0000419.. option:: -pipe, --pipe
420
421Use pipes between commands, when possible
422
Richard Smith081ad4d2017-01-24 19:39:46 +0000423.. option:: -prebind
424
Richard Smithb2c82a62017-01-27 01:54:42 +0000425.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000426.. option:: -prebind\_all\_twolevel\_modules
Richard Smithb2c82a62017-01-27 01:54:42 +0000427.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000428
Richard Smith081ad4d2017-01-24 19:39:46 +0000429.. option:: -preload
430
Richard Smith081ad4d2017-01-24 19:39:46 +0000431.. option:: --print-diagnostic-categories
432
Richard Smith081ad4d2017-01-24 19:39:46 +0000433.. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg>
434
435Print the full library path of <file>
436
Richard Smith081ad4d2017-01-24 19:39:46 +0000437.. option:: -print-ivar-layout
438
439Enable Objective-C Ivar layout bitmap print trace
440
Richard Smith081ad4d2017-01-24 19:39:46 +0000441.. option:: -print-libgcc-file-name, --print-libgcc-file-name
442
443Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang\_rt.builtins.\*.a")
444
Richard Smith081ad4d2017-01-24 19:39:46 +0000445.. option:: -print-multi-directory, --print-multi-directory
446
Richard Smith081ad4d2017-01-24 19:39:46 +0000447.. option:: -print-multi-lib, --print-multi-lib
448
Richard Smith081ad4d2017-01-24 19:39:46 +0000449.. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg>
450
451Print the full program path of <name>
452
Richard Smith78e23fd2017-04-13 22:39:49 +0000453.. option:: -print-resource-dir, --print-resource-dir
454
455Print the resource directory pathname
456
Richard Smith081ad4d2017-01-24 19:39:46 +0000457.. option:: -print-search-dirs, --print-search-dirs
458
459Print the paths used for finding libraries and programs
460
Richard Smith081ad4d2017-01-24 19:39:46 +0000461.. option:: -private\_bundle
462
Richard Smith081ad4d2017-01-24 19:39:46 +0000463.. option:: -pthread, -no-pthread
464
465Support POSIX threads in generated code
466
Richard Smith081ad4d2017-01-24 19:39:46 +0000467.. option:: -pthreads
468
Richard Smith081ad4d2017-01-24 19:39:46 +0000469.. option:: -rdynamic
470
Richard Smith081ad4d2017-01-24 19:39:46 +0000471.. option:: -read\_only\_relocs <arg>
472
Richard Smith081ad4d2017-01-24 19:39:46 +0000473.. option:: -relocatable-pch, --relocatable-pch
474
475Whether to build a relocatable precompiled header
476
Richard Smith081ad4d2017-01-24 19:39:46 +0000477.. option:: -remap
478
Richard Smith081ad4d2017-01-24 19:39:46 +0000479.. option:: -rewrite-legacy-objc
480
481Rewrite Legacy Objective-C source to C++
482
Richard Smith081ad4d2017-01-24 19:39:46 +0000483.. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg>
484
485Compiler runtime library to use
486
Richard Smith081ad4d2017-01-24 19:39:46 +0000487.. option:: -save-stats=<arg>, --save-stats=<arg>, -save-stats (equivalent to -save-stats=cwd), --save-stats (equivalent to -save-stats=cwd)
488
489Save llvm statistics.
490
Richard Smith081ad4d2017-01-24 19:39:46 +0000491.. option:: -save-temps=<arg>, --save-temps=<arg>, -save-temps (equivalent to -save-temps=cwd), --save-temps (equivalent to -save-temps=cwd)
492
493Save intermediate compilation results.
494
Richard Smith081ad4d2017-01-24 19:39:46 +0000495.. option:: -sectalign <arg1> <arg2> <arg3>
496
Richard Smith081ad4d2017-01-24 19:39:46 +0000497.. option:: -sectcreate <arg1> <arg2> <arg3>
498
Richard Smith081ad4d2017-01-24 19:39:46 +0000499.. option:: -sectobjectsymbols <arg1> <arg2>
500
Richard Smith081ad4d2017-01-24 19:39:46 +0000501.. option:: -sectorder <arg1> <arg2> <arg3>
502
Richard Smith081ad4d2017-01-24 19:39:46 +0000503.. option:: -seg1addr<arg>
504
Richard Smith081ad4d2017-01-24 19:39:46 +0000505.. option:: -seg\_addr\_table <arg>
506
Richard Smithb2c82a62017-01-27 01:54:42 +0000507.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000508.. option:: -seg\_addr\_table\_filename <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000509.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000510
Richard Smith081ad4d2017-01-24 19:39:46 +0000511.. option:: -segaddr <arg1> <arg2>
512
Richard Smith081ad4d2017-01-24 19:39:46 +0000513.. option:: -segcreate <arg1> <arg2> <arg3>
514
Richard Smith081ad4d2017-01-24 19:39:46 +0000515.. option:: -seglinkedit
516
Richard Smith081ad4d2017-01-24 19:39:46 +0000517.. option:: -segprot <arg1> <arg2> <arg3>
518
Richard Smith081ad4d2017-01-24 19:39:46 +0000519.. option:: -segs\_read\_<arg>
520
Richard Smithb2c82a62017-01-27 01:54:42 +0000521.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000522.. option:: -segs\_read\_only\_addr <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000523.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000524
Richard Smithb2c82a62017-01-27 01:54:42 +0000525.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000526.. option:: -segs\_read\_write\_addr <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000527.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000528
Richard Smith081ad4d2017-01-24 19:39:46 +0000529.. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg>
530
531Serialize compiler diagnostics to a file
532
Richard Smith081ad4d2017-01-24 19:39:46 +0000533.. option:: -shared, --shared
534
Richard Smith081ad4d2017-01-24 19:39:46 +0000535.. option:: -shared-libgcc
536
Craig Topper16418662017-11-20 18:07:43 +0000537.. option:: -shared-libsan, -shared-libasan
538
Richard Smith081ad4d2017-01-24 19:39:46 +0000539.. option:: -single\_module
540
Richard Smith081ad4d2017-01-24 19:39:46 +0000541.. option:: -specs=<arg>, --specs=<arg>
542
Richard Smith081ad4d2017-01-24 19:39:46 +0000543.. option:: -static, --static
544
Richard Smith081ad4d2017-01-24 19:39:46 +0000545.. option:: -static-libgcc
546
Craig Topper16418662017-11-20 18:07:43 +0000547.. option:: -static-libsan
548
Richard Smith081ad4d2017-01-24 19:39:46 +0000549.. option:: -static-libstdc++
550
Richard Smith081ad4d2017-01-24 19:39:46 +0000551.. option:: -std-default=<arg>
552
Richard Smith081ad4d2017-01-24 19:39:46 +0000553.. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg>
554
555C++ standard library to use
556
Richard Smith081ad4d2017-01-24 19:39:46 +0000557.. option:: -sub\_library<arg>
558
Richard Smithb2c82a62017-01-27 01:54:42 +0000559.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000560.. option:: -sub\_umbrella<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000561.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000562
Richard Smith081ad4d2017-01-24 19:39:46 +0000563.. option:: --sysroot=<arg>, --sysroot <arg>
564
Richard Smith081ad4d2017-01-24 19:39:46 +0000565.. option:: --target-help
566
Richard Smith081ad4d2017-01-24 19:39:46 +0000567.. option:: --target=<arg>, -target <arg>
568
569Generate code for the given target
570
Richard Smith081ad4d2017-01-24 19:39:46 +0000571.. option:: -time
572
573Time individual commands
574
Richard Smith081ad4d2017-01-24 19:39:46 +0000575.. option:: -traditional, --traditional
576
Richard Smith081ad4d2017-01-24 19:39:46 +0000577.. option:: -traditional-cpp, --traditional-cpp
578
579Enable some traditional CPP emulation
580
Richard Smith081ad4d2017-01-24 19:39:46 +0000581.. option:: -twolevel\_namespace
582
Richard Smithb2c82a62017-01-27 01:54:42 +0000583.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000584.. option:: -twolevel\_namespace\_hints
Richard Smithb2c82a62017-01-27 01:54:42 +0000585.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000586
Richard Smith081ad4d2017-01-24 19:39:46 +0000587.. option:: -umbrella <arg>
588
Richard Smith081ad4d2017-01-24 19:39:46 +0000589.. option:: -unexported\_symbols\_list <arg>
590
Richard Smith081ad4d2017-01-24 19:39:46 +0000591.. option:: -v, --verbose
592
593Show commands to run and use verbose output
594
Richard Smith081ad4d2017-01-24 19:39:46 +0000595.. option:: --verify-debug-info
596
597Verify the binary representation of debug output
598
Richard Smith081ad4d2017-01-24 19:39:46 +0000599.. option:: --version
600
Craig Topper16418662017-11-20 18:07:43 +0000601Print version information
602
Richard Smith081ad4d2017-01-24 19:39:46 +0000603.. option:: -w, --no-warnings
604
605Suppress all warnings
606
Richard Smith081ad4d2017-01-24 19:39:46 +0000607.. option:: -weak-l<arg>
608
Richard Smith081ad4d2017-01-24 19:39:46 +0000609.. option:: -weak\_framework <arg>
610
Richard Smithb2c82a62017-01-27 01:54:42 +0000611.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000612.. option:: -weak\_library <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000613.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000614
Richard Smithb2c82a62017-01-27 01:54:42 +0000615.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000616.. option:: -weak\_reference\_mismatches <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000617.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000618
Richard Smith081ad4d2017-01-24 19:39:46 +0000619.. option:: -whatsloaded
620
Richard Smith081ad4d2017-01-24 19:39:46 +0000621.. option:: -whyload
622
Richard Smith081ad4d2017-01-24 19:39:46 +0000623.. option:: -working-directory<arg>, -working-directory=<arg>
624
625Resolve file paths relative to the specified directory
626
Richard Smith081ad4d2017-01-24 19:39:46 +0000627.. option:: -x<language>, --language <arg>, --language=<arg>
628
629Treat subsequent input files as having type <language>
630
Richard Smith081ad4d2017-01-24 19:39:46 +0000631.. option:: -y<arg>
632
633Actions
634=======
635The action to perform on the input.
636
Richard Smith081ad4d2017-01-24 19:39:46 +0000637.. option:: -E, --preprocess
638
639Only run the preprocessor
640
Richard Smith081ad4d2017-01-24 19:39:46 +0000641.. option:: -S, --assemble
642
643Only run preprocess and compilation steps
644
Richard Smithc5b2e002017-01-27 02:08:37 +0000645.. option:: -c, --compile
646
647Only run preprocess, compile, and assemble steps
648
Richard Smith081ad4d2017-01-24 19:39:46 +0000649.. option:: -emit-llvm
650
651Use the LLVM representation for assembler and object files
652
Richard Smith081ad4d2017-01-24 19:39:46 +0000653.. option:: -fsyntax-only
654
Richard Smith081ad4d2017-01-24 19:39:46 +0000655.. option:: -module-file-info
656
657Provide information about a particular module file
658
Richard Smith081ad4d2017-01-24 19:39:46 +0000659.. option:: --precompile
660
661Only precompile the input
662
Richard Smith081ad4d2017-01-24 19:39:46 +0000663.. option:: -rewrite-objc
664
665Rewrite Objective-C source to C++
666
Richard Smith081ad4d2017-01-24 19:39:46 +0000667.. option:: -verify-pch
668
669Load and verify that a pre-compiled header file is not stale
670
671Compilation flags
672=================
673
674Flags controlling the behavior of Clang during compilation. These flags have
675no effect during actions that do not perform compilation.
676
Richard Smithc5b2e002017-01-27 02:08:37 +0000677.. option:: -Xassembler <arg>
Richard Smith081ad4d2017-01-24 19:39:46 +0000678
Richard Smithc5b2e002017-01-27 02:08:37 +0000679Pass <arg> to the assembler
Richard Smith081ad4d2017-01-24 19:39:46 +0000680
Richard Smith081ad4d2017-01-24 19:39:46 +0000681.. option:: -Xclang <arg>
682
683Pass <arg> to the clang compiler
684
Boris Kolpackovb150d242017-08-30 09:15:53 +0000685.. option:: -fclang-abi-compat=<version>
686
687Attempt to match the ABI of Clang <version>
688
Richard Smith081ad4d2017-01-24 19:39:46 +0000689.. option:: -fcomment-block-commands=<arg>,<arg2>...
690
691Treat each comma separated argument in <arg> as a documentation comment block command
692
Richard Smith081ad4d2017-01-24 19:39:46 +0000693.. option:: -fdeclspec, -fno-declspec
694
695Allow \_\_declspec as a keyword
696
Richard Smith081ad4d2017-01-24 19:39:46 +0000697.. option:: -fdepfile-entry=<arg>
698
Richard Smith081ad4d2017-01-24 19:39:46 +0000699.. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info
700
Richard Smith081ad4d2017-01-24 19:39:46 +0000701.. option:: -fdiagnostics-format=<arg>
702
Richard Smith081ad4d2017-01-24 19:39:46 +0000703.. option:: -fdiagnostics-parseable-fixits
704
705Print fix-its in machine parseable form
706
Richard Smith081ad4d2017-01-24 19:39:46 +0000707.. option:: -fdiagnostics-print-source-range-info
708
709Print source range spans in numeric form
710
Richard Smith081ad4d2017-01-24 19:39:46 +0000711.. option:: -fdiagnostics-show-category=<arg>
712
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000713.. option:: -fdiscard-value-names, -fno-discard-value-names
714
715Discard value names in LLVM IR
716
717.. option:: -fexperimental-isel, -fno-experimental-isel
718
719Enables the experimental global instruction selector
720
Richard Smith081ad4d2017-01-24 19:39:46 +0000721.. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager
722
723Enables an experimental new pass manager in LLVM.
724
Craig Topper16418662017-11-20 18:07:43 +0000725.. option:: -ffine-grained-bitfield-accesses, -fno-fine-grained-bitfield-accesses
726
727Use separate accesses for bitfields with legal widths and alignments.
728
Richard Smith081ad4d2017-01-24 19:39:46 +0000729.. option:: -finline-functions, -fno-inline-functions
730
731Inline suitable functions
732
Richard Smith081ad4d2017-01-24 19:39:46 +0000733.. option:: -finline-hint-functions
734
735Inline functions which are (explicitly or implicitly) marked inline
736
Richard Smith081ad4d2017-01-24 19:39:46 +0000737.. option:: -fno-crash-diagnostics
738
Richard Smith78e23fd2017-04-13 22:39:49 +0000739Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
740
Richard Smith081ad4d2017-01-24 19:39:46 +0000741.. option:: -fno-sanitize-blacklist
742
743Don't use blacklist file for sanitizers
744
Richard Smith081ad4d2017-01-24 19:39:46 +0000745.. option:: -fparse-all-comments
746
Richard Smith081ad4d2017-01-24 19:39:46 +0000747.. option:: -fsanitize-address-field-padding=<arg>
748
749Level of field padding for AddressSanitizer
750
Craig Topperd23254a2017-07-20 17:52:48 +0000751.. option:: -fsanitize-address-globals-dead-stripping
752
753Enable linker dead stripping of globals in AddressSanitizer
754
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000755.. option:: -fsanitize-address-poison-class-member-array-new-cookie, -fno-sanitize-address-poison-class-member-array-new-cookie
756
757Enable poisoning array cookies when using class member operator new\[\] in AddressSanitizer
758
Richard Smith081ad4d2017-01-24 19:39:46 +0000759.. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope
760
761Enable use-after-scope detection in AddressSanitizer
762
Richard Smith081ad4d2017-01-24 19:39:46 +0000763.. option:: -fsanitize-blacklist=<arg>
764
765Path to blacklist file for sanitizers
766
Richard Smith081ad4d2017-01-24 19:39:46 +0000767.. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso
768
769Enable control flow integrity (CFI) checks for cross-DSO calls.
770
Vlad Tsyrklevich634c6012017-10-31 22:39:44 +0000771.. option:: -fsanitize-cfi-icall-generalize-pointers
772
Craig Topper16418662017-11-20 18:07:43 +0000773Generalize pointers in CFI indirect call type signature checks
Vlad Tsyrklevich634c6012017-10-31 22:39:44 +0000774
Richard Smith081ad4d2017-01-24 19:39:46 +0000775.. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>...
776
777Specify the type of coverage instrumentation for Sanitizers
778
Richard Smith081ad4d2017-01-24 19:39:46 +0000779.. option:: -fsanitize-link-c++-runtime
780
Richard Smith081ad4d2017-01-24 19:39:46 +0000781.. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins
782
783Enable origins tracking in MemorySanitizer
784
Richard Smithb2c82a62017-01-27 01:54:42 +0000785.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000786.. option:: -fsanitize-memory-track-origins=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000787.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000788
789Enable origins tracking in MemorySanitizer
790
Craig Topper16418662017-11-20 18:07:43 +0000791.. option:: -fsanitize-memory-use-after-dtor, -fno-sanitize-memory-use-after-dtor
Richard Smith081ad4d2017-01-24 19:39:46 +0000792
793Enable use-after-destroy detection in MemorySanitizer
794
Boris Kolpackovb150d242017-08-30 09:15:53 +0000795.. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime
796
Richard Smith081ad4d2017-01-24 19:39:46 +0000797.. option:: -fsanitize-recover, -fno-sanitize-recover
798
Richard Smithb2c82a62017-01-27 01:54:42 +0000799.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000800.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>...
Richard Smithb2c82a62017-01-27 01:54:42 +0000801.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000802
803Enable recovery for specified sanitizers
804
Richard Smith081ad4d2017-01-24 19:39:46 +0000805.. option:: -fsanitize-stats, -fno-sanitize-stats
806
807Enable sanitizer statistics gathering.
808
Richard Smith081ad4d2017-01-24 19:39:46 +0000809.. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics
810
811Enable atomic operations instrumentation in ThreadSanitizer (default)
812
Richard Smith081ad4d2017-01-24 19:39:46 +0000813.. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit
814
815Enable function entry/exit instrumentation in ThreadSanitizer (default)
816
Richard Smith081ad4d2017-01-24 19:39:46 +0000817.. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access
818
819Enable memory access instrumentation in ThreadSanitizer (default)
820
Richard Smith081ad4d2017-01-24 19:39:46 +0000821.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>...
822
823Enable trapping for specified sanitizers
824
Richard Smith081ad4d2017-01-24 19:39:46 +0000825.. option:: -fsanitize-undefined-strip-path-components=<number>
826
827Strip (or keep only, if negative) a given number of path components when emitting check metadata.
828
Richard Smith081ad4d2017-01-24 19:39:46 +0000829.. option:: -fsanitize-undefined-trap-on-error, -fno-sanitize-undefined-trap-on-error
830
Richard Smith081ad4d2017-01-24 19:39:46 +0000831.. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>...
832
833Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
834
Richard Smith081ad4d2017-01-24 19:39:46 +0000835.. option:: --param <arg>, --param=<arg>
836
Richard Smith081ad4d2017-01-24 19:39:46 +0000837.. option:: -std=<arg>, --std=<arg>, --std <arg>
838
839Language standard to compile for
840
Richard Smithc5b2e002017-01-27 02:08:37 +0000841Preprocessor flags
842~~~~~~~~~~~~~~~~~~
843
844Flags controlling the behavior of the Clang preprocessor.
845
846.. option:: -C, --comments
847
848Include comments in preprocessed output
849
850.. option:: -CC, --comments-in-macros
851
852Include comments from within macros in preprocessed output
853
854.. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg>
855
856Define <macro> to <value> (or 1 if <value> omitted)
857
858.. option:: -H, --trace-includes
859
860Show header includes and nesting depth
861
862.. option:: -P, --no-line-commands
863
864Disable linemarker output in -E mode
865
866.. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg>
867
868Undefine macro <macro>
869
870.. option:: -Wp,<arg>,<arg2>...
871
872Pass the comma separated arguments in <arg> to the preprocessor
873
874.. option:: -Xpreprocessor <arg>
875
876Pass <arg> to the preprocessor
877
Richard Smith081ad4d2017-01-24 19:39:46 +0000878Include path management
Richard Smithc5b2e002017-01-27 02:08:37 +0000879-----------------------
Richard Smith081ad4d2017-01-24 19:39:46 +0000880
881Flags controlling how ``#include``\s are resolved to files.
882
Richard Smithc5b2e002017-01-27 02:08:37 +0000883.. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +0000884
885Add directory to include search path
886
Richard Smith081ad4d2017-01-24 19:39:46 +0000887.. option:: -I-, --include-barrier
888
Richard Smithc5b2e002017-01-27 02:08:37 +0000889Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
890
Jonas Hahnfelda180fc42018-02-22 17:10:28 +0000891.. option:: --cuda-path-ignore-env
892
893Ignore environment variables to detect CUDA installation
894
Richard Smith081ad4d2017-01-24 19:39:46 +0000895.. option:: --cuda-path=<arg>
896
897CUDA installation path
898
Richard Smith081ad4d2017-01-24 19:39:46 +0000899.. option:: -cxx-isystem<directory>
900
901Add directory to the C++ SYSTEM include search path
902
Richard Smith081ad4d2017-01-24 19:39:46 +0000903.. option:: -fbuild-session-file=<file>
904
905Use the last modification time of <file> as the build session timestamp
906
Richard Smith081ad4d2017-01-24 19:39:46 +0000907.. option:: -fbuild-session-timestamp=<time since Epoch in seconds>
908
909Time when the current build session started
910
Boris Kolpackovb150d242017-08-30 09:15:53 +0000911.. option:: -fmodule-file=\[<name>=\]<file>
912
913Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
914
Richard Smith081ad4d2017-01-24 19:39:46 +0000915.. option:: -fmodules-cache-path=<directory>
916
917Specify the module cache path
918
Richard Smith081ad4d2017-01-24 19:39:46 +0000919.. option:: -fmodules-disable-diagnostic-validation
920
921Disable validation of the diagnostic options when loading the module
922
Richard Smith081ad4d2017-01-24 19:39:46 +0000923.. option:: -fmodules-prune-after=<seconds>
924
925Specify the interval (in seconds) after which a module file will be considered unused
926
Richard Smith081ad4d2017-01-24 19:39:46 +0000927.. option:: -fmodules-prune-interval=<seconds>
928
929Specify the interval (in seconds) between attempts to prune the module cache
930
Richard Smith081ad4d2017-01-24 19:39:46 +0000931.. option:: -fmodules-user-build-path <directory>
932
933Specify the module user build path
934
Richard Smith081ad4d2017-01-24 19:39:46 +0000935.. option:: -fmodules-validate-once-per-build-session
936
937Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
938
Richard Smith081ad4d2017-01-24 19:39:46 +0000939.. option:: -fmodules-validate-system-headers
940
941Validate the system headers that a module depends on when loading the module
942
Richard Smith081ad4d2017-01-24 19:39:46 +0000943.. option:: -fprebuilt-module-path=<directory>
944
945Specify the prebuilt module path
946
Richard Smith081ad4d2017-01-24 19:39:46 +0000947.. option:: -i<arg>
948
Richard Smith081ad4d2017-01-24 19:39:46 +0000949.. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg>
950
951Add directory to AFTER include search path
952
Richard Smith081ad4d2017-01-24 19:39:46 +0000953.. option:: -iframework<arg>
954
955Add directory to SYSTEM framework search path
956
Richard Smith78e23fd2017-04-13 22:39:49 +0000957.. option:: -iframeworkwithsysroot<directory>
958
959Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
960
Richard Smith081ad4d2017-01-24 19:39:46 +0000961.. option:: -imacros<file>, --imacros<file>, --imacros=<arg>
962
963Include macros from file before parsing
964
Richard Smith081ad4d2017-01-24 19:39:46 +0000965.. option:: -include<file>, --include<file>, --include=<arg>
966
967Include file before parsing
968
Richard Smith081ad4d2017-01-24 19:39:46 +0000969.. option:: -include-pch <file>
970
971Include precompiled header file
972
Richard Smith081ad4d2017-01-24 19:39:46 +0000973.. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg>
974
975Set the -iwithprefix/-iwithprefixbefore prefix
976
Richard Smith081ad4d2017-01-24 19:39:46 +0000977.. option:: -iquote<directory>
978
979Add directory to QUOTE include search path
980
Richard Smith081ad4d2017-01-24 19:39:46 +0000981.. option:: -isysroot<dir>
982
983Set the system root directory (usually /)
984
Richard Smith081ad4d2017-01-24 19:39:46 +0000985.. option:: -isystem<directory>
986
987Add directory to SYSTEM include search path
988
Richard Smith081ad4d2017-01-24 19:39:46 +0000989.. option:: -isystem-after<directory>
990
991Add directory to end of the SYSTEM include search path
992
Richard Smith081ad4d2017-01-24 19:39:46 +0000993.. option:: -ivfsoverlay<arg>
994
995Overlay the virtual filesystem described by file over the real file system
996
Richard Smith081ad4d2017-01-24 19:39:46 +0000997.. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg>
998
999Set directory to SYSTEM include search path with prefix
1000
Richard Smith081ad4d2017-01-24 19:39:46 +00001001.. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg>
1002
1003Set directory to include search path with prefix
1004
Richard Smith081ad4d2017-01-24 19:39:46 +00001005.. option:: -iwithsysroot<directory>
1006
1007Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
1008
Richard Smith081ad4d2017-01-24 19:39:46 +00001009.. option:: --ptxas-path=<arg>
1010
1011Path to ptxas (used for compiling CUDA code)
1012
Richard Smith081ad4d2017-01-24 19:39:46 +00001013.. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg>
1014
1015Treat all #include paths starting with <prefix> as including a system header.
1016
1017Dependency file generation
Richard Smithc5b2e002017-01-27 02:08:37 +00001018--------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001019
1020Flags controlling generation of a dependency file for ``make``-like build
1021systems.
1022
Richard Smith081ad4d2017-01-24 19:39:46 +00001023.. option:: -M, --dependencies
1024
1025Like -MD, but also implies -E and writes to stdout by default
1026
Richard Smith081ad4d2017-01-24 19:39:46 +00001027.. option:: -MD, --write-dependencies
1028
1029Write a depfile containing user and system headers
1030
Richard Smith081ad4d2017-01-24 19:39:46 +00001031.. option:: -MF<file>
1032
1033Write depfile output from -MMD, -MD, -MM, or -M to <file>
1034
Richard Smith081ad4d2017-01-24 19:39:46 +00001035.. option:: -MG, --print-missing-file-dependencies
1036
1037Add missing headers to depfile
1038
Richard Smith081ad4d2017-01-24 19:39:46 +00001039.. option:: -MJ<arg>
1040
1041Write a compilation database entry per input
1042
Richard Smith081ad4d2017-01-24 19:39:46 +00001043.. option:: -MM, --user-dependencies
1044
1045Like -MMD, but also implies -E and writes to stdout by default
1046
Richard Smith081ad4d2017-01-24 19:39:46 +00001047.. option:: -MMD, --write-user-dependencies
1048
1049Write a depfile containing user headers
1050
Richard Smith081ad4d2017-01-24 19:39:46 +00001051.. option:: -MP
1052
1053Create phony target for each dependency (other than main file)
1054
Richard Smith081ad4d2017-01-24 19:39:46 +00001055.. option:: -MQ<arg>
1056
1057Specify name of main file output to quote in depfile
1058
Richard Smith081ad4d2017-01-24 19:39:46 +00001059.. option:: -MT<arg>
1060
1061Specify name of main file output in depfile
1062
Richard Smith081ad4d2017-01-24 19:39:46 +00001063.. option:: -MV
1064
1065Use NMake/Jom format for the depfile
1066
1067Dumping preprocessor state
Richard Smithc5b2e002017-01-27 02:08:37 +00001068--------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001069
1070Flags allowing the state of the preprocessor to be dumped in various ways.
1071
Richard Smith081ad4d2017-01-24 19:39:46 +00001072.. option:: -d
1073
Richard Smithb2c82a62017-01-27 01:54:42 +00001074.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001075.. option:: -d<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001076.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001077
Richard Smith081ad4d2017-01-24 19:39:46 +00001078.. option:: -dA
1079
Richard Smith081ad4d2017-01-24 19:39:46 +00001080.. option:: -dD
1081
1082Print macro definitions in -E mode in addition to normal output
1083
Richard Smith081ad4d2017-01-24 19:39:46 +00001084.. option:: -dI
1085
1086Print include directives in -E mode in addition to normal output
1087
Richard Smith081ad4d2017-01-24 19:39:46 +00001088.. option:: -dM
1089
1090Print macro definitions in -E mode instead of normal output
1091
1092Diagnostic flags
1093~~~~~~~~~~~~~~~~
1094
1095Flags controlling which warnings, errors, and remarks Clang will generate.
1096See the :doc:`full list of warning and remark flags <DiagnosticsReference>`.
1097
Richard Smith081ad4d2017-01-24 19:39:46 +00001098.. option:: -R<remark>
1099
1100Enable the specified remark
1101
Richard Smith081ad4d2017-01-24 19:39:46 +00001102.. option:: -Rpass-analysis=<arg>
1103
1104Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
1105
Richard Smith081ad4d2017-01-24 19:39:46 +00001106.. option:: -Rpass-missed=<arg>
1107
1108Report missed transformations by optimization passes whose name matches the given POSIX regular expression
1109
Richard Smith081ad4d2017-01-24 19:39:46 +00001110.. option:: -Rpass=<arg>
1111
1112Report transformations performed by optimization passes whose name matches the given POSIX regular expression
1113
Richard Smith081ad4d2017-01-24 19:39:46 +00001114.. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg>
1115
1116Enable the specified warning
1117
Richard Smith081ad4d2017-01-24 19:39:46 +00001118.. option:: -Wdeprecated, -Wno-deprecated
1119
Richard Smithc5b2e002017-01-27 02:08:37 +00001120Enable warnings for deprecated constructs and define \_\_DEPRECATED
Richard Smith081ad4d2017-01-24 19:39:46 +00001121
Richard Smith081ad4d2017-01-24 19:39:46 +00001122.. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg>
1123
Richard Smith081ad4d2017-01-24 19:39:46 +00001124Target-independent compilation options
1125~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Richard Smith081ad4d2017-01-24 19:39:46 +00001126.. option:: -Wframe-larger-than=<arg>
1127
Richard Smith081ad4d2017-01-24 19:39:46 +00001128.. option:: -fPIC, -fno-PIC
1129
Richard Smith081ad4d2017-01-24 19:39:46 +00001130.. option:: -fPIE, -fno-PIE
1131
Richard Smith081ad4d2017-01-24 19:39:46 +00001132.. option:: -faccess-control, -fno-access-control
1133
Richard Smithb2c82a62017-01-27 01:54:42 +00001134.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001135.. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation
Richard Smithb2c82a62017-01-27 01:54:42 +00001136.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001137
1138Enable C++17 aligned allocation functions
1139
Craig Topperd23254a2017-07-20 17:52:48 +00001140.. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders
1141
1142Treat editor placeholders as valid source code
1143
Richard Smith081ad4d2017-01-24 19:39:46 +00001144.. option:: -fallow-unsupported
1145
Richard Smith78e23fd2017-04-13 22:39:49 +00001146.. option:: -faltivec, -fno-altivec
Richard Smith081ad4d2017-01-24 19:39:46 +00001147
Richard Smith081ad4d2017-01-24 19:39:46 +00001148.. option:: -fansi-escape-codes
1149
1150Use ANSI escape codes for diagnostics
1151
Richard Smith081ad4d2017-01-24 19:39:46 +00001152.. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables
1153
1154Use Apple's kernel extensions ABI
1155
Richard Smith081ad4d2017-01-24 19:39:46 +00001156.. option:: -fapple-pragma-pack, -fno-apple-pragma-pack
1157
1158Enable Apple gcc-compatible #pragma pack handling
1159
Richard Smith081ad4d2017-01-24 19:39:46 +00001160.. option:: -fapplication-extension, -fno-application-extension
1161
1162Restrict code to those available for App Extensions
1163
Richard Smith081ad4d2017-01-24 19:39:46 +00001164.. option:: -fasm, -fno-asm
1165
Richard Smith081ad4d2017-01-24 19:39:46 +00001166.. option:: -fasm-blocks, -fno-asm-blocks
1167
Richard Smith081ad4d2017-01-24 19:39:46 +00001168.. option:: -fassociative-math, -fno-associative-math
1169
Richard Smith081ad4d2017-01-24 19:39:46 +00001170.. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new
1171
Richard Smith081ad4d2017-01-24 19:39:46 +00001172.. option:: -fast
1173
Richard Smith081ad4d2017-01-24 19:39:46 +00001174.. option:: -fastcp
1175
Richard Smith081ad4d2017-01-24 19:39:46 +00001176.. option:: -fastf
1177
Richard Smith081ad4d2017-01-24 19:39:46 +00001178.. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables
1179
Richard Smith081ad4d2017-01-24 19:39:46 +00001180.. option:: -fautolink, -fno-autolink
1181
Richard Smith081ad4d2017-01-24 19:39:46 +00001182.. option:: -fblocks, -fno-blocks
1183
1184Enable the 'blocks' language feature
1185
Richard Smith081ad4d2017-01-24 19:39:46 +00001186.. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg>
1187
Richard Smith081ad4d2017-01-24 19:39:46 +00001188.. option:: -fborland-extensions, -fno-borland-extensions
1189
1190Accept non-standard constructs supported by the Borland compiler
1191
Richard Smith081ad4d2017-01-24 19:39:46 +00001192.. option:: -fbracket-depth=<arg>
1193
Richard Smith081ad4d2017-01-24 19:39:46 +00001194.. option:: -fbuiltin, -fno-builtin
1195
Richard Smith081ad4d2017-01-24 19:39:46 +00001196.. option:: -fbuiltin-module-map
1197
1198Load the clang builtins module map file.
1199
Richard Smith081ad4d2017-01-24 19:39:46 +00001200.. option:: -fcaret-diagnostics, -fno-caret-diagnostics
1201
Craig Topper596527b2018-01-23 18:40:15 +00001202.. option:: -fcf-protection=<arg>, -fcf-protection (equivalent to -fcf-protection=full)
1203
1204Instrument control-flow architecture protection. Options: return, branch, full, none.
1205
Richard Smith081ad4d2017-01-24 19:39:46 +00001206.. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg>
1207
Richard Smith081ad4d2017-01-24 19:39:46 +00001208.. option:: -fcolor-diagnostics, -fno-color-diagnostics
1209
1210Use colors in diagnostics
1211
Richard Smith081ad4d2017-01-24 19:39:46 +00001212.. option:: -fcommon, -fno-common
1213
Richard Smith081ad4d2017-01-24 19:39:46 +00001214.. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg>
1215
Richard Smith081ad4d2017-01-24 19:39:46 +00001216.. option:: -fconstant-cfstrings, -fno-constant-cfstrings
1217
Richard Smith081ad4d2017-01-24 19:39:46 +00001218.. option:: -fconstant-string-class=<arg>
1219
Richard Smith081ad4d2017-01-24 19:39:46 +00001220.. option:: -fconstexpr-backtrace-limit=<arg>
1221
Richard Smith081ad4d2017-01-24 19:39:46 +00001222.. option:: -fconstexpr-depth=<arg>
1223
Richard Smith081ad4d2017-01-24 19:39:46 +00001224.. option:: -fconstexpr-steps=<arg>
1225
Richard Smith081ad4d2017-01-24 19:39:46 +00001226.. option:: -fcoroutines-ts, -fno-coroutines-ts
1227
1228Enable support for the C++ Coroutines TS
1229
Richard Smith081ad4d2017-01-24 19:39:46 +00001230.. option:: -fcoverage-mapping, -fno-coverage-mapping
1231
1232Generate coverage mapping to enable code coverage analysis
1233
Richard Smith081ad4d2017-01-24 19:39:46 +00001234.. option:: -fcreate-profile
1235
Richard Smith081ad4d2017-01-24 19:39:46 +00001236.. option:: -fcxx-exceptions, -fno-cxx-exceptions
1237
1238Enable C++ exceptions
1239
Richard Smith081ad4d2017-01-24 19:39:46 +00001240.. option:: -fcxx-modules, -fno-cxx-modules
1241
Richard Smith081ad4d2017-01-24 19:39:46 +00001242.. option:: -fdata-sections, -fno-data-sections
1243
1244Place each data in its own section (ELF Only)
1245
Richard Smith081ad4d2017-01-24 19:39:46 +00001246.. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling
1247
1248Emit extra debug info to make sample profile more accurate.
1249
Richard Smith78e23fd2017-04-13 22:39:49 +00001250.. option:: -fdebug-macro, -fno-debug-macro
1251
1252Emit macro debug information
1253
Richard Smith081ad4d2017-01-24 19:39:46 +00001254.. option:: -fdebug-pass-arguments
1255
Richard Smith081ad4d2017-01-24 19:39:46 +00001256.. option:: -fdebug-pass-structure
1257
Richard Smith081ad4d2017-01-24 19:39:46 +00001258.. option:: -fdebug-prefix-map=<arg>
1259
1260remap file source paths in debug info
1261
Richard Smith081ad4d2017-01-24 19:39:46 +00001262.. option:: -fdebug-types-section, -fno-debug-types-section
1263
1264Place debug types in their own section (ELF Only)
1265
Richard Smith081ad4d2017-01-24 19:39:46 +00001266.. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing
1267
1268Parse templated function definitions at the end of the translation unit
1269
Richard Smith081ad4d2017-01-24 19:39:46 +00001270.. option:: -fdenormal-fp-math=<arg>
1271
Richard Smith081ad4d2017-01-24 19:39:46 +00001272.. option:: -fdiagnostics-absolute-paths
1273
1274Print absolute paths in diagnostics
1275
Richard Smith081ad4d2017-01-24 19:39:46 +00001276.. option:: -fdiagnostics-color, -fno-diagnostics-color
1277
Richard Smithb2c82a62017-01-27 01:54:42 +00001278.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001279.. option:: -fdiagnostics-color=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001280.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001281
Craig Topperd23254a2017-07-20 17:52:48 +00001282.. option:: -fdiagnostics-hotness-threshold=<number>
1283
1284Prevent optimization remarks from being output if they do not have at least this profile count
1285
Richard Smith081ad4d2017-01-24 19:39:46 +00001286.. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness
1287
1288Enable profile hotness information in diagnostic line
1289
Richard Smith081ad4d2017-01-24 19:39:46 +00001290.. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack
1291
1292Display include stacks for diagnostic notes
1293
Richard Smith081ad4d2017-01-24 19:39:46 +00001294.. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option
1295
1296Print option name with mappable diagnostics
1297
Richard Smith081ad4d2017-01-24 19:39:46 +00001298.. option:: -fdiagnostics-show-template-tree
1299
1300Print a template comparison tree for differing templates
1301
Richard Smith081ad4d2017-01-24 19:39:46 +00001302.. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers
1303
1304Allow '$' in identifiers
1305
Craig Topper16418662017-11-20 18:07:43 +00001306.. option:: -fdouble-square-bracket-attributes, -fno-double-square-bracket-attributes
1307
1308Enable '\[\[\]\]' attributes in all C and C++ language modes
1309
Richard Smith081ad4d2017-01-24 19:39:46 +00001310.. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm
1311
Craig Topper188252d2017-12-11 21:09:16 +00001312.. option:: -fdwarf-exceptions
1313
1314Use DWARF style exceptions
1315
Richard Smith081ad4d2017-01-24 19:39:46 +00001316.. option:: -felide-constructors, -fno-elide-constructors
1317
Richard Smith081ad4d2017-01-24 19:39:46 +00001318.. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols
1319
Richard Smith081ad4d2017-01-24 19:39:46 +00001320.. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker)
1321
1322Embed LLVM bitcode (option: off, all, bitcode, marker)
1323
Richard Smith081ad4d2017-01-24 19:39:46 +00001324.. option:: -femit-all-decls
1325
1326Emit all declarations, even if unused
1327
Richard Smith081ad4d2017-01-24 19:39:46 +00001328.. option:: -femulated-tls, -fno-emulated-tls
1329
1330Use emutls functions to access thread\_local variables
1331
Richard Smith081ad4d2017-01-24 19:39:46 +00001332.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg>
1333
Richard Smith081ad4d2017-01-24 19:39:46 +00001334.. option:: -ferror-limit=<arg>
1335
Richard Smith081ad4d2017-01-24 19:39:46 +00001336.. option:: -fexceptions, -fno-exceptions
1337
1338Enable support for exception handling
1339
Richard Smith081ad4d2017-01-24 19:39:46 +00001340.. option:: -fexec-charset=<arg>
1341
Richard Smith081ad4d2017-01-24 19:39:46 +00001342.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg>
1343
Richard Smith081ad4d2017-01-24 19:39:46 +00001344.. option:: -ffast-math, -fno-fast-math
1345
1346Allow aggressive, lossy floating-point optimizations
1347
Richard Smith081ad4d2017-01-24 19:39:46 +00001348.. option:: -ffinite-math-only, -fno-finite-math-only
1349
Richard Smith081ad4d2017-01-24 19:39:46 +00001350.. option:: -ffor-scope, -fno-for-scope
1351
Richard Smith081ad4d2017-01-24 19:39:46 +00001352.. option:: -ffp-contract=<arg>
1353
1354Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma, default) \| off (never fuse)
1355
Richard Smith081ad4d2017-01-24 19:39:46 +00001356.. option:: -ffreestanding
1357
1358Assert that the compilation takes place in a freestanding environment
1359
Richard Smith081ad4d2017-01-24 19:39:46 +00001360.. option:: -ffunction-sections, -fno-function-sections
1361
1362Place each function in its own section (ELF Only)
1363
Richard Smith081ad4d2017-01-24 19:39:46 +00001364.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm
1365
Richard Smith081ad4d2017-01-24 19:39:46 +00001366.. option:: -fgnu-keywords, -fno-gnu-keywords
1367
1368Allow GNU-extension keywords regardless of language standard
1369
Richard Smith081ad4d2017-01-24 19:39:46 +00001370.. option:: -fgnu-runtime
1371
1372Generate output compatible with the standard GNU Objective-C runtime
1373
Richard Smith081ad4d2017-01-24 19:39:46 +00001374.. option:: -fgnu89-inline, -fno-gnu89-inline
1375
1376Use the gnu89 inline semantics
1377
Richard Smith081ad4d2017-01-24 19:39:46 +00001378.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities
1379
Richard Smith081ad4d2017-01-24 19:39:46 +00001380.. option:: -fhonor-nans, -fno-honor-nans
1381
Richard Smith081ad4d2017-01-24 19:39:46 +00001382.. option:: -fhosted
1383
Richard Smith081ad4d2017-01-24 19:39:46 +00001384.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps
1385
1386Implicitly search the file system for module map files.
1387
Richard Smith081ad4d2017-01-24 19:39:46 +00001388.. option:: -fimplicit-modules, -fno-implicit-modules
1389
Richard Smith081ad4d2017-01-24 19:39:46 +00001390.. option:: -finput-charset=<arg>
1391
Craig Topper188252d2017-12-11 21:09:16 +00001392.. option:: -finstrument-function-entry-bare
1393
1394Instrument function entry only, after inlining, without arguments to the instrumentation call
1395
Richard Smith081ad4d2017-01-24 19:39:46 +00001396.. option:: -finstrument-functions
1397
1398Generate calls to instrument function entry and exit
1399
Craig Topper16418662017-11-20 18:07:43 +00001400.. option:: -finstrument-functions-after-inlining
1401
1402Like -finstrument-functions, but insert the calls after inlining
1403
Richard Smith081ad4d2017-01-24 19:39:46 +00001404.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as
1405
1406Enable the integrated assembler
1407
Richard Smith081ad4d2017-01-24 19:39:46 +00001408.. option:: -fjump-tables, -fno-jump-tables
1409
Richard Smith081ad4d2017-01-24 19:39:46 +00001410.. option:: -flax-vector-conversions, -fno-lax-vector-conversions
1411
Richard Smith081ad4d2017-01-24 19:39:46 +00001412.. option:: -flimited-precision=<arg>
1413
Richard Smith081ad4d2017-01-24 19:39:46 +00001414.. option:: -flto, -fno-lto
1415
1416Enable LTO in 'full' mode
1417
Richard Smith081ad4d2017-01-24 19:39:46 +00001418.. option:: -flto-jobs=<arg>
1419
1420Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
1421
Richard Smithb2c82a62017-01-27 01:54:42 +00001422.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001423.. option:: -flto=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001424.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001425
1426Set LTO mode to either 'full' or 'thin'
1427
Richard Smith081ad4d2017-01-24 19:39:46 +00001428.. option:: -fmacro-backtrace-limit=<arg>
1429
Richard Smith081ad4d2017-01-24 19:39:46 +00001430.. option:: -fmath-errno, -fno-math-errno
1431
1432Require math functions to indicate errors by setting errno
1433
Richard Smith081ad4d2017-01-24 19:39:46 +00001434.. option:: -fmax-type-align=<arg>
1435
1436Specify the maximum alignment to enforce on pointers lacking an explicit alignment
1437
Richard Smith081ad4d2017-01-24 19:39:46 +00001438.. option:: -fmerge-all-constants, -fno-merge-all-constants
1439
Richard Smith081ad4d2017-01-24 19:39:46 +00001440.. option:: -fmessage-length=<arg>
1441
Richard Smith081ad4d2017-01-24 19:39:46 +00001442.. option:: -fmodule-file-deps, -fno-module-file-deps
1443
Richard Smith081ad4d2017-01-24 19:39:46 +00001444.. option:: -fmodule-map-file=<file>
1445
1446Load this module map file
1447
Richard Smith081ad4d2017-01-24 19:39:46 +00001448.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg>
1449
1450Specify the name of the module to build
1451
Richard Smith081ad4d2017-01-24 19:39:46 +00001452.. option:: -fmodules, -fno-modules
1453
1454Enable the 'modules' language feature
1455
Richard Smith081ad4d2017-01-24 19:39:46 +00001456.. option:: -fmodules-decluse, -fno-modules-decluse
1457
1458Require declaration of modules used within a module
1459
Richard Smith081ad4d2017-01-24 19:39:46 +00001460.. option:: -fmodules-ignore-macro=<arg>
1461
1462Ignore the definition of the given macro when building and loading modules
1463
Richard Smith081ad4d2017-01-24 19:39:46 +00001464.. option:: -fmodules-search-all, -fno-modules-search-all
1465
1466Search even non-imported modules to resolve references
1467
Richard Smith081ad4d2017-01-24 19:39:46 +00001468.. option:: -fmodules-strict-decluse
1469
1470Like -fmodules-decluse but requires all headers to be in modules
1471
Richard Smith081ad4d2017-01-24 19:39:46 +00001472.. option:: -fmodules-ts
1473
1474Enable support for the C++ Modules TS
1475
Richard Smith081ad4d2017-01-24 19:39:46 +00001476.. option:: -fms-compatibility, -fno-ms-compatibility
1477
1478Enable full Microsoft Visual C++ compatibility
1479
Richard Smith081ad4d2017-01-24 19:39:46 +00001480.. option:: -fms-compatibility-version=<arg>
1481
1482Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1483
Richard Smith081ad4d2017-01-24 19:39:46 +00001484.. option:: -fms-extensions, -fno-ms-extensions
1485
1486Accept some non-standard constructs supported by the Microsoft compiler
1487
Richard Smith081ad4d2017-01-24 19:39:46 +00001488.. option:: -fms-memptr-rep=<arg>
1489
Richard Smith081ad4d2017-01-24 19:39:46 +00001490.. option:: -fms-volatile<arg>
1491
Richard Smith081ad4d2017-01-24 19:39:46 +00001492.. option:: -fmsc-version=<arg>
1493
1494Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1495
Richard Smith081ad4d2017-01-24 19:39:46 +00001496.. option:: -fmudflap
1497
Richard Smith081ad4d2017-01-24 19:39:46 +00001498.. option:: -fmudflapth
1499
Richard Smith081ad4d2017-01-24 19:39:46 +00001500.. option:: -fnested-functions
1501
Richard Smith081ad4d2017-01-24 19:39:46 +00001502.. option:: -fnew-alignment=<align>, -fnew-alignment <arg>
1503
1504Specifies the largest alignment guaranteed by '::operator new(size\_t)'
1505
Richard Smith081ad4d2017-01-24 19:39:46 +00001506.. option:: -fnext-runtime
1507
Richard Smith081ad4d2017-01-24 19:39:46 +00001508.. option:: -fno-builtin-<arg>
1509
1510Disable implicit builtin knowledge of a specific function
1511
Richard Smith081ad4d2017-01-24 19:39:46 +00001512.. option:: -fno-elide-type
1513
1514Do not elide types when printing diagnostics
1515
Richard Smith081ad4d2017-01-24 19:39:46 +00001516.. option:: -fno-max-type-align
1517
Richard Smith081ad4d2017-01-24 19:39:46 +00001518.. option:: -fno-operator-names
1519
1520Do not treat C++ operator name keywords as synonyms for operators
1521
Richard Smith081ad4d2017-01-24 19:39:46 +00001522.. option:: -fno-strict-modules-decluse
1523
Richard Smith081ad4d2017-01-24 19:39:46 +00001524.. option:: -fno-working-directory
1525
Richard Smith081ad4d2017-01-24 19:39:46 +00001526.. option:: -fobjc-abi-version=<arg>
1527
Richard Smith081ad4d2017-01-24 19:39:46 +00001528.. option:: -fobjc-arc, -fno-objc-arc
1529
1530Synthesize retain and release calls for Objective-C pointers
1531
Richard Smith081ad4d2017-01-24 19:39:46 +00001532.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions
1533
1534Use EH-safe code when synthesizing retains and releases in -fobjc-arc
1535
Richard Smith081ad4d2017-01-24 19:39:46 +00001536.. option:: -fobjc-exceptions, -fno-objc-exceptions
1537
1538Enable Objective-C exceptions
1539
Richard Smith081ad4d2017-01-24 19:39:46 +00001540.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type
1541
Richard Smith081ad4d2017-01-24 19:39:46 +00001542.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch
1543
Richard Smith081ad4d2017-01-24 19:39:46 +00001544.. option:: -fobjc-link-runtime
1545
Richard Smith081ad4d2017-01-24 19:39:46 +00001546.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi
1547
Richard Smith081ad4d2017-01-24 19:39:46 +00001548.. option:: -fobjc-nonfragile-abi-version=<arg>
1549
Richard Smith081ad4d2017-01-24 19:39:46 +00001550.. option:: -fobjc-runtime=<arg>
1551
1552Specify the target Objective-C runtime kind and version
1553
Richard Smith081ad4d2017-01-24 19:39:46 +00001554.. option:: -fobjc-sender-dependent-dispatch
1555
Richard Smith081ad4d2017-01-24 19:39:46 +00001556.. option:: -fobjc-weak, -fno-objc-weak
1557
1558Enable ARC-style weak references in Objective-C
1559
Richard Smith081ad4d2017-01-24 19:39:46 +00001560.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer
1561
Richard Smith081ad4d2017-01-24 19:39:46 +00001562.. option:: -fopenmp, -fno-openmp
1563
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00001564Parse OpenMP pragmas and generate parallel code.
Boris Kolpackovb150d242017-08-30 09:15:53 +00001565
Craig Topper287c8012018-01-03 18:29:12 +00001566.. option:: -fopenmp-simd, -fno-openmp-simd
1567
1568Emit OpenMP code only for SIMD-based constructs.
1569
Richard Smith081ad4d2017-01-24 19:39:46 +00001570.. option:: -fopenmp-version=<arg>
1571
Richard Smithb2c82a62017-01-27 01:54:42 +00001572.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001573.. option:: -fopenmp=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001574.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001575
Richard Smith081ad4d2017-01-24 19:39:46 +00001576.. option:: -foperator-arrow-depth=<arg>
1577
Richard Smith081ad4d2017-01-24 19:39:46 +00001578.. option:: -foptimization-record-file=<arg>
1579
1580Specify the file name of any generated YAML optimization record
1581
Richard Smith081ad4d2017-01-24 19:39:46 +00001582.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls
1583
Richard Smith081ad4d2017-01-24 19:39:46 +00001584.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg>
1585
Richard Smith081ad4d2017-01-24 19:39:46 +00001586.. option:: -fpack-struct, -fno-pack-struct
1587
Richard Smithb2c82a62017-01-27 01:54:42 +00001588.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001589.. option:: -fpack-struct=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001590.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001591
1592Specify the default maximum struct packing alignment
1593
Richard Smith081ad4d2017-01-24 19:39:46 +00001594.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings
1595
1596Recognize and construct Pascal-style string literals
1597
Richard Smith081ad4d2017-01-24 19:39:46 +00001598.. option:: -fpcc-struct-return
1599
1600Override the default ABI to return all structs on the stack
1601
Richard Smith081ad4d2017-01-24 19:39:46 +00001602.. option:: -fpch-preprocess
1603
Richard Smith081ad4d2017-01-24 19:39:46 +00001604.. option:: -fpic, -fno-pic
1605
Richard Smith081ad4d2017-01-24 19:39:46 +00001606.. option:: -fpie, -fno-pie
1607
Craig Topper16418662017-11-20 18:07:43 +00001608.. option:: -fplt, -fno-plt
1609
1610Use the PLT to make function calls
1611
Richard Smith081ad4d2017-01-24 19:39:46 +00001612.. option:: -fplugin=<dsopath>
1613
1614Load the named plugin (dynamic shared object)
1615
Richard Smith081ad4d2017-01-24 19:39:46 +00001616.. option:: -fpreserve-as-comments, -fno-preserve-as-comments
1617
Richard Smith081ad4d2017-01-24 19:39:46 +00001618.. option:: -fprofile-arcs, -fno-profile-arcs
1619
Richard Smith081ad4d2017-01-24 19:39:46 +00001620.. option:: -fprofile-dir=<arg>
1621
Richard Smith081ad4d2017-01-24 19:39:46 +00001622.. option:: -fprofile-generate, -fno-profile-generate
1623
1624Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1625
Richard Smithb2c82a62017-01-27 01:54:42 +00001626.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001627.. option:: -fprofile-generate=<directory>
Richard Smithb2c82a62017-01-27 01:54:42 +00001628.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001629
1630Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1631
Richard Smith081ad4d2017-01-24 19:39:46 +00001632.. option:: -fprofile-instr-generate, -fno-profile-instr-generate
1633
1634Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)
1635
Richard Smithb2c82a62017-01-27 01:54:42 +00001636.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001637.. option:: -fprofile-instr-generate=<file>
Richard Smithb2c82a62017-01-27 01:54:42 +00001638.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001639
1640Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var)
1641
Richard Smith081ad4d2017-01-24 19:39:46 +00001642.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use
1643
Richard Smithb2c82a62017-01-27 01:54:42 +00001644.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001645.. option:: -fprofile-instr-use=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001646.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001647
1648Use instrumentation data for profile-guided optimization
1649
Boris Kolpackovb150d242017-08-30 09:15:53 +00001650.. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate
1651
1652Specifies that the sample profile is accurate. If the sample
1653 profile is accurate, callsites without profile samples are marked
1654 as cold. Otherwise, treat callsites without profile samples as if
1655 we have no profile
1656
Richard Smith78e23fd2017-04-13 22:39:49 +00001657.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use
1658
1659.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001660.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg>
Richard Smith78e23fd2017-04-13 22:39:49 +00001661.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001662
1663Enable sample-based profile guided optimizations
1664
Richard Smithb2c82a62017-01-27 01:54:42 +00001665.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001666.. option:: -fprofile-use=<pathname>
Richard Smithb2c82a62017-01-27 01:54:42 +00001667.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001668
1669Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
1670
Richard Smith081ad4d2017-01-24 19:39:46 +00001671.. option:: -freciprocal-math, -fno-reciprocal-math
1672
1673Allow division operations to be reassociated
1674
Richard Smith081ad4d2017-01-24 19:39:46 +00001675.. option:: -freg-struct-return
1676
1677Override the default ABI to return small structs in registers
1678
Richard Smith081ad4d2017-01-24 19:39:46 +00001679.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args
1680
1681Enable C++17 relaxed template template argument matching
1682
Richard Smith081ad4d2017-01-24 19:39:46 +00001683.. option:: -freroll-loops, -fno-reroll-loops
1684
1685Turn on loop reroller
1686
Richard Smith081ad4d2017-01-24 19:39:46 +00001687.. option:: -fretain-comments-from-system-headers
1688
Craig Topperd23254a2017-07-20 17:52:48 +00001689.. option:: -frewrite-imports, -fno-rewrite-imports
1690
Richard Smith081ad4d2017-01-24 19:39:46 +00001691.. option:: -frewrite-includes, -fno-rewrite-includes
1692
Richard Smith081ad4d2017-01-24 19:39:46 +00001693.. option:: -frewrite-map-file <arg>
1694
Richard Smithb2c82a62017-01-27 01:54:42 +00001695.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001696.. option:: -frewrite-map-file=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001697.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001698
Richard Smith081ad4d2017-01-24 19:39:46 +00001699.. option:: -fropi, -fno-ropi
1700
Richard Smith081ad4d2017-01-24 19:39:46 +00001701.. option:: -frtti, -fno-rtti
1702
Richard Smith081ad4d2017-01-24 19:39:46 +00001703.. option:: -frwpi, -fno-rwpi
1704
Richard Smith081ad4d2017-01-24 19:39:46 +00001705.. option:: -fsave-optimization-record, -fno-save-optimization-record
1706
1707Generate a YAML optimization record file
1708
Craig Topper188252d2017-12-11 21:09:16 +00001709.. option:: -fseh-exceptions
1710
1711Use SEH style exceptions
1712
Richard Smith081ad4d2017-01-24 19:39:46 +00001713.. option:: -fshort-enums, -fno-short-enums
1714
1715Allocate to an enum type only as many bytes as it needs for the declared range of possible values
1716
Richard Smith081ad4d2017-01-24 19:39:46 +00001717.. option:: -fshort-wchar, -fno-short-wchar
1718
1719Force wchar\_t to be a short unsigned int
1720
Richard Smith081ad4d2017-01-24 19:39:46 +00001721.. option:: -fshow-column, -fno-show-column
1722
Richard Smith081ad4d2017-01-24 19:39:46 +00001723.. option:: -fshow-overloads=<arg>
1724
1725Which overload candidates to show when overload resolution fails: best\|all; defaults to all
1726
Richard Smith081ad4d2017-01-24 19:39:46 +00001727.. option:: -fshow-source-location, -fno-show-source-location
1728
Richard Smith081ad4d2017-01-24 19:39:46 +00001729.. option:: -fsignaling-math, -fno-signaling-math
1730
Richard Smith081ad4d2017-01-24 19:39:46 +00001731.. option:: -fsigned-bitfields
1732
Richard Smith081ad4d2017-01-24 19:39:46 +00001733.. option:: -fsigned-char, -fno-signed-char, --signed-char
1734
Richard Smith081ad4d2017-01-24 19:39:46 +00001735.. option:: -fsigned-zeros, -fno-signed-zeros
1736
Richard Smith081ad4d2017-01-24 19:39:46 +00001737.. option:: -fsized-deallocation, -fno-sized-deallocation
1738
1739Enable C++14 sized global deallocation functions
1740
Richard Smith081ad4d2017-01-24 19:39:46 +00001741.. option:: -fsjlj-exceptions
1742
1743Use SjLj style exceptions
1744
Richard Smith081ad4d2017-01-24 19:39:46 +00001745.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize
1746
1747Enable the superword-level parallelism vectorization passes
1748
Richard Smith081ad4d2017-01-24 19:39:46 +00001749.. option:: -fspell-checking, -fno-spell-checking
1750
Richard Smith081ad4d2017-01-24 19:39:46 +00001751.. option:: -fspell-checking-limit=<arg>
1752
Richard Smith081ad4d2017-01-24 19:39:46 +00001753.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining
1754
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00001755Provide 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 +00001756
Richard Smith081ad4d2017-01-24 19:39:46 +00001757.. option:: -fsplit-stack
1758
Richard Smith081ad4d2017-01-24 19:39:46 +00001759.. option:: -fstack-protector, -fno-stack-protector
1760
1761Enable stack protectors for functions potentially vulnerable to stack smashing
1762
Richard Smith081ad4d2017-01-24 19:39:46 +00001763.. option:: -fstack-protector-all
1764
1765Force the usage of stack protectors for all functions
1766
Richard Smith081ad4d2017-01-24 19:39:46 +00001767.. option:: -fstack-protector-strong
1768
1769Use a strong heuristic to apply stack protectors to functions
1770
Craig Topper596527b2018-01-23 18:40:15 +00001771.. option:: -fstack-size-section, -fno-stack-size-section
1772
1773Emit section containing metadata on function stack sizes
1774
Richard Smith081ad4d2017-01-24 19:39:46 +00001775.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug
1776
1777Emit full debug info for all types used by the program
1778
Richard Smith081ad4d2017-01-24 19:39:46 +00001779.. option:: -fstrict-aliasing, -fno-strict-aliasing
1780
Richard Smith081ad4d2017-01-24 19:39:46 +00001781.. option:: -fstrict-enums, -fno-strict-enums
1782
1783Enable optimizations based on the strict definition of an enum's value range
1784
Richard Smith081ad4d2017-01-24 19:39:46 +00001785.. option:: -fstrict-overflow, -fno-strict-overflow
1786
Richard Smith081ad4d2017-01-24 19:39:46 +00001787.. option:: -fstrict-return, -fno-strict-return
1788
Richard Smith78e23fd2017-04-13 22:39:49 +00001789Always treat control flow paths that fall off the end of a non-void function as unreachable
Richard Smith081ad4d2017-01-24 19:39:46 +00001790
Richard Smith081ad4d2017-01-24 19:39:46 +00001791.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers
1792
1793Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
1794
Richard Smith081ad4d2017-01-24 19:39:46 +00001795.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa
1796
Richard Smith081ad4d2017-01-24 19:39:46 +00001797.. option:: -ftabstop=<arg>
1798
Richard Smith081ad4d2017-01-24 19:39:46 +00001799.. option:: -ftemplate-backtrace-limit=<arg>
1800
Richard Smith081ad4d2017-01-24 19:39:46 +00001801.. option:: -ftemplate-depth-<arg>
1802
Richard Smith081ad4d2017-01-24 19:39:46 +00001803.. option:: -ftemplate-depth=<arg>
1804
Richard Smith081ad4d2017-01-24 19:39:46 +00001805.. option:: -ftest-coverage
1806
Richard Smith081ad4d2017-01-24 19:39:46 +00001807.. option:: -fthinlto-index=<arg>
1808
1809Perform ThinLTO importing using provided function summary index
1810
Richard Smith081ad4d2017-01-24 19:39:46 +00001811.. option:: -fthreadsafe-statics, -fno-threadsafe-statics
1812
Richard Smith081ad4d2017-01-24 19:39:46 +00001813.. option:: -ftime-report
1814
Richard Smith081ad4d2017-01-24 19:39:46 +00001815.. option:: -ftls-model=<arg>
1816
Richard Smith081ad4d2017-01-24 19:39:46 +00001817.. option:: -ftrap-function=<arg>
1818
1819Issue call to specified function rather than a trap instruction
1820
Richard Smith081ad4d2017-01-24 19:39:46 +00001821.. option:: -ftrapping-math, -fno-trapping-math
1822
Richard Smith081ad4d2017-01-24 19:39:46 +00001823.. option:: -ftrapv
1824
1825Trap on integer overflow
1826
Richard Smith081ad4d2017-01-24 19:39:46 +00001827.. option:: -ftrapv-handler <arg>
1828
Richard Smithb2c82a62017-01-27 01:54:42 +00001829.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001830.. option:: -ftrapv-handler=<function name>
Richard Smithb2c82a62017-01-27 01:54:42 +00001831.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001832
1833Specify the function to be called on overflow
1834
Richard Smith081ad4d2017-01-24 19:39:46 +00001835.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs
1836
1837Process trigraph sequences
1838
Richard Smith081ad4d2017-01-24 19:39:46 +00001839.. option:: -funique-section-names, -fno-unique-section-names
1840
1841Use unique names for text and data sections (ELF Only)
1842
Richard Smith081ad4d2017-01-24 19:39:46 +00001843.. option:: -funit-at-a-time, -fno-unit-at-a-time
1844
Richard Smith081ad4d2017-01-24 19:39:46 +00001845.. option:: -funroll-loops, -fno-unroll-loops
1846
1847Turn on loop unroller
1848
Richard Smith081ad4d2017-01-24 19:39:46 +00001849.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations
1850
Richard Smith081ad4d2017-01-24 19:39:46 +00001851.. option:: -funsigned-bitfields
1852
Richard Smith081ad4d2017-01-24 19:39:46 +00001853.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char
1854
Richard Smith081ad4d2017-01-24 19:39:46 +00001855.. option:: -funwind-tables, -fno-unwind-tables
1856
Richard Smith081ad4d2017-01-24 19:39:46 +00001857.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit
1858
Richard Smith081ad4d2017-01-24 19:39:46 +00001859.. option:: -fuse-init-array, -fno-use-init-array
1860
1861Use .init\_array instead of .ctors
1862
Richard Smith081ad4d2017-01-24 19:39:46 +00001863.. option:: -fuse-ld=<arg>
1864
Richard Smith081ad4d2017-01-24 19:39:46 +00001865.. option:: -fuse-line-directives, -fno-use-line-directives
1866
Richard Smith081ad4d2017-01-24 19:39:46 +00001867.. option:: -fveclib=<arg>
1868
1869Use the given vector functions library
1870
Richard Smith081ad4d2017-01-24 19:39:46 +00001871.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize
1872
1873Enable the loop vectorization passes
1874
Richard Smith081ad4d2017-01-24 19:39:46 +00001875.. option:: -fverbose-asm, -fno-verbose-asm
1876
Richard Smith081ad4d2017-01-24 19:39:46 +00001877.. option:: -fvisibility-inlines-hidden
1878
1879Give inline C++ member functions default visibility by default
1880
Richard Smith081ad4d2017-01-24 19:39:46 +00001881.. option:: -fvisibility-ms-compat
1882
1883Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
1884
Richard Smith081ad4d2017-01-24 19:39:46 +00001885.. option:: -fvisibility=<arg>
1886
1887Set the default symbol visibility for all global declarations
1888
Richard Smith081ad4d2017-01-24 19:39:46 +00001889.. option:: -fwhole-program-vtables, -fno-whole-program-vtables
1890
1891Enables whole-program vtable optimization. Requires -flto
1892
Richard Smith081ad4d2017-01-24 19:39:46 +00001893.. option:: -fwrapv, -fno-wrapv
1894
1895Treat signed integer overflow as two's complement
1896
Richard Smith081ad4d2017-01-24 19:39:46 +00001897.. option:: -fwritable-strings
1898
1899Store string literals as writable data
1900
Craig Topper188252d2017-12-11 21:09:16 +00001901.. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents
1902
1903Determine whether to always emit \_\_xray\_customevent(...) calls even if the function it appears in is not always instrumented.
1904
Richard Smith78e23fd2017-04-13 22:39:49 +00001905.. option:: -fxray-always-instrument=<arg>
1906
1907Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
1908
Richard Smith081ad4d2017-01-24 19:39:46 +00001909.. option:: -fxray-instruction-threshold<arg>
1910
Richard Smithb2c82a62017-01-27 01:54:42 +00001911.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001912.. option:: -fxray-instruction-threshold=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001913.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001914
1915Sets the minimum function size to instrument with XRay
1916
Richard Smith081ad4d2017-01-24 19:39:46 +00001917.. option:: -fxray-instrument, -fno-xray-instrument
1918
1919Generate XRay instrumentation sleds on function entry and exit
1920
Richard Smith78e23fd2017-04-13 22:39:49 +00001921.. option:: -fxray-never-instrument=<arg>
1922
1923Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
1924
Richard Smith081ad4d2017-01-24 19:39:46 +00001925.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss
1926
Richard Smith081ad4d2017-01-24 19:39:46 +00001927.. option:: -fzvector, -fno-zvector, -mzvector
1928
1929Enable System z vector language extension
1930
Richard Smith081ad4d2017-01-24 19:39:46 +00001931.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic
1932
Richard Smith081ad4d2017-01-24 19:39:46 +00001933.. option:: -pedantic-errors, --pedantic-errors
1934
1935OpenCL flags
1936------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001937.. option:: -cl-denorms-are-zero
1938
1939OpenCL only. Allow denormals to be flushed to zero.
1940
Richard Smith081ad4d2017-01-24 19:39:46 +00001941.. option:: -cl-fast-relaxed-math
1942
1943OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_.
1944
Richard Smith081ad4d2017-01-24 19:39:46 +00001945.. option:: -cl-finite-math-only
1946
1947OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
1948
Richard Smith081ad4d2017-01-24 19:39:46 +00001949.. option:: -cl-fp32-correctly-rounded-divide-sqrt
1950
1951OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
1952
Richard Smith081ad4d2017-01-24 19:39:46 +00001953.. option:: -cl-kernel-arg-info
1954
1955OpenCL only. Generate kernel argument metadata.
1956
Richard Smith081ad4d2017-01-24 19:39:46 +00001957.. option:: -cl-mad-enable
1958
1959OpenCL only. Allow use of less precise MAD computations in the generated binary.
1960
Richard Smith081ad4d2017-01-24 19:39:46 +00001961.. option:: -cl-no-signed-zeros
1962
1963OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
1964
Richard Smith081ad4d2017-01-24 19:39:46 +00001965.. option:: -cl-opt-disable
1966
1967OpenCL only. This option disables all optimizations. By default optimizations are enabled.
1968
Richard Smith081ad4d2017-01-24 19:39:46 +00001969.. option:: -cl-single-precision-constant
1970
1971OpenCL only. Treat double precision floating-point constant as single precision constant.
1972
Richard Smith081ad4d2017-01-24 19:39:46 +00001973.. option:: -cl-std=<arg>
1974
1975OpenCL language standard to compile for.
1976
Richard Smith081ad4d2017-01-24 19:39:46 +00001977.. option:: -cl-strict-aliasing
1978
1979OpenCL only. This option is added for compatibility with OpenCL 1.0.
1980
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00001981.. option:: -cl-uniform-work-group-size
1982
1983OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
1984
Richard Smith081ad4d2017-01-24 19:39:46 +00001985.. option:: -cl-unsafe-math-optimizations
1986
1987OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
1988
1989Target-dependent compilation options
1990~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Richard Smithc5b2e002017-01-27 02:08:37 +00001991.. option:: -G<size>, -G=<arg>, -msmall-data-threshold=<arg>
1992
1993Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
1994
Richard Smith081ad4d2017-01-24 19:39:46 +00001995.. option:: -m16
1996
Richard Smith081ad4d2017-01-24 19:39:46 +00001997.. option:: -m32
1998
Richard Smith081ad4d2017-01-24 19:39:46 +00001999.. option:: -m64
2000
Richard Smith081ad4d2017-01-24 19:39:46 +00002001.. option:: -mabi=<arg>
2002
Richard Smith081ad4d2017-01-24 19:39:46 +00002003.. option:: -mabicalls, -mno-abicalls
2004
2005Enable SVR4-style position-independent code (Mips only)
2006
Boris Kolpackovb150d242017-08-30 09:15:53 +00002007.. option:: -mabs=<arg>
2008
Richard Smith081ad4d2017-01-24 19:39:46 +00002009.. option:: -malign-double
2010
2011Align doubles to two words in structs (x86 only)
2012
Richard Smith081ad4d2017-01-24 19:39:46 +00002013.. option:: -march=<arg>
2014
Richard Smith081ad4d2017-01-24 19:39:46 +00002015.. option:: -masm=<arg>
2016
Richard Smith081ad4d2017-01-24 19:39:46 +00002017.. option:: -mbackchain, -mno-backchain
2018
2019Link stack frames through backchain on System Z
2020
Richard Smith081ad4d2017-01-24 19:39:46 +00002021.. option:: -mcheck-zero-division, -mno-check-zero-division
2022
Richard Smith081ad4d2017-01-24 19:39:46 +00002023.. option:: -mcmodel=<arg>
2024
Richard Smith081ad4d2017-01-24 19:39:46 +00002025.. option:: -mcompact-branches=<arg>
2026
Richard Smith081ad4d2017-01-24 19:39:46 +00002027.. option:: -mconsole<arg>
2028
Craig Topper287c8012018-01-03 18:29:12 +00002029.. option:: -mcpu=<arg>, -mv4 (equivalent to -mcpu=hexagonv4), -mv5 (equivalent to -mcpu=hexagonv5), -mv55 (equivalent to -mcpu=hexagonv55), -mv60 (equivalent to -mcpu=hexagonv60), -mv62 (equivalent to -mcpu=hexagonv62), -mv65 (equivalent to -mcpu=hexagonv65)
Richard Smith081ad4d2017-01-24 19:39:46 +00002030
Craig Topperd23254a2017-07-20 17:52:48 +00002031.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg>
2032
Richard Smith081ad4d2017-01-24 19:39:46 +00002033.. option:: -mdll<arg>
2034
Richard Smith081ad4d2017-01-24 19:39:46 +00002035.. option:: -mdouble-float
2036
Richard Smith081ad4d2017-01-24 19:39:46 +00002037.. option:: -mdsp, -mno-dsp
2038
Richard Smith081ad4d2017-01-24 19:39:46 +00002039.. option:: -mdspr2, -mno-dspr2
2040
Richard Smith081ad4d2017-01-24 19:39:46 +00002041.. option:: -mdynamic-no-pic<arg>
2042
Richard Smith081ad4d2017-01-24 19:39:46 +00002043.. option:: -meabi <arg>
2044
2045Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
2046
Boris Kolpackovb150d242017-08-30 09:15:53 +00002047.. option:: -membedded-data, -mno-embedded-data
2048
2049Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
2050
2051.. option:: -mextern-sdata, -mno-extern-sdata
2052
2053Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
2054
Richard Smith78e23fd2017-04-13 22:39:49 +00002055.. option:: -mfentry
2056
2057Insert calls to fentry at function entry (x86 only)
2058
Richard Smith081ad4d2017-01-24 19:39:46 +00002059.. option:: -mfloat-abi=<arg>
2060
Richard Smith081ad4d2017-01-24 19:39:46 +00002061.. option:: -mfp32
2062
2063Use 32-bit floating point registers (MIPS only)
2064
Richard Smith081ad4d2017-01-24 19:39:46 +00002065.. option:: -mfp64
2066
2067Use 64-bit floating point registers (MIPS only)
2068
Richard Smith081ad4d2017-01-24 19:39:46 +00002069.. option:: -mfpmath=<arg>
2070
Richard Smith081ad4d2017-01-24 19:39:46 +00002071.. option:: -mfpu=<arg>
2072
Richard Smith081ad4d2017-01-24 19:39:46 +00002073.. option:: -mglobal-merge, -mno-global-merge
2074
2075Enable merging of globals
2076
Craig Topperd23254a2017-07-20 17:52:48 +00002077.. option:: -mgpopt, -mno-gpopt
2078
2079Use GP relative accesses for symbols known to be in a small data section (MIPS)
2080
Richard Smith081ad4d2017-01-24 19:39:46 +00002081.. option:: -mhard-float
2082
Richard Smith081ad4d2017-01-24 19:39:46 +00002083.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg>
2084
Richard Smith081ad4d2017-01-24 19:39:46 +00002085.. option:: -miamcu, -mno-iamcu
2086
2087Use Intel MCU ABI
2088
Richard Smith081ad4d2017-01-24 19:39:46 +00002089.. option:: -mimplicit-float, -mno-implicit-float
2090
Richard Smith081ad4d2017-01-24 19:39:46 +00002091.. option:: -mimplicit-it=<arg>
2092
Richard Smith081ad4d2017-01-24 19:39:46 +00002093.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible
2094
2095(integrated-as) Emit an object file which can be used with an incremental linker
2096
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00002097.. option:: -mindirect-jump=<arg>
2098
2099Change indirect jump instructions to inhibit speculation
2100
Richard Smith78e23fd2017-04-13 22:39:49 +00002101.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002102
Richard Smith081ad4d2017-01-24 19:39:46 +00002103.. option:: -mips16
2104
Richard Smith081ad4d2017-01-24 19:39:46 +00002105.. option:: -mkernel
2106
Richard Smith081ad4d2017-01-24 19:39:46 +00002107.. option:: -mldc1-sdc1, -mno-ldc1-sdc1
2108
Boris Kolpackovb150d242017-08-30 09:15:53 +00002109.. option:: -mlocal-sdata, -mno-local-sdata
2110
2111Extend the -G behaviour to object local data (MIPS)
2112
Richard Smith081ad4d2017-01-24 19:39:46 +00002113.. option:: -mlong-calls, -mno-long-calls
2114
2115Generate branches with extended addressability, usually via indirect jumps.
2116
Craig Topperd23254a2017-07-20 17:52:48 +00002117.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002118
2119Set Mac OS X deployment target
2120
Craig Topperd23254a2017-07-20 17:52:48 +00002121.. option:: -mmadd4, -mno-madd4
2122
2123Enable the generation of 4-operand madd.s, madd.d and related instructions.
2124
2125.. option:: -mmcu=<arg>
2126
Richard Smith081ad4d2017-01-24 19:39:46 +00002127.. option:: -mmicromips, -mno-micromips
2128
Richard Smith081ad4d2017-01-24 19:39:46 +00002129.. option:: -mms-bitfields, -mno-ms-bitfields
2130
2131Set the default structure layout to be compatible with the Microsoft compiler standard
2132
Richard Smith081ad4d2017-01-24 19:39:46 +00002133.. option:: -mmsa, -mno-msa
2134
2135Enable MSA ASE (MIPS only)
2136
Craig Topperd23254a2017-07-20 17:52:48 +00002137.. option:: -mmt, -mno-mt
2138
2139Enable MT ASE (MIPS only)
2140
Richard Smith081ad4d2017-01-24 19:39:46 +00002141.. option:: -mnan=<arg>
2142
Richard Smith081ad4d2017-01-24 19:39:46 +00002143.. option:: -mno-mips16
2144
Richard Smith081ad4d2017-01-24 19:39:46 +00002145.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer
2146
2147Omit frame pointer setup for leaf functions
2148
Richard Smith081ad4d2017-01-24 19:39:46 +00002149.. option:: -moslib=<arg>
2150
Richard Smith081ad4d2017-01-24 19:39:46 +00002151.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations
2152
2153Use copy relocations support for PIE builds
2154
Craig Topper9a724aa2017-12-11 21:09:19 +00002155.. option:: -mprefer-vector-width=<arg>
2156
2157Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
2158
Richard Smith081ad4d2017-01-24 19:39:46 +00002159.. option:: -mqdsp6-compat
2160
2161Enable hexagon-qdsp6 backward compatibility
2162
Richard Smith081ad4d2017-01-24 19:39:46 +00002163.. option:: -mrecip
2164
Richard Smithb2c82a62017-01-27 01:54:42 +00002165.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002166.. option:: -mrecip=<arg1>,<arg2>...
Richard Smithb2c82a62017-01-27 01:54:42 +00002167.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002168
Richard Smith081ad4d2017-01-24 19:39:46 +00002169.. option:: -mred-zone, -mno-red-zone
2170
Richard Smith081ad4d2017-01-24 19:39:46 +00002171.. option:: -mregparm=<arg>
2172
Richard Smith081ad4d2017-01-24 19:39:46 +00002173.. option:: -mrelax-all, -mno-relax-all
2174
2175(integrated-as) Relax all machine instructions
2176
Richard Smith081ad4d2017-01-24 19:39:46 +00002177.. option:: -mrtd, -mno-rtd
2178
2179Make StdCall calling convention the default
2180
Richard Smith081ad4d2017-01-24 19:39:46 +00002181.. option:: -msingle-float
2182
Richard Smith081ad4d2017-01-24 19:39:46 +00002183.. option:: -msoft-float, -mno-soft-float
2184
2185Use software floating point
2186
Richard Smith081ad4d2017-01-24 19:39:46 +00002187.. option:: -mstack-alignment=<arg>
2188
2189Set the stack alignment
2190
Richard Smith081ad4d2017-01-24 19:39:46 +00002191.. option:: -mstack-probe-size=<arg>
2192
2193Set the stack probe size
2194
Hans Wennborgd43f40d2018-02-23 13:47:36 +00002195.. option:: -mstack-arg-probe, -mno-stack-arg-probe
2196
2197Disable stack probes
2198
Richard Smith081ad4d2017-01-24 19:39:46 +00002199.. option:: -mstackrealign, -mno-stackrealign
2200
2201Force realign the stack at entry to every function
2202
Richard Smith081ad4d2017-01-24 19:39:46 +00002203.. option:: -mthread-model <arg>
2204
2205The thread model to use, e.g. posix, single (posix by default)
2206
Richard Smith081ad4d2017-01-24 19:39:46 +00002207.. option:: -mthreads<arg>
2208
Richard Smith081ad4d2017-01-24 19:39:46 +00002209.. option:: -mthumb, -mno-thumb
2210
Richard Smith081ad4d2017-01-24 19:39:46 +00002211.. option:: -mtune=<arg>
2212
Richard Smith78e23fd2017-04-13 22:39:49 +00002213.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002214
Richard Smith081ad4d2017-01-24 19:39:46 +00002215.. option:: -municode<arg>
2216
Richard Smith081ad4d2017-01-24 19:39:46 +00002217.. option:: -mvx, -mno-vx
2218
Richard Smith081ad4d2017-01-24 19:39:46 +00002219.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings
2220
Richard Smith78e23fd2017-04-13 22:39:49 +00002221.. option:: -mwatchos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002222
Richard Smith081ad4d2017-01-24 19:39:46 +00002223.. option:: -mwindows<arg>
2224
Richard Smith081ad4d2017-01-24 19:39:46 +00002225.. option:: -mx32
2226
Richard Smith081ad4d2017-01-24 19:39:46 +00002227.. option:: -mxgot, -mno-xgot
2228
2229AARCH64
2230-------
Richard Smith081ad4d2017-01-24 19:39:46 +00002231.. option:: -ffixed-x18
2232
2233Reserve the x18 register (AArch64 only)
2234
Richard Smith081ad4d2017-01-24 19:39:46 +00002235.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769
2236
2237Workaround Cortex-A53 erratum 835769 (AArch64 only)
2238
Richard Smith081ad4d2017-01-24 19:39:46 +00002239.. option:: -mgeneral-regs-only
2240
2241Generate code which only uses the general purpose registers (AArch64 only)
2242
2243AMDGPU
2244------
Craig Topper16418662017-11-20 18:07:43 +00002245.. option:: -mxnack, -mno-xnack
2246
2247Enable XNACK (AMDGPU only)
2248
Richard Smith081ad4d2017-01-24 19:39:46 +00002249ARM
2250---
Richard Smith081ad4d2017-01-24 19:39:46 +00002251.. option:: -ffixed-r9
2252
2253Reserve the r9 register (ARM only)
2254
Richard Smith081ad4d2017-01-24 19:39:46 +00002255.. option:: -mcrc
2256
2257Allow use of CRC instructions (ARM only)
2258
Richard Smith081ad4d2017-01-24 19:39:46 +00002259.. option:: -mexecute-only, -mno-execute-only, -mpure-code
2260
2261Disallow generation of data access to code sections (ARM only)
2262
Richard Smith081ad4d2017-01-24 19:39:46 +00002263.. option:: -mno-movt
2264
2265Disallow use of movt/movw pairs (ARM only)
2266
Richard Smith78e23fd2017-04-13 22:39:49 +00002267.. option:: -mno-neg-immediates
2268
2269Disallow converting instructions with negative immediates to their negation or inversion.
2270
Richard Smith081ad4d2017-01-24 19:39:46 +00002271.. option:: -mnocrc
2272
2273Disallow use of CRC instructions (ARM only)
2274
Richard Smith081ad4d2017-01-24 19:39:46 +00002275.. option:: -mrestrict-it, -mno-restrict-it
2276
2277Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
2278
Craig Topper16418662017-11-20 18:07:43 +00002279.. option:: -mtp=<arg>
2280
2281Read thread pointer from coprocessor register (ARM only)
2282
Richard Smith081ad4d2017-01-24 19:39:46 +00002283.. option:: -munaligned-access, -mno-unaligned-access
2284
2285Allow memory accesses to be unaligned (AArch32/AArch64 only)
2286
2287Hexagon
2288-------
Craig Topper16418662017-11-20 18:07:43 +00002289.. option:: -mieee-rnd-near
2290
2291Hexagon
2292-------
Richard Smith081ad4d2017-01-24 19:39:46 +00002293.. option:: -mhvx, -mno-hvx
2294
2295Enable Hexagon Vector eXtensions
2296
Richard Smith081ad4d2017-01-24 19:39:46 +00002297.. option:: -mhvx-double, -mno-hvx-double
2298
2299Enable Hexagon Double Vector eXtensions
2300
Craig Topper16418662017-11-20 18:07:43 +00002301.. option:: -mhvx-length=<arg>
2302
2303Set Hexagon Vector Length
2304
2305.. program:: clang1
2306.. option:: -mhvx=<arg>
2307.. program:: clang
2308
2309Enable Hexagon Vector eXtensions
Richard Smith081ad4d2017-01-24 19:39:46 +00002310
2311PowerPC
2312-------
Richard Smith78e23fd2017-04-13 22:39:49 +00002313.. option:: -maltivec, -mno-altivec
2314
Richard Smith081ad4d2017-01-24 19:39:46 +00002315.. option:: -mcmpb, -mno-cmpb
2316
Richard Smith081ad4d2017-01-24 19:39:46 +00002317.. option:: -mcrbits, -mno-crbits
2318
Richard Smith081ad4d2017-01-24 19:39:46 +00002319.. option:: -mcrypto, -mno-crypto
2320
Richard Smith081ad4d2017-01-24 19:39:46 +00002321.. option:: -mdirect-move, -mno-direct-move
2322
Richard Smith081ad4d2017-01-24 19:39:46 +00002323.. option:: -mfloat128, -mno-float128
2324
Richard Smith081ad4d2017-01-24 19:39:46 +00002325.. option:: -mfprnd, -mno-fprnd
2326
Richard Smith081ad4d2017-01-24 19:39:46 +00002327.. option:: -mhtm, -mno-htm
2328
Richard Smith081ad4d2017-01-24 19:39:46 +00002329.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors
2330
Richard Smith081ad4d2017-01-24 19:39:46 +00002331.. option:: -misel, -mno-isel
2332
Richard Smith081ad4d2017-01-24 19:39:46 +00002333.. option:: -mlongcall, -mno-longcall
2334
Richard Smith081ad4d2017-01-24 19:39:46 +00002335.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf
2336
Richard Smith081ad4d2017-01-24 19:39:46 +00002337.. option:: -mpopcntd, -mno-popcntd
2338
Richard Smith081ad4d2017-01-24 19:39:46 +00002339.. option:: -mpower8-vector, -mno-power8-vector
2340
Richard Smith081ad4d2017-01-24 19:39:46 +00002341.. option:: -mpower9-vector, -mno-power9-vector
2342
Richard Smith081ad4d2017-01-24 19:39:46 +00002343.. option:: -mqpx, -mno-qpx
2344
Richard Smith081ad4d2017-01-24 19:39:46 +00002345.. option:: -mvsx, -mno-vsx
2346
2347WebAssembly
2348-----------
Craig Topper188252d2017-12-11 21:09:16 +00002349.. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint
2350
Dan Gohmand0c4e1e2018-01-19 17:16:32 +00002351.. option:: -msign-ext, -mno-sign-ext
2352
Richard Smith081ad4d2017-01-24 19:39:46 +00002353.. option:: -msimd128, -mno-simd128
2354
2355X86
2356---
Richard Smith081ad4d2017-01-24 19:39:46 +00002357.. option:: -m3dnow, -mno-3dnow
2358
Richard Smith081ad4d2017-01-24 19:39:46 +00002359.. option:: -m3dnowa, -mno-3dnowa
2360
Richard Smith081ad4d2017-01-24 19:39:46 +00002361.. option:: -madx, -mno-adx
2362
Richard Smith081ad4d2017-01-24 19:39:46 +00002363.. option:: -maes, -mno-aes
2364
Richard Smith081ad4d2017-01-24 19:39:46 +00002365.. option:: -mavx, -mno-avx
2366
Richard Smith081ad4d2017-01-24 19:39:46 +00002367.. option:: -mavx2, -mno-avx2
2368
Craig Topper287c8012018-01-03 18:29:12 +00002369.. option:: -mavx512bitalg, -mno-avx512bitalg
2370
Richard Smith081ad4d2017-01-24 19:39:46 +00002371.. option:: -mavx512bw, -mno-avx512bw
2372
Richard Smith081ad4d2017-01-24 19:39:46 +00002373.. option:: -mavx512cd, -mno-avx512cd
2374
Richard Smith081ad4d2017-01-24 19:39:46 +00002375.. option:: -mavx512dq, -mno-avx512dq
2376
Richard Smith081ad4d2017-01-24 19:39:46 +00002377.. option:: -mavx512er, -mno-avx512er
2378
Richard Smith081ad4d2017-01-24 19:39:46 +00002379.. option:: -mavx512f, -mno-avx512f
2380
Richard Smith081ad4d2017-01-24 19:39:46 +00002381.. option:: -mavx512ifma, -mno-avx512ifma
2382
Richard Smith081ad4d2017-01-24 19:39:46 +00002383.. option:: -mavx512pf, -mno-avx512pf
2384
Richard Smith081ad4d2017-01-24 19:39:46 +00002385.. option:: -mavx512vbmi, -mno-avx512vbmi
2386
Craig Topper287c8012018-01-03 18:29:12 +00002387.. option:: -mavx512vbmi2, -mno-avx512vbmi2
2388
Richard Smith081ad4d2017-01-24 19:39:46 +00002389.. option:: -mavx512vl, -mno-avx512vl
2390
Craig Topper287c8012018-01-03 18:29:12 +00002391.. option:: -mavx512vnni, -mno-avx512vnni
2392
Craig Topperd23254a2017-07-20 17:52:48 +00002393.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq
2394
Richard Smith081ad4d2017-01-24 19:39:46 +00002395.. option:: -mbmi, -mno-bmi
2396
Richard Smith081ad4d2017-01-24 19:39:46 +00002397.. option:: -mbmi2, -mno-bmi2
2398
Craig Topper78b47872017-02-08 06:48:58 +00002399.. option:: -mclflushopt, -mno-clflushopt
2400
Craig Topper177a57c2017-02-08 07:57:01 +00002401.. option:: -mclwb, -mno-clwb
2402
Richard Smith78e23fd2017-04-13 22:39:49 +00002403.. option:: -mclzero, -mno-clzero
2404
Richard Smith081ad4d2017-01-24 19:39:46 +00002405.. option:: -mcx16, -mno-cx16
2406
Richard Smith081ad4d2017-01-24 19:39:46 +00002407.. option:: -mf16c, -mno-f16c
2408
Richard Smith081ad4d2017-01-24 19:39:46 +00002409.. option:: -mfma, -mno-fma
2410
Richard Smith081ad4d2017-01-24 19:39:46 +00002411.. option:: -mfma4, -mno-fma4
2412
Richard Smith081ad4d2017-01-24 19:39:46 +00002413.. option:: -mfsgsbase, -mno-fsgsbase
2414
Richard Smith081ad4d2017-01-24 19:39:46 +00002415.. option:: -mfxsr, -mno-fxsr
2416
Craig Topper287c8012018-01-03 18:29:12 +00002417.. option:: -mgfni, -mno-gfni
2418
Craig Topper188252d2017-12-11 21:09:16 +00002419.. option:: -mibt, -mno-ibt
2420
Craig Topperd23254a2017-07-20 17:52:48 +00002421.. option:: -mlwp, -mno-lwp
2422
Richard Smith081ad4d2017-01-24 19:39:46 +00002423.. option:: -mlzcnt, -mno-lzcnt
2424
Richard Smith081ad4d2017-01-24 19:39:46 +00002425.. option:: -mmmx, -mno-mmx
2426
Craig Topper177a57c2017-02-08 07:57:01 +00002427.. option:: -mmovbe, -mno-movbe
2428
Craig Topperb16cb822017-02-08 07:56:42 +00002429.. option:: -mmpx, -mno-mpx
2430
Richard Smith081ad4d2017-01-24 19:39:46 +00002431.. option:: -mmwaitx, -mno-mwaitx
2432
Richard Smith081ad4d2017-01-24 19:39:46 +00002433.. option:: -mpclmul, -mno-pclmul
2434
Richard Smith081ad4d2017-01-24 19:39:46 +00002435.. option:: -mpku, -mno-pku
2436
Richard Smith081ad4d2017-01-24 19:39:46 +00002437.. option:: -mpopcnt, -mno-popcnt
2438
Craig Topperd2bf7b02017-02-08 08:23:40 +00002439.. option:: -mprefetchwt1, -mno-prefetchwt1
2440
Richard Smith081ad4d2017-01-24 19:39:46 +00002441.. option:: -mprfchw, -mno-prfchw
2442
Craig Topper596527b2018-01-23 18:40:15 +00002443.. option:: -mrdpid, -mno-rdpid
2444
Richard Smith081ad4d2017-01-24 19:39:46 +00002445.. option:: -mrdrnd, -mno-rdrnd
2446
Richard Smith081ad4d2017-01-24 19:39:46 +00002447.. option:: -mrdseed, -mno-rdseed
2448
Craig Topper596527b2018-01-23 18:40:15 +00002449.. option:: -mretpoline, -mno-retpoline
2450
2451.. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk
2452
Richard Smith081ad4d2017-01-24 19:39:46 +00002453.. option:: -mrtm, -mno-rtm
2454
Jonas Hahnfelda180fc42018-02-22 17:10:28 +00002455.. option:: -msahf, -mno-sahf
2456
Craig Topper204ecff2017-02-08 08:23:17 +00002457.. option:: -msgx, -mno-sgx
2458
Richard Smith081ad4d2017-01-24 19:39:46 +00002459.. option:: -msha, -mno-sha
2460
Craig Topper188252d2017-12-11 21:09:16 +00002461.. option:: -mshstk, -mno-shstk
2462
Richard Smith081ad4d2017-01-24 19:39:46 +00002463.. option:: -msse, -mno-sse
2464
Richard Smith081ad4d2017-01-24 19:39:46 +00002465.. option:: -msse2, -mno-sse2
2466
Richard Smith081ad4d2017-01-24 19:39:46 +00002467.. option:: -msse3, -mno-sse3
2468
Richard Smith081ad4d2017-01-24 19:39:46 +00002469.. option:: -msse4.1, -mno-sse4.1
2470
Richard Smithb2c82a62017-01-27 01:54:42 +00002471.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002472.. option:: -msse4.2, -mno-sse4.2, -msse4
Richard Smithb2c82a62017-01-27 01:54:42 +00002473.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002474
Richard Smith081ad4d2017-01-24 19:39:46 +00002475.. option:: -msse4a, -mno-sse4a
2476
Richard Smith081ad4d2017-01-24 19:39:46 +00002477.. option:: -mssse3, -mno-ssse3
2478
Richard Smith081ad4d2017-01-24 19:39:46 +00002479.. option:: -mtbm, -mno-tbm
2480
Craig Topper287c8012018-01-03 18:29:12 +00002481.. option:: -mvaes, -mno-vaes
2482
2483.. option:: -mvpclmulqdq, -mno-vpclmulqdq
2484
Richard Smith081ad4d2017-01-24 19:39:46 +00002485.. option:: -mx87, -m80387, -mno-x87
2486
Richard Smith081ad4d2017-01-24 19:39:46 +00002487.. option:: -mxop, -mno-xop
2488
Richard Smith081ad4d2017-01-24 19:39:46 +00002489.. option:: -mxsave, -mno-xsave
2490
Richard Smith081ad4d2017-01-24 19:39:46 +00002491.. option:: -mxsavec, -mno-xsavec
2492
Richard Smith081ad4d2017-01-24 19:39:46 +00002493.. option:: -mxsaveopt, -mno-xsaveopt
2494
Richard Smith081ad4d2017-01-24 19:39:46 +00002495.. option:: -mxsaves, -mno-xsaves
2496
2497Optimization level
2498~~~~~~~~~~~~~~~~~~
2499
2500Flags controlling how much optimization should be performed.
2501
Richard Smith081ad4d2017-01-24 19:39:46 +00002502.. option:: -O<arg>, -O (equivalent to -O2), --optimize, --optimize=<arg>
2503
Richard Smith081ad4d2017-01-24 19:39:46 +00002504.. option:: -Ofast<arg>
2505
2506Debug information generation
2507~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2508
2509Flags controlling how much and what kind of debug information should be
2510generated.
2511
2512Kind and level of debug information
2513-----------------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002514.. option:: -g, --debug, --debug=<arg>
2515
2516Generate source-level debug information
2517
Richard Smith081ad4d2017-01-24 19:39:46 +00002518.. option:: -gdwarf-2
2519
2520Generate source-level debug information with dwarf version 2
2521
Richard Smith081ad4d2017-01-24 19:39:46 +00002522.. option:: -gdwarf-3
2523
2524Generate source-level debug information with dwarf version 3
2525
Richard Smith081ad4d2017-01-24 19:39:46 +00002526.. option:: -gdwarf-4, -gdwarf
2527
2528Generate source-level debug information with dwarf version 4
2529
Richard Smith081ad4d2017-01-24 19:39:46 +00002530.. option:: -gdwarf-5
2531
2532Generate source-level debug information with dwarf version 5
2533
Richard Smith081ad4d2017-01-24 19:39:46 +00002534.. option:: -gfull
2535
Richard Smith081ad4d2017-01-24 19:39:46 +00002536.. option:: -gused
2537
2538Debug level
2539___________
Richard Smith081ad4d2017-01-24 19:39:46 +00002540.. option:: -g0
2541
Richard Smith081ad4d2017-01-24 19:39:46 +00002542.. option:: -g2
2543
Richard Smith081ad4d2017-01-24 19:39:46 +00002544.. option:: -g3
2545
Richard Smith081ad4d2017-01-24 19:39:46 +00002546.. option:: -ggdb0
2547
Richard Smith081ad4d2017-01-24 19:39:46 +00002548.. option:: -ggdb1
2549
Richard Smith081ad4d2017-01-24 19:39:46 +00002550.. option:: -ggdb2
2551
Richard Smith081ad4d2017-01-24 19:39:46 +00002552.. option:: -ggdb3
2553
Richard Smith081ad4d2017-01-24 19:39:46 +00002554.. option:: -gline-tables-only, -g1, -gmlt
2555
2556Emit debug line number tables only
2557
Richard Smith081ad4d2017-01-24 19:39:46 +00002558.. option:: -gmodules
2559
2560Generate debug info with external references to clang modules or precompiled headers
2561
2562Debugger to tune debug information for
2563______________________________________
Richard Smith081ad4d2017-01-24 19:39:46 +00002564.. option:: -ggdb
2565
Richard Smith081ad4d2017-01-24 19:39:46 +00002566.. option:: -glldb
2567
Richard Smith081ad4d2017-01-24 19:39:46 +00002568.. option:: -gsce
2569
2570Debug information flags
2571-----------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002572.. option:: -gcolumn-info, -gno-column-info
2573
Richard Smith081ad4d2017-01-24 19:39:46 +00002574.. option:: -gdwarf-aranges
2575
Scott Lindera2fbcef2018-02-26 17:32:31 +00002576.. option:: -gembed-source
2577
2578.. option:: -gno-embed-source
2579
Richard Smith081ad4d2017-01-24 19:39:46 +00002580.. option:: -ggnu-pubnames
2581
Richard Smith081ad4d2017-01-24 19:39:46 +00002582.. option:: -grecord-gcc-switches, -gno-record-gcc-switches
2583
Richard Smith081ad4d2017-01-24 19:39:46 +00002584.. option:: -gsplit-dwarf
2585
Richard Smith081ad4d2017-01-24 19:39:46 +00002586.. option:: -gstrict-dwarf, -gno-strict-dwarf
2587
Craig Topperd23254a2017-07-20 17:52:48 +00002588.. option:: -gz
2589
2590DWARF debug sections compression type
2591
2592.. program:: clang1
2593.. option:: -gz=<arg>
2594.. program:: clang
2595
2596DWARF debug sections compression type
2597
Richard Smithc5b2e002017-01-27 02:08:37 +00002598Static analyzer flags
2599=====================
Richard Smith081ad4d2017-01-24 19:39:46 +00002600
Richard Smithc5b2e002017-01-27 02:08:37 +00002601Flags controlling the behavior of the Clang Static Analyzer.
Richard Smith081ad4d2017-01-24 19:39:46 +00002602
Richard Smithc5b2e002017-01-27 02:08:37 +00002603.. option:: -Xanalyzer <arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002604
Richard Smithc5b2e002017-01-27 02:08:37 +00002605Pass <arg> to the static analyzer
Richard Smith081ad4d2017-01-24 19:39:46 +00002606
2607Fortran compilation flags
2608=========================
2609
2610Flags that will be passed onto the ``gfortran`` compiler when Clang is given
2611a Fortran input.
2612
Richard Smithc5b2e002017-01-27 02:08:37 +00002613.. option:: -A<arg>, --assert <arg>, --assert=<arg>
2614
Richard Smith081ad4d2017-01-24 19:39:46 +00002615.. option:: -A-<arg>
2616
Richard Smith081ad4d2017-01-24 19:39:46 +00002617.. option:: -J<arg>
2618
Richard Smith081ad4d2017-01-24 19:39:46 +00002619.. option:: -cpp
2620
Richard Smith081ad4d2017-01-24 19:39:46 +00002621.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination
2622
Richard Smith081ad4d2017-01-24 19:39:46 +00002623.. option:: -falign-commons, -fno-align-commons
2624
Richard Smith081ad4d2017-01-24 19:39:46 +00002625.. option:: -fall-intrinsics, -fno-all-intrinsics
2626
Richard Smith081ad4d2017-01-24 19:39:46 +00002627.. option:: -fautomatic, -fno-automatic
2628
Richard Smith081ad4d2017-01-24 19:39:46 +00002629.. option:: -fbackslash, -fno-backslash
2630
Richard Smith081ad4d2017-01-24 19:39:46 +00002631.. option:: -fbacktrace, -fno-backtrace
2632
Richard Smith081ad4d2017-01-24 19:39:46 +00002633.. option:: -fblas-matmul-limit=<arg>
2634
Richard Smith081ad4d2017-01-24 19:39:46 +00002635.. option:: -fbounds-check, -fno-bounds-check
2636
Richard Smith081ad4d2017-01-24 19:39:46 +00002637.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries
2638
Richard Smith081ad4d2017-01-24 19:39:46 +00002639.. option:: -fcheck=<arg>
2640
Richard Smith081ad4d2017-01-24 19:39:46 +00002641.. option:: -fcoarray=<arg>
2642
Richard Smith081ad4d2017-01-24 19:39:46 +00002643.. option:: -fconvert=<arg>
2644
Richard Smith081ad4d2017-01-24 19:39:46 +00002645.. option:: -fcray-pointer, -fno-cray-pointer
2646
Richard Smith081ad4d2017-01-24 19:39:46 +00002647.. option:: -fd-lines-as-code, -fno-d-lines-as-code
2648
Richard Smith081ad4d2017-01-24 19:39:46 +00002649.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments
2650
Richard Smith081ad4d2017-01-24 19:39:46 +00002651.. option:: -fdefault-double-8, -fno-default-double-8
2652
Richard Smith081ad4d2017-01-24 19:39:46 +00002653.. option:: -fdefault-integer-8, -fno-default-integer-8
2654
Richard Smith081ad4d2017-01-24 19:39:46 +00002655.. option:: -fdefault-real-8, -fno-default-real-8
2656
Richard Smith081ad4d2017-01-24 19:39:46 +00002657.. option:: -fdollar-ok, -fno-dollar-ok
2658
Richard Smith081ad4d2017-01-24 19:39:46 +00002659.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized
2660
Richard Smith081ad4d2017-01-24 19:39:46 +00002661.. option:: -fdump-fortran-original, -fno-dump-fortran-original
2662
Richard Smith081ad4d2017-01-24 19:39:46 +00002663.. option:: -fdump-parse-tree, -fno-dump-parse-tree
2664
Richard Smith081ad4d2017-01-24 19:39:46 +00002665.. option:: -fexternal-blas, -fno-external-blas
2666
Richard Smith081ad4d2017-01-24 19:39:46 +00002667.. option:: -ff2c, -fno-f2c
2668
Richard Smith081ad4d2017-01-24 19:39:46 +00002669.. option:: -ffixed-form, -fno-fixed-form
2670
Richard Smith081ad4d2017-01-24 19:39:46 +00002671.. option:: -ffixed-line-length-<arg>
2672
Richard Smith081ad4d2017-01-24 19:39:46 +00002673.. option:: -ffpe-trap=<arg>
2674
Richard Smith081ad4d2017-01-24 19:39:46 +00002675.. option:: -ffree-form, -fno-free-form
2676
Richard Smith081ad4d2017-01-24 19:39:46 +00002677.. option:: -ffree-line-length-<arg>
2678
Richard Smith081ad4d2017-01-24 19:39:46 +00002679.. option:: -ffrontend-optimize, -fno-frontend-optimize
2680
Richard Smith081ad4d2017-01-24 19:39:46 +00002681.. option:: -fimplicit-none, -fno-implicit-none
2682
Richard Smith081ad4d2017-01-24 19:39:46 +00002683.. option:: -finit-character=<arg>
2684
Richard Smith081ad4d2017-01-24 19:39:46 +00002685.. option:: -finit-integer=<arg>
2686
Richard Smith081ad4d2017-01-24 19:39:46 +00002687.. option:: -finit-local-zero, -fno-init-local-zero
2688
Richard Smith081ad4d2017-01-24 19:39:46 +00002689.. option:: -finit-logical=<arg>
2690
Richard Smith081ad4d2017-01-24 19:39:46 +00002691.. option:: -finit-real=<arg>
2692
Richard Smith081ad4d2017-01-24 19:39:46 +00002693.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8
2694
Richard Smith081ad4d2017-01-24 19:39:46 +00002695.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path
2696
Richard Smith081ad4d2017-01-24 19:39:46 +00002697.. option:: -fmax-array-constructor=<arg>
2698
Richard Smith081ad4d2017-01-24 19:39:46 +00002699.. option:: -fmax-errors=<arg>
2700
Richard Smith081ad4d2017-01-24 19:39:46 +00002701.. option:: -fmax-identifier-length, -fno-max-identifier-length
2702
Richard Smith081ad4d2017-01-24 19:39:46 +00002703.. option:: -fmax-stack-var-size=<arg>
2704
Richard Smith081ad4d2017-01-24 19:39:46 +00002705.. option:: -fmax-subrecord-length=<arg>
2706
Richard Smith081ad4d2017-01-24 19:39:46 +00002707.. option:: -fmodule-private, -fno-module-private
2708
Richard Smith081ad4d2017-01-24 19:39:46 +00002709.. option:: -fpack-derived, -fno-pack-derived
2710
Richard Smith081ad4d2017-01-24 19:39:46 +00002711.. option:: -fprotect-parens, -fno-protect-parens
2712
Richard Smith081ad4d2017-01-24 19:39:46 +00002713.. option:: -frange-check, -fno-range-check
2714
Richard Smith081ad4d2017-01-24 19:39:46 +00002715.. option:: -freal-4-real-10, -fno-real-4-real-10
2716
Richard Smith081ad4d2017-01-24 19:39:46 +00002717.. option:: -freal-4-real-16, -fno-real-4-real-16
2718
Richard Smith081ad4d2017-01-24 19:39:46 +00002719.. option:: -freal-4-real-8, -fno-real-4-real-8
2720
Richard Smith081ad4d2017-01-24 19:39:46 +00002721.. option:: -freal-8-real-10, -fno-real-8-real-10
2722
Richard Smith081ad4d2017-01-24 19:39:46 +00002723.. option:: -freal-8-real-16, -fno-real-8-real-16
2724
Richard Smith081ad4d2017-01-24 19:39:46 +00002725.. option:: -freal-8-real-4, -fno-real-8-real-4
2726
Richard Smith081ad4d2017-01-24 19:39:46 +00002727.. option:: -frealloc-lhs, -fno-realloc-lhs
2728
Richard Smith081ad4d2017-01-24 19:39:46 +00002729.. option:: -frecord-marker=<arg>
2730
Richard Smith081ad4d2017-01-24 19:39:46 +00002731.. option:: -frecursive, -fno-recursive
2732
Richard Smith081ad4d2017-01-24 19:39:46 +00002733.. option:: -frepack-arrays, -fno-repack-arrays
2734
Richard Smith081ad4d2017-01-24 19:39:46 +00002735.. option:: -fsecond-underscore, -fno-second-underscore
2736
Richard Smith081ad4d2017-01-24 19:39:46 +00002737.. option:: -fsign-zero, -fno-sign-zero
2738
Richard Smith081ad4d2017-01-24 19:39:46 +00002739.. option:: -fstack-arrays, -fno-stack-arrays
2740
Richard Smith081ad4d2017-01-24 19:39:46 +00002741.. option:: -funderscoring, -fno-underscoring
2742
Richard Smith081ad4d2017-01-24 19:39:46 +00002743.. option:: -fwhole-file, -fno-whole-file
2744
Richard Smith081ad4d2017-01-24 19:39:46 +00002745.. option:: -nocpp
2746
Richard Smith081ad4d2017-01-24 19:39:46 +00002747.. option:: -static-libgfortran
2748
Richard Smithc5b2e002017-01-27 02:08:37 +00002749Linker flags
2750============
2751Flags that are passed on to the linker
2752
2753.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>
2754
2755Add directory to library search path
2756
2757.. option:: -Mach
2758
2759.. option:: -T<script>
2760
2761Specify <script> as linker script
2762
Richard Smith78e23fd2017-04-13 22:39:49 +00002763.. option:: -Tbss<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00002764
2765Set starting address of BSS to <addr>
2766
Richard Smith78e23fd2017-04-13 22:39:49 +00002767.. option:: -Tdata<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00002768
2769Set starting address of BSS to <addr>
2770
Richard Smith78e23fd2017-04-13 22:39:49 +00002771.. option:: -Ttext<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00002772
2773Set starting address of BSS to <addr>
2774
2775.. option:: -Wl,<arg>,<arg2>...
2776
2777Pass the comma separated arguments in <arg> to the linker
2778
2779.. option:: -X
2780
2781.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>
2782
2783Pass <arg> to the linker
2784
2785.. program:: clang1
2786.. option:: -Z
2787.. program:: clang
2788
2789.. option:: -e<arg>, --entry
2790
2791.. option:: -filelist <arg>
2792
2793.. option:: -l<arg>
2794
2795.. option:: -r
2796
2797.. option:: -rpath <arg>
2798
2799.. option:: -s
2800
2801.. option:: -t
2802
2803.. option:: -u<arg>, --force-link <arg>, --force-link=<arg>
2804
2805.. option:: -undef
2806
2807undef all system defines
2808
2809.. option:: -undefined<arg>, --no-undefined
2810
2811.. option:: -z <arg>
2812
2813Pass -z <arg> to the linker
2814