blob: 0cc9c71ebe63c2f7f0472d31981f34a3aaa976d3 [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
64.. option:: -Xopenmp-target=<arg> <arg2>
65.. program:: clang
66
67Pass <arg> to the specified target offloading toolchain. The triple that identifies the toolchain must be provided after the equals sign.
68
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
Richard Smith081ad4d2017-01-24 19:39:46 +0000119.. option:: -client\_name<arg>
120
Richard Smith081ad4d2017-01-24 19:39:46 +0000121.. option:: -compatibility\_version<arg>
122
Richard Smith081ad4d2017-01-24 19:39:46 +0000123.. option:: --constant-cfstrings
124
Richard Smith081ad4d2017-01-24 19:39:46 +0000125.. option:: -coverage, --coverage
126
Richard Smith081ad4d2017-01-24 19:39:46 +0000127.. option:: --cuda-compile-host-device
128
129Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
130
Richard Smith081ad4d2017-01-24 19:39:46 +0000131.. option:: --cuda-device-only
132
133Compile CUDA code for device only
134
Richard Smith081ad4d2017-01-24 19:39:46 +0000135.. option:: --cuda-gpu-arch=<arg>, --no-cuda-gpu-arch=<arg>
136
137CUDA GPU architecture (e.g. sm\_35). May be specified more than once.
138
Richard Smith081ad4d2017-01-24 19:39:46 +0000139.. option:: --cuda-host-only
140
141Compile CUDA code for host only. Has no effect on non-CUDA compilations.
142
Richard Smith081ad4d2017-01-24 19:39:46 +0000143.. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug
144
145Enable device-side debug info generation. Disables ptxas optimizations.
146
Richard Smith081ad4d2017-01-24 19:39:46 +0000147.. option:: -current\_version<arg>
148
Richard Smith081ad4d2017-01-24 19:39:46 +0000149.. option:: -dead\_strip
150
Richard Smith081ad4d2017-01-24 19:39:46 +0000151.. option:: -dependency-dot <arg>
152
153Filename to write DOT-formatted header dependencies to
154
Richard Smith081ad4d2017-01-24 19:39:46 +0000155.. option:: -dependency-file <arg>
156
157Filename (or -) to write dependency output to
158
Richard Smith081ad4d2017-01-24 19:39:46 +0000159.. option:: -dumpmachine
160
Richard Smith081ad4d2017-01-24 19:39:46 +0000161.. option:: -dumpversion
162
Richard Smith081ad4d2017-01-24 19:39:46 +0000163.. option:: --dyld-prefix=<arg>, --dyld-prefix <arg>
164
Richard Smith081ad4d2017-01-24 19:39:46 +0000165.. option:: -dylib\_file <arg>
166
Richard Smith081ad4d2017-01-24 19:39:46 +0000167.. option:: -dylinker
168
Richard Smithb2c82a62017-01-27 01:54:42 +0000169.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000170.. option:: -dylinker\_install\_name<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000171.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000172
Richard Smith081ad4d2017-01-24 19:39:46 +0000173.. option:: -dynamic
174
Richard Smith081ad4d2017-01-24 19:39:46 +0000175.. option:: -dynamiclib
176
Richard Smith081ad4d2017-01-24 19:39:46 +0000177.. option:: -emit-ast
178
179Emit Clang AST files for source inputs
180
Richard Smith081ad4d2017-01-24 19:39:46 +0000181.. option:: -exported\_symbols\_list <arg>
182
Richard Smith081ad4d2017-01-24 19:39:46 +0000183.. option:: -faligned-new=<arg>
184
Richard Smith081ad4d2017-01-24 19:39:46 +0000185.. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals
186
187Use approximate transcendental functions
188
Richard Smith081ad4d2017-01-24 19:39:46 +0000189.. option:: -fcuda-flush-denormals-to-zero, -fno-cuda-flush-denormals-to-zero
190
191Flush denormal floating point values to zero in CUDA device mode.
192
Richard Smith081ad4d2017-01-24 19:39:46 +0000193.. option:: -fheinous-gnu-extensions
194
Richard Smith081ad4d2017-01-24 19:39:46 +0000195.. option:: -flat\_namespace
196
Richard Smith081ad4d2017-01-24 19:39:46 +0000197.. option:: -fopenmp-targets=<arg1>,<arg2>...
198
199Specify comma-separated list of triples OpenMP offloading targets to be supported
200
Richard Smith081ad4d2017-01-24 19:39:46 +0000201.. option:: -force\_cpusubtype\_ALL
202
Richard Smithb2c82a62017-01-27 01:54:42 +0000203.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000204.. option:: -force\_flat\_namespace
Richard Smithb2c82a62017-01-27 01:54:42 +0000205.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000206
Richard Smithb2c82a62017-01-27 01:54:42 +0000207.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000208.. option:: -force\_load <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000209.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000210
Richard Smith081ad4d2017-01-24 19:39:46 +0000211.. option:: -framework <arg>
212
Richard Smith78e23fd2017-04-13 22:39:49 +0000213.. option:: -frtlib-add-rpath, -fno-rtlib-add-rpath
214
215Add -rpath with architecture-specific resource directory to the linker flags
216
Richard Smith081ad4d2017-01-24 19:39:46 +0000217.. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg>
218
219Use the gcc toolchain at the given directory
220
Richard Smith081ad4d2017-01-24 19:39:46 +0000221.. option:: -gcodeview
222
223Generate CodeView debug information
224
Richard Smith081ad4d2017-01-24 19:39:46 +0000225.. option:: -headerpad\_max\_install\_names<arg>
226
Richard Smith081ad4d2017-01-24 19:39:46 +0000227.. option:: -help, --help
228
229Display available options
230
Richard Smith081ad4d2017-01-24 19:39:46 +0000231.. option:: --help-hidden
232
Richard Smith081ad4d2017-01-24 19:39:46 +0000233.. option:: -image\_base <arg>
234
Richard Smith081ad4d2017-01-24 19:39:46 +0000235.. option:: -index-header-map
236
237Make the next included directory (-I or -F) an indexer header map
238
Richard Smith081ad4d2017-01-24 19:39:46 +0000239.. option:: -init <arg>
240
Richard Smith081ad4d2017-01-24 19:39:46 +0000241.. option:: -install\_name <arg>
242
Richard Smith081ad4d2017-01-24 19:39:46 +0000243.. option:: -keep\_private\_externs
244
Richard Smith081ad4d2017-01-24 19:39:46 +0000245.. option:: -lazy\_framework <arg>
246
Richard Smithb2c82a62017-01-27 01:54:42 +0000247.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000248.. option:: -lazy\_library <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000249.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000250
Richard Smith081ad4d2017-01-24 19:39:46 +0000251.. option:: -mbig-endian, -EB
252
Richard Smith081ad4d2017-01-24 19:39:46 +0000253.. option:: --migrate
254
255Run the migrator
256
Richard Smith78e23fd2017-04-13 22:39:49 +0000257.. option:: -mios-simulator-version-min=<arg>, -miphonesimulator-version-min=<arg>
258
Richard Smith081ad4d2017-01-24 19:39:46 +0000259.. option:: -mlinker-version=<arg>
260
Richard Smith081ad4d2017-01-24 19:39:46 +0000261.. option:: -mlittle-endian, -EL
262
Richard Smith081ad4d2017-01-24 19:39:46 +0000263.. option:: -mllvm <arg>
264
265Additional arguments to forward to LLVM's option processing
266
Richard Smith081ad4d2017-01-24 19:39:46 +0000267.. option:: -module-dependency-dir <arg>
268
269Directory to dump module dependencies to
270
Richard Smith78e23fd2017-04-13 22:39:49 +0000271.. option:: -mtvos-simulator-version-min=<arg>, -mappletvsimulator-version-min=<arg>
272
Richard Smith081ad4d2017-01-24 19:39:46 +0000273.. option:: -multi\_module
274
Richard Smith081ad4d2017-01-24 19:39:46 +0000275.. option:: -multiply\_defined <arg>
276
Richard Smithb2c82a62017-01-27 01:54:42 +0000277.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000278.. option:: -multiply\_defined\_unused <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000279.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000280
Richard Smith78e23fd2017-04-13 22:39:49 +0000281.. option:: -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg>
282
Richard Smith081ad4d2017-01-24 19:39:46 +0000283.. option:: --no-cuda-version-check
284
285Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
286
Richard Smith081ad4d2017-01-24 19:39:46 +0000287.. option:: -no-integrated-cpp, --no-integrated-cpp
288
Richard Smith081ad4d2017-01-24 19:39:46 +0000289.. option:: -no\_dead\_strip\_inits\_and\_terms
290
Richard Smith081ad4d2017-01-24 19:39:46 +0000291.. option:: -nobuiltininc
292
293Disable builtin #include directories
294
Richard Smith081ad4d2017-01-24 19:39:46 +0000295.. option:: -nocudainc
296
Richard Smith081ad4d2017-01-24 19:39:46 +0000297.. option:: -nocudalib
298
Richard Smith081ad4d2017-01-24 19:39:46 +0000299.. option:: -nodefaultlibs
300
Richard Smith081ad4d2017-01-24 19:39:46 +0000301.. option:: -nofixprebinding
302
Richard Smith081ad4d2017-01-24 19:39:46 +0000303.. option:: -nolibc
304
Richard Smith081ad4d2017-01-24 19:39:46 +0000305.. option:: -nomultidefs
306
Craig Topperd23254a2017-07-20 17:52:48 +0000307.. option:: -nopie, -no-pie
Richard Smith081ad4d2017-01-24 19:39:46 +0000308
Richard Smith081ad4d2017-01-24 19:39:46 +0000309.. option:: -noprebind
310
Richard Smith081ad4d2017-01-24 19:39:46 +0000311.. option:: -noseglinkedit
312
Richard Smith081ad4d2017-01-24 19:39:46 +0000313.. option:: -nostartfiles
314
Richard Smith081ad4d2017-01-24 19:39:46 +0000315.. option:: -nostdinc, --no-standard-includes
316
Richard Smithb2c82a62017-01-27 01:54:42 +0000317.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000318.. option:: -nostdinc++
Richard Smithb2c82a62017-01-27 01:54:42 +0000319.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000320
321Disable standard #include directories for the C++ standard library
322
Richard Smith081ad4d2017-01-24 19:39:46 +0000323.. option:: -nostdlib, --no-standard-libraries
324
Boris Kolpackovb150d242017-08-30 09:15:53 +0000325.. program:: clang1
326.. option:: -nostdlib++
327.. program:: clang
328
Richard Smith081ad4d2017-01-24 19:39:46 +0000329.. option:: -nostdlibinc
330
Richard Smith081ad4d2017-01-24 19:39:46 +0000331.. option:: -o<file>, --output <arg>, --output=<arg>
332
333Write output to <file>
334
Richard Smith081ad4d2017-01-24 19:39:46 +0000335.. option:: -objcmt-atomic-property
336
337Make migration to 'atomic' properties
338
Richard Smith081ad4d2017-01-24 19:39:46 +0000339.. option:: -objcmt-migrate-all
340
341Enable migration to modern ObjC
342
Richard Smith081ad4d2017-01-24 19:39:46 +0000343.. option:: -objcmt-migrate-annotation
344
345Enable migration to property and method annotations
346
Richard Smith081ad4d2017-01-24 19:39:46 +0000347.. option:: -objcmt-migrate-designated-init
348
349Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods
350
Richard Smith081ad4d2017-01-24 19:39:46 +0000351.. option:: -objcmt-migrate-instancetype
352
353Enable migration to infer instancetype for method result type
354
Richard Smith081ad4d2017-01-24 19:39:46 +0000355.. option:: -objcmt-migrate-literals
356
357Enable migration to modern ObjC literals
358
Richard Smith081ad4d2017-01-24 19:39:46 +0000359.. option:: -objcmt-migrate-ns-macros
360
361Enable migration to NS\_ENUM/NS\_OPTIONS macros
362
Richard Smith081ad4d2017-01-24 19:39:46 +0000363.. option:: -objcmt-migrate-property
364
365Enable migration to modern ObjC property
366
Richard Smith081ad4d2017-01-24 19:39:46 +0000367.. option:: -objcmt-migrate-property-dot-syntax
368
369Enable migration of setter/getter messages to property-dot syntax
370
Richard Smith081ad4d2017-01-24 19:39:46 +0000371.. option:: -objcmt-migrate-protocol-conformance
372
373Enable migration to add protocol conformance on classes
374
Richard Smith081ad4d2017-01-24 19:39:46 +0000375.. option:: -objcmt-migrate-readonly-property
376
377Enable migration to modern ObjC readonly property
378
Richard Smith081ad4d2017-01-24 19:39:46 +0000379.. option:: -objcmt-migrate-readwrite-property
380
381Enable migration to modern ObjC readwrite property
382
Richard Smith081ad4d2017-01-24 19:39:46 +0000383.. option:: -objcmt-migrate-subscripting
384
385Enable migration to modern ObjC subscripting
386
Richard Smith081ad4d2017-01-24 19:39:46 +0000387.. option:: -objcmt-ns-nonatomic-iosonly
388
389Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute
390
Richard Smith081ad4d2017-01-24 19:39:46 +0000391.. option:: -objcmt-returns-innerpointer-property
392
393Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER
394
Richard Smith081ad4d2017-01-24 19:39:46 +0000395.. option:: -objcmt-whitelist-dir-path=<arg>, -objcmt-white-list-dir-path=<arg>
396
397Only modify files with a filename contained in the provided directory path
398
Richard Smith081ad4d2017-01-24 19:39:46 +0000399.. option:: -object
400
Richard Smith081ad4d2017-01-24 19:39:46 +0000401.. option:: -p, --profile
402
Richard Smith081ad4d2017-01-24 19:39:46 +0000403.. option:: -pagezero\_size<arg>
404
Richard Smith081ad4d2017-01-24 19:39:46 +0000405.. option:: -pg
406
407Enable mcount instrumentation
408
Richard Smith081ad4d2017-01-24 19:39:46 +0000409.. option:: -pie
410
Richard Smith081ad4d2017-01-24 19:39:46 +0000411.. option:: -pipe, --pipe
412
413Use pipes between commands, when possible
414
Richard Smith081ad4d2017-01-24 19:39:46 +0000415.. option:: -prebind
416
Richard Smithb2c82a62017-01-27 01:54:42 +0000417.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000418.. option:: -prebind\_all\_twolevel\_modules
Richard Smithb2c82a62017-01-27 01:54:42 +0000419.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000420
Richard Smith081ad4d2017-01-24 19:39:46 +0000421.. option:: -preload
422
Richard Smith081ad4d2017-01-24 19:39:46 +0000423.. option:: --print-diagnostic-categories
424
Richard Smith081ad4d2017-01-24 19:39:46 +0000425.. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg>
426
427Print the full library path of <file>
428
Richard Smith081ad4d2017-01-24 19:39:46 +0000429.. option:: -print-ivar-layout
430
431Enable Objective-C Ivar layout bitmap print trace
432
Richard Smith081ad4d2017-01-24 19:39:46 +0000433.. option:: -print-libgcc-file-name, --print-libgcc-file-name
434
435Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang\_rt.builtins.\*.a")
436
Richard Smith081ad4d2017-01-24 19:39:46 +0000437.. option:: -print-multi-directory, --print-multi-directory
438
Richard Smith081ad4d2017-01-24 19:39:46 +0000439.. option:: -print-multi-lib, --print-multi-lib
440
Richard Smith081ad4d2017-01-24 19:39:46 +0000441.. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg>
442
443Print the full program path of <name>
444
Richard Smith78e23fd2017-04-13 22:39:49 +0000445.. option:: -print-resource-dir, --print-resource-dir
446
447Print the resource directory pathname
448
Richard Smith081ad4d2017-01-24 19:39:46 +0000449.. option:: -print-search-dirs, --print-search-dirs
450
451Print the paths used for finding libraries and programs
452
Richard Smith081ad4d2017-01-24 19:39:46 +0000453.. option:: -private\_bundle
454
Richard Smith081ad4d2017-01-24 19:39:46 +0000455.. option:: -pthread, -no-pthread
456
457Support POSIX threads in generated code
458
Richard Smith081ad4d2017-01-24 19:39:46 +0000459.. option:: -pthreads
460
Richard Smith081ad4d2017-01-24 19:39:46 +0000461.. option:: -rdynamic
462
Richard Smith081ad4d2017-01-24 19:39:46 +0000463.. option:: -read\_only\_relocs <arg>
464
Richard Smith081ad4d2017-01-24 19:39:46 +0000465.. option:: -relocatable-pch, --relocatable-pch
466
467Whether to build a relocatable precompiled header
468
Richard Smith081ad4d2017-01-24 19:39:46 +0000469.. option:: -remap
470
Richard Smith081ad4d2017-01-24 19:39:46 +0000471.. option:: -rewrite-legacy-objc
472
473Rewrite Legacy Objective-C source to C++
474
Richard Smith081ad4d2017-01-24 19:39:46 +0000475.. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg>
476
477Compiler runtime library to use
478
Richard Smith081ad4d2017-01-24 19:39:46 +0000479.. option:: -save-stats=<arg>, --save-stats=<arg>, -save-stats (equivalent to -save-stats=cwd), --save-stats (equivalent to -save-stats=cwd)
480
481Save llvm statistics.
482
Richard Smith081ad4d2017-01-24 19:39:46 +0000483.. option:: -save-temps=<arg>, --save-temps=<arg>, -save-temps (equivalent to -save-temps=cwd), --save-temps (equivalent to -save-temps=cwd)
484
485Save intermediate compilation results.
486
Richard Smith081ad4d2017-01-24 19:39:46 +0000487.. option:: -sectalign <arg1> <arg2> <arg3>
488
Richard Smith081ad4d2017-01-24 19:39:46 +0000489.. option:: -sectcreate <arg1> <arg2> <arg3>
490
Richard Smith081ad4d2017-01-24 19:39:46 +0000491.. option:: -sectobjectsymbols <arg1> <arg2>
492
Richard Smith081ad4d2017-01-24 19:39:46 +0000493.. option:: -sectorder <arg1> <arg2> <arg3>
494
Richard Smith081ad4d2017-01-24 19:39:46 +0000495.. option:: -seg1addr<arg>
496
Richard Smith081ad4d2017-01-24 19:39:46 +0000497.. option:: -seg\_addr\_table <arg>
498
Richard Smithb2c82a62017-01-27 01:54:42 +0000499.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000500.. option:: -seg\_addr\_table\_filename <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000501.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000502
Richard Smith081ad4d2017-01-24 19:39:46 +0000503.. option:: -segaddr <arg1> <arg2>
504
Richard Smith081ad4d2017-01-24 19:39:46 +0000505.. option:: -segcreate <arg1> <arg2> <arg3>
506
Richard Smith081ad4d2017-01-24 19:39:46 +0000507.. option:: -seglinkedit
508
Richard Smith081ad4d2017-01-24 19:39:46 +0000509.. option:: -segprot <arg1> <arg2> <arg3>
510
Richard Smith081ad4d2017-01-24 19:39:46 +0000511.. option:: -segs\_read\_<arg>
512
Richard Smithb2c82a62017-01-27 01:54:42 +0000513.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000514.. option:: -segs\_read\_only\_addr <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000515.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000516
Richard Smithb2c82a62017-01-27 01:54:42 +0000517.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000518.. option:: -segs\_read\_write\_addr <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000519.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000520
Richard Smith081ad4d2017-01-24 19:39:46 +0000521.. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg>
522
523Serialize compiler diagnostics to a file
524
Richard Smith081ad4d2017-01-24 19:39:46 +0000525.. option:: -shared, --shared
526
Richard Smith081ad4d2017-01-24 19:39:46 +0000527.. option:: -shared-libasan
528
Richard Smith081ad4d2017-01-24 19:39:46 +0000529.. option:: -shared-libgcc
530
Richard Smith081ad4d2017-01-24 19:39:46 +0000531.. option:: -single\_module
532
Richard Smith081ad4d2017-01-24 19:39:46 +0000533.. option:: -specs=<arg>, --specs=<arg>
534
Richard Smith081ad4d2017-01-24 19:39:46 +0000535.. option:: -static, --static
536
Richard Smith081ad4d2017-01-24 19:39:46 +0000537.. option:: -static-libgcc
538
Richard Smith081ad4d2017-01-24 19:39:46 +0000539.. option:: -static-libstdc++
540
Richard Smith081ad4d2017-01-24 19:39:46 +0000541.. option:: -std-default=<arg>
542
Richard Smith081ad4d2017-01-24 19:39:46 +0000543.. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg>
544
545C++ standard library to use
546
Richard Smith081ad4d2017-01-24 19:39:46 +0000547.. option:: -sub\_library<arg>
548
Richard Smithb2c82a62017-01-27 01:54:42 +0000549.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000550.. option:: -sub\_umbrella<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000551.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000552
Richard Smith081ad4d2017-01-24 19:39:46 +0000553.. option:: --sysroot=<arg>, --sysroot <arg>
554
Richard Smith081ad4d2017-01-24 19:39:46 +0000555.. option:: --target-help
556
Richard Smith081ad4d2017-01-24 19:39:46 +0000557.. option:: --target=<arg>, -target <arg>
558
559Generate code for the given target
560
Richard Smith081ad4d2017-01-24 19:39:46 +0000561.. option:: -time
562
563Time individual commands
564
Richard Smith081ad4d2017-01-24 19:39:46 +0000565.. option:: -traditional, --traditional
566
Richard Smith081ad4d2017-01-24 19:39:46 +0000567.. option:: -traditional-cpp, --traditional-cpp
568
569Enable some traditional CPP emulation
570
Richard Smith081ad4d2017-01-24 19:39:46 +0000571.. option:: -twolevel\_namespace
572
Richard Smithb2c82a62017-01-27 01:54:42 +0000573.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000574.. option:: -twolevel\_namespace\_hints
Richard Smithb2c82a62017-01-27 01:54:42 +0000575.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000576
Richard Smith081ad4d2017-01-24 19:39:46 +0000577.. option:: -umbrella <arg>
578
Richard Smith081ad4d2017-01-24 19:39:46 +0000579.. option:: -unexported\_symbols\_list <arg>
580
Richard Smith081ad4d2017-01-24 19:39:46 +0000581.. option:: -v, --verbose
582
583Show commands to run and use verbose output
584
Richard Smith081ad4d2017-01-24 19:39:46 +0000585.. option:: --verify-debug-info
586
587Verify the binary representation of debug output
588
Richard Smith081ad4d2017-01-24 19:39:46 +0000589.. option:: --version
590
Richard Smith081ad4d2017-01-24 19:39:46 +0000591.. option:: -w, --no-warnings
592
593Suppress all warnings
594
Richard Smith081ad4d2017-01-24 19:39:46 +0000595.. option:: -weak-l<arg>
596
Richard Smith081ad4d2017-01-24 19:39:46 +0000597.. option:: -weak\_framework <arg>
598
Richard Smithb2c82a62017-01-27 01:54:42 +0000599.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000600.. option:: -weak\_library <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000601.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000602
Richard Smithb2c82a62017-01-27 01:54:42 +0000603.. program:: clang2
Richard Smith081ad4d2017-01-24 19:39:46 +0000604.. option:: -weak\_reference\_mismatches <arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000605.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000606
Richard Smith081ad4d2017-01-24 19:39:46 +0000607.. option:: -whatsloaded
608
Richard Smith081ad4d2017-01-24 19:39:46 +0000609.. option:: -whyload
610
Richard Smith081ad4d2017-01-24 19:39:46 +0000611.. option:: -working-directory<arg>, -working-directory=<arg>
612
613Resolve file paths relative to the specified directory
614
Richard Smith081ad4d2017-01-24 19:39:46 +0000615.. option:: -x<language>, --language <arg>, --language=<arg>
616
617Treat subsequent input files as having type <language>
618
Richard Smith081ad4d2017-01-24 19:39:46 +0000619.. option:: -y<arg>
620
621Actions
622=======
623The action to perform on the input.
624
Richard Smith081ad4d2017-01-24 19:39:46 +0000625.. option:: -E, --preprocess
626
627Only run the preprocessor
628
Richard Smith081ad4d2017-01-24 19:39:46 +0000629.. option:: -S, --assemble
630
631Only run preprocess and compilation steps
632
Richard Smithc5b2e002017-01-27 02:08:37 +0000633.. option:: -c, --compile
634
635Only run preprocess, compile, and assemble steps
636
Richard Smith081ad4d2017-01-24 19:39:46 +0000637.. option:: -emit-llvm
638
639Use the LLVM representation for assembler and object files
640
Richard Smith081ad4d2017-01-24 19:39:46 +0000641.. option:: -fsyntax-only
642
Richard Smith081ad4d2017-01-24 19:39:46 +0000643.. option:: -module-file-info
644
645Provide information about a particular module file
646
Richard Smith081ad4d2017-01-24 19:39:46 +0000647.. option:: --precompile
648
649Only precompile the input
650
Richard Smith081ad4d2017-01-24 19:39:46 +0000651.. option:: -rewrite-objc
652
653Rewrite Objective-C source to C++
654
Richard Smith081ad4d2017-01-24 19:39:46 +0000655.. option:: -verify-pch
656
657Load and verify that a pre-compiled header file is not stale
658
659Compilation flags
660=================
661
662Flags controlling the behavior of Clang during compilation. These flags have
663no effect during actions that do not perform compilation.
664
Richard Smithc5b2e002017-01-27 02:08:37 +0000665.. option:: -Xassembler <arg>
Richard Smith081ad4d2017-01-24 19:39:46 +0000666
Richard Smithc5b2e002017-01-27 02:08:37 +0000667Pass <arg> to the assembler
Richard Smith081ad4d2017-01-24 19:39:46 +0000668
Richard Smith081ad4d2017-01-24 19:39:46 +0000669.. option:: -Xclang <arg>
670
671Pass <arg> to the clang compiler
672
Boris Kolpackovb150d242017-08-30 09:15:53 +0000673.. option:: -fclang-abi-compat=<version>
674
675Attempt to match the ABI of Clang <version>
676
Richard Smith081ad4d2017-01-24 19:39:46 +0000677.. option:: -fcomment-block-commands=<arg>,<arg2>...
678
679Treat each comma separated argument in <arg> as a documentation comment block command
680
Richard Smith081ad4d2017-01-24 19:39:46 +0000681.. option:: -fdeclspec, -fno-declspec
682
683Allow \_\_declspec as a keyword
684
Richard Smith081ad4d2017-01-24 19:39:46 +0000685.. option:: -fdepfile-entry=<arg>
686
Richard Smith081ad4d2017-01-24 19:39:46 +0000687.. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info
688
Richard Smith081ad4d2017-01-24 19:39:46 +0000689.. option:: -fdiagnostics-format=<arg>
690
Richard Smith081ad4d2017-01-24 19:39:46 +0000691.. option:: -fdiagnostics-parseable-fixits
692
693Print fix-its in machine parseable form
694
Richard Smith081ad4d2017-01-24 19:39:46 +0000695.. option:: -fdiagnostics-print-source-range-info
696
697Print source range spans in numeric form
698
Richard Smith081ad4d2017-01-24 19:39:46 +0000699.. option:: -fdiagnostics-show-category=<arg>
700
Richard Smith081ad4d2017-01-24 19:39:46 +0000701.. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager
702
703Enables an experimental new pass manager in LLVM.
704
Richard Smith081ad4d2017-01-24 19:39:46 +0000705.. option:: -finline-functions, -fno-inline-functions
706
707Inline suitable functions
708
Richard Smith081ad4d2017-01-24 19:39:46 +0000709.. option:: -finline-hint-functions
710
711Inline functions which are (explicitly or implicitly) marked inline
712
Richard Smith081ad4d2017-01-24 19:39:46 +0000713.. option:: -fno-crash-diagnostics
714
Richard Smith78e23fd2017-04-13 22:39:49 +0000715Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
716
Richard Smith081ad4d2017-01-24 19:39:46 +0000717.. option:: -fno-sanitize-blacklist
718
719Don't use blacklist file for sanitizers
720
Richard Smith081ad4d2017-01-24 19:39:46 +0000721.. option:: -fparse-all-comments
722
Richard Smith081ad4d2017-01-24 19:39:46 +0000723.. option:: -fsanitize-address-field-padding=<arg>
724
725Level of field padding for AddressSanitizer
726
Craig Topperd23254a2017-07-20 17:52:48 +0000727.. option:: -fsanitize-address-globals-dead-stripping
728
729Enable linker dead stripping of globals in AddressSanitizer
730
Richard Smith081ad4d2017-01-24 19:39:46 +0000731.. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope
732
733Enable use-after-scope detection in AddressSanitizer
734
Richard Smith081ad4d2017-01-24 19:39:46 +0000735.. option:: -fsanitize-blacklist=<arg>
736
737Path to blacklist file for sanitizers
738
Richard Smith081ad4d2017-01-24 19:39:46 +0000739.. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso
740
741Enable control flow integrity (CFI) checks for cross-DSO calls.
742
Richard Smith081ad4d2017-01-24 19:39:46 +0000743.. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>...
744
745Specify the type of coverage instrumentation for Sanitizers
746
Richard Smith081ad4d2017-01-24 19:39:46 +0000747.. option:: -fsanitize-link-c++-runtime
748
Richard Smith081ad4d2017-01-24 19:39:46 +0000749.. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins
750
751Enable origins tracking in MemorySanitizer
752
Richard Smithb2c82a62017-01-27 01:54:42 +0000753.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000754.. option:: -fsanitize-memory-track-origins=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +0000755.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000756
757Enable origins tracking in MemorySanitizer
758
Richard Smith081ad4d2017-01-24 19:39:46 +0000759.. option:: -fsanitize-memory-use-after-dtor
760
761Enable use-after-destroy detection in MemorySanitizer
762
Boris Kolpackovb150d242017-08-30 09:15:53 +0000763.. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime
764
Richard Smith081ad4d2017-01-24 19:39:46 +0000765.. option:: -fsanitize-recover, -fno-sanitize-recover
766
Richard Smithb2c82a62017-01-27 01:54:42 +0000767.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +0000768.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>...
Richard Smithb2c82a62017-01-27 01:54:42 +0000769.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +0000770
771Enable recovery for specified sanitizers
772
Richard Smith081ad4d2017-01-24 19:39:46 +0000773.. option:: -fsanitize-stats, -fno-sanitize-stats
774
775Enable sanitizer statistics gathering.
776
Richard Smith081ad4d2017-01-24 19:39:46 +0000777.. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics
778
779Enable atomic operations instrumentation in ThreadSanitizer (default)
780
Richard Smith081ad4d2017-01-24 19:39:46 +0000781.. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit
782
783Enable function entry/exit instrumentation in ThreadSanitizer (default)
784
Richard Smith081ad4d2017-01-24 19:39:46 +0000785.. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access
786
787Enable memory access instrumentation in ThreadSanitizer (default)
788
Richard Smith081ad4d2017-01-24 19:39:46 +0000789.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>...
790
791Enable trapping for specified sanitizers
792
Richard Smith081ad4d2017-01-24 19:39:46 +0000793.. option:: -fsanitize-undefined-strip-path-components=<number>
794
795Strip (or keep only, if negative) a given number of path components when emitting check metadata.
796
Richard Smith081ad4d2017-01-24 19:39:46 +0000797.. option:: -fsanitize-undefined-trap-on-error, -fno-sanitize-undefined-trap-on-error
798
Richard Smith081ad4d2017-01-24 19:39:46 +0000799.. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>...
800
801Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
802
Richard Smith081ad4d2017-01-24 19:39:46 +0000803.. option:: --param <arg>, --param=<arg>
804
Richard Smith081ad4d2017-01-24 19:39:46 +0000805.. option:: -std=<arg>, --std=<arg>, --std <arg>
806
807Language standard to compile for
808
Richard Smithc5b2e002017-01-27 02:08:37 +0000809Preprocessor flags
810~~~~~~~~~~~~~~~~~~
811
812Flags controlling the behavior of the Clang preprocessor.
813
814.. option:: -C, --comments
815
816Include comments in preprocessed output
817
818.. option:: -CC, --comments-in-macros
819
820Include comments from within macros in preprocessed output
821
822.. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg>
823
824Define <macro> to <value> (or 1 if <value> omitted)
825
826.. option:: -H, --trace-includes
827
828Show header includes and nesting depth
829
830.. option:: -P, --no-line-commands
831
832Disable linemarker output in -E mode
833
834.. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg>
835
836Undefine macro <macro>
837
838.. option:: -Wp,<arg>,<arg2>...
839
840Pass the comma separated arguments in <arg> to the preprocessor
841
842.. option:: -Xpreprocessor <arg>
843
844Pass <arg> to the preprocessor
845
Richard Smith081ad4d2017-01-24 19:39:46 +0000846Include path management
Richard Smithc5b2e002017-01-27 02:08:37 +0000847-----------------------
Richard Smith081ad4d2017-01-24 19:39:46 +0000848
849Flags controlling how ``#include``\s are resolved to files.
850
Richard Smithc5b2e002017-01-27 02:08:37 +0000851.. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +0000852
853Add directory to include search path
854
Richard Smith081ad4d2017-01-24 19:39:46 +0000855.. option:: -I-, --include-barrier
856
Richard Smithc5b2e002017-01-27 02:08:37 +0000857Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
858
Richard Smith081ad4d2017-01-24 19:39:46 +0000859.. option:: --cuda-path=<arg>
860
861CUDA installation path
862
Richard Smith081ad4d2017-01-24 19:39:46 +0000863.. option:: -cxx-isystem<directory>
864
865Add directory to the C++ SYSTEM include search path
866
Richard Smith081ad4d2017-01-24 19:39:46 +0000867.. option:: -fbuild-session-file=<file>
868
869Use the last modification time of <file> as the build session timestamp
870
Richard Smith081ad4d2017-01-24 19:39:46 +0000871.. option:: -fbuild-session-timestamp=<time since Epoch in seconds>
872
873Time when the current build session started
874
Boris Kolpackovb150d242017-08-30 09:15:53 +0000875.. option:: -fmodule-file=\[<name>=\]<file>
876
877Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
878
Richard Smith081ad4d2017-01-24 19:39:46 +0000879.. option:: -fmodules-cache-path=<directory>
880
881Specify the module cache path
882
Richard Smith081ad4d2017-01-24 19:39:46 +0000883.. option:: -fmodules-disable-diagnostic-validation
884
885Disable validation of the diagnostic options when loading the module
886
Richard Smith081ad4d2017-01-24 19:39:46 +0000887.. option:: -fmodules-prune-after=<seconds>
888
889Specify the interval (in seconds) after which a module file will be considered unused
890
Richard Smith081ad4d2017-01-24 19:39:46 +0000891.. option:: -fmodules-prune-interval=<seconds>
892
893Specify the interval (in seconds) between attempts to prune the module cache
894
Richard Smith081ad4d2017-01-24 19:39:46 +0000895.. option:: -fmodules-user-build-path <directory>
896
897Specify the module user build path
898
Richard Smith081ad4d2017-01-24 19:39:46 +0000899.. option:: -fmodules-validate-once-per-build-session
900
901Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
902
Richard Smith081ad4d2017-01-24 19:39:46 +0000903.. option:: -fmodules-validate-system-headers
904
905Validate the system headers that a module depends on when loading the module
906
Richard Smith081ad4d2017-01-24 19:39:46 +0000907.. option:: -fprebuilt-module-path=<directory>
908
909Specify the prebuilt module path
910
Richard Smith081ad4d2017-01-24 19:39:46 +0000911.. option:: -i<arg>
912
Richard Smith081ad4d2017-01-24 19:39:46 +0000913.. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg>
914
915Add directory to AFTER include search path
916
Richard Smith081ad4d2017-01-24 19:39:46 +0000917.. option:: -iframework<arg>
918
919Add directory to SYSTEM framework search path
920
Richard Smith78e23fd2017-04-13 22:39:49 +0000921.. option:: -iframeworkwithsysroot<directory>
922
923Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
924
Richard Smith081ad4d2017-01-24 19:39:46 +0000925.. option:: -imacros<file>, --imacros<file>, --imacros=<arg>
926
927Include macros from file before parsing
928
Richard Smith081ad4d2017-01-24 19:39:46 +0000929.. option:: -include<file>, --include<file>, --include=<arg>
930
931Include file before parsing
932
Richard Smith081ad4d2017-01-24 19:39:46 +0000933.. option:: -include-pch <file>
934
935Include precompiled header file
936
Richard Smith081ad4d2017-01-24 19:39:46 +0000937.. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg>
938
939Set the -iwithprefix/-iwithprefixbefore prefix
940
Richard Smith081ad4d2017-01-24 19:39:46 +0000941.. option:: -iquote<directory>
942
943Add directory to QUOTE include search path
944
Richard Smith081ad4d2017-01-24 19:39:46 +0000945.. option:: -isysroot<dir>
946
947Set the system root directory (usually /)
948
Richard Smith081ad4d2017-01-24 19:39:46 +0000949.. option:: -isystem<directory>
950
951Add directory to SYSTEM include search path
952
Richard Smith081ad4d2017-01-24 19:39:46 +0000953.. option:: -isystem-after<directory>
954
955Add directory to end of the SYSTEM include search path
956
Richard Smith081ad4d2017-01-24 19:39:46 +0000957.. option:: -ivfsoverlay<arg>
958
959Overlay the virtual filesystem described by file over the real file system
960
Richard Smith081ad4d2017-01-24 19:39:46 +0000961.. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg>
962
963Set directory to SYSTEM include search path with prefix
964
Richard Smith081ad4d2017-01-24 19:39:46 +0000965.. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg>
966
967Set directory to include search path with prefix
968
Richard Smith081ad4d2017-01-24 19:39:46 +0000969.. option:: -iwithsysroot<directory>
970
971Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
972
Richard Smith081ad4d2017-01-24 19:39:46 +0000973.. option:: --ptxas-path=<arg>
974
975Path to ptxas (used for compiling CUDA code)
976
Richard Smith081ad4d2017-01-24 19:39:46 +0000977.. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg>
978
979Treat all #include paths starting with <prefix> as including a system header.
980
981Dependency file generation
Richard Smithc5b2e002017-01-27 02:08:37 +0000982--------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +0000983
984Flags controlling generation of a dependency file for ``make``-like build
985systems.
986
Richard Smith081ad4d2017-01-24 19:39:46 +0000987.. option:: -M, --dependencies
988
989Like -MD, but also implies -E and writes to stdout by default
990
Richard Smith081ad4d2017-01-24 19:39:46 +0000991.. option:: -MD, --write-dependencies
992
993Write a depfile containing user and system headers
994
Richard Smith081ad4d2017-01-24 19:39:46 +0000995.. option:: -MF<file>
996
997Write depfile output from -MMD, -MD, -MM, or -M to <file>
998
Richard Smith081ad4d2017-01-24 19:39:46 +0000999.. option:: -MG, --print-missing-file-dependencies
1000
1001Add missing headers to depfile
1002
Richard Smith081ad4d2017-01-24 19:39:46 +00001003.. option:: -MJ<arg>
1004
1005Write a compilation database entry per input
1006
Richard Smith081ad4d2017-01-24 19:39:46 +00001007.. option:: -MM, --user-dependencies
1008
1009Like -MMD, but also implies -E and writes to stdout by default
1010
Richard Smith081ad4d2017-01-24 19:39:46 +00001011.. option:: -MMD, --write-user-dependencies
1012
1013Write a depfile containing user headers
1014
Richard Smith081ad4d2017-01-24 19:39:46 +00001015.. option:: -MP
1016
1017Create phony target for each dependency (other than main file)
1018
Richard Smith081ad4d2017-01-24 19:39:46 +00001019.. option:: -MQ<arg>
1020
1021Specify name of main file output to quote in depfile
1022
Richard Smith081ad4d2017-01-24 19:39:46 +00001023.. option:: -MT<arg>
1024
1025Specify name of main file output in depfile
1026
Richard Smith081ad4d2017-01-24 19:39:46 +00001027.. option:: -MV
1028
1029Use NMake/Jom format for the depfile
1030
1031Dumping preprocessor state
Richard Smithc5b2e002017-01-27 02:08:37 +00001032--------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001033
1034Flags allowing the state of the preprocessor to be dumped in various ways.
1035
Richard Smith081ad4d2017-01-24 19:39:46 +00001036.. option:: -d
1037
Richard Smithb2c82a62017-01-27 01:54:42 +00001038.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001039.. option:: -d<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001040.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001041
Richard Smith081ad4d2017-01-24 19:39:46 +00001042.. option:: -dA
1043
Richard Smith081ad4d2017-01-24 19:39:46 +00001044.. option:: -dD
1045
1046Print macro definitions in -E mode in addition to normal output
1047
Richard Smith081ad4d2017-01-24 19:39:46 +00001048.. option:: -dI
1049
1050Print include directives in -E mode in addition to normal output
1051
Richard Smith081ad4d2017-01-24 19:39:46 +00001052.. option:: -dM
1053
1054Print macro definitions in -E mode instead of normal output
1055
1056Diagnostic flags
1057~~~~~~~~~~~~~~~~
1058
1059Flags controlling which warnings, errors, and remarks Clang will generate.
1060See the :doc:`full list of warning and remark flags <DiagnosticsReference>`.
1061
Richard Smith081ad4d2017-01-24 19:39:46 +00001062.. option:: -R<remark>
1063
1064Enable the specified remark
1065
Richard Smith081ad4d2017-01-24 19:39:46 +00001066.. option:: -Rpass-analysis=<arg>
1067
1068Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
1069
Richard Smith081ad4d2017-01-24 19:39:46 +00001070.. option:: -Rpass-missed=<arg>
1071
1072Report missed transformations by optimization passes whose name matches the given POSIX regular expression
1073
Richard Smith081ad4d2017-01-24 19:39:46 +00001074.. option:: -Rpass=<arg>
1075
1076Report transformations performed by optimization passes whose name matches the given POSIX regular expression
1077
Richard Smith081ad4d2017-01-24 19:39:46 +00001078.. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg>
1079
1080Enable the specified warning
1081
Richard Smith081ad4d2017-01-24 19:39:46 +00001082.. option:: -Wdeprecated, -Wno-deprecated
1083
Richard Smithc5b2e002017-01-27 02:08:37 +00001084Enable warnings for deprecated constructs and define \_\_DEPRECATED
Richard Smith081ad4d2017-01-24 19:39:46 +00001085
Richard Smith081ad4d2017-01-24 19:39:46 +00001086.. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg>
1087
Richard Smith081ad4d2017-01-24 19:39:46 +00001088Target-independent compilation options
1089~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Richard Smith081ad4d2017-01-24 19:39:46 +00001090.. option:: -Wframe-larger-than=<arg>
1091
Richard Smith081ad4d2017-01-24 19:39:46 +00001092.. option:: -fPIC, -fno-PIC
1093
Richard Smith081ad4d2017-01-24 19:39:46 +00001094.. option:: -fPIE, -fno-PIE
1095
Richard Smith081ad4d2017-01-24 19:39:46 +00001096.. option:: -faccess-control, -fno-access-control
1097
Richard Smithb2c82a62017-01-27 01:54:42 +00001098.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001099.. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation
Richard Smithb2c82a62017-01-27 01:54:42 +00001100.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001101
1102Enable C++17 aligned allocation functions
1103
Craig Topperd23254a2017-07-20 17:52:48 +00001104.. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders
1105
1106Treat editor placeholders as valid source code
1107
Richard Smith081ad4d2017-01-24 19:39:46 +00001108.. option:: -fallow-unsupported
1109
Richard Smith78e23fd2017-04-13 22:39:49 +00001110.. option:: -faltivec, -fno-altivec
Richard Smith081ad4d2017-01-24 19:39:46 +00001111
Richard Smith081ad4d2017-01-24 19:39:46 +00001112.. option:: -fansi-escape-codes
1113
1114Use ANSI escape codes for diagnostics
1115
Richard Smith081ad4d2017-01-24 19:39:46 +00001116.. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables
1117
1118Use Apple's kernel extensions ABI
1119
Richard Smith081ad4d2017-01-24 19:39:46 +00001120.. option:: -fapple-pragma-pack, -fno-apple-pragma-pack
1121
1122Enable Apple gcc-compatible #pragma pack handling
1123
Richard Smith081ad4d2017-01-24 19:39:46 +00001124.. option:: -fapplication-extension, -fno-application-extension
1125
1126Restrict code to those available for App Extensions
1127
Richard Smith081ad4d2017-01-24 19:39:46 +00001128.. option:: -fasm, -fno-asm
1129
Richard Smith081ad4d2017-01-24 19:39:46 +00001130.. option:: -fasm-blocks, -fno-asm-blocks
1131
Richard Smith081ad4d2017-01-24 19:39:46 +00001132.. option:: -fassociative-math, -fno-associative-math
1133
Richard Smith081ad4d2017-01-24 19:39:46 +00001134.. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new
1135
Richard Smith081ad4d2017-01-24 19:39:46 +00001136.. option:: -fast
1137
Richard Smith081ad4d2017-01-24 19:39:46 +00001138.. option:: -fastcp
1139
Richard Smith081ad4d2017-01-24 19:39:46 +00001140.. option:: -fastf
1141
Richard Smith081ad4d2017-01-24 19:39:46 +00001142.. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables
1143
Richard Smith081ad4d2017-01-24 19:39:46 +00001144.. option:: -fautolink, -fno-autolink
1145
Richard Smith081ad4d2017-01-24 19:39:46 +00001146.. option:: -fblocks, -fno-blocks
1147
1148Enable the 'blocks' language feature
1149
Richard Smith081ad4d2017-01-24 19:39:46 +00001150.. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg>
1151
Richard Smith081ad4d2017-01-24 19:39:46 +00001152.. option:: -fborland-extensions, -fno-borland-extensions
1153
1154Accept non-standard constructs supported by the Borland compiler
1155
Richard Smith081ad4d2017-01-24 19:39:46 +00001156.. option:: -fbracket-depth=<arg>
1157
Richard Smith081ad4d2017-01-24 19:39:46 +00001158.. option:: -fbuiltin, -fno-builtin
1159
Richard Smith081ad4d2017-01-24 19:39:46 +00001160.. option:: -fbuiltin-module-map
1161
1162Load the clang builtins module map file.
1163
Richard Smith081ad4d2017-01-24 19:39:46 +00001164.. option:: -fcaret-diagnostics, -fno-caret-diagnostics
1165
Richard Smith081ad4d2017-01-24 19:39:46 +00001166.. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg>
1167
Richard Smith081ad4d2017-01-24 19:39:46 +00001168.. option:: -fcolor-diagnostics, -fno-color-diagnostics
1169
1170Use colors in diagnostics
1171
Richard Smith081ad4d2017-01-24 19:39:46 +00001172.. option:: -fcommon, -fno-common
1173
Richard Smith081ad4d2017-01-24 19:39:46 +00001174.. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg>
1175
Richard Smith081ad4d2017-01-24 19:39:46 +00001176.. option:: -fconstant-cfstrings, -fno-constant-cfstrings
1177
Richard Smith081ad4d2017-01-24 19:39:46 +00001178.. option:: -fconstant-string-class=<arg>
1179
Richard Smith081ad4d2017-01-24 19:39:46 +00001180.. option:: -fconstexpr-backtrace-limit=<arg>
1181
Richard Smith081ad4d2017-01-24 19:39:46 +00001182.. option:: -fconstexpr-depth=<arg>
1183
Richard Smith081ad4d2017-01-24 19:39:46 +00001184.. option:: -fconstexpr-steps=<arg>
1185
Richard Smith081ad4d2017-01-24 19:39:46 +00001186.. option:: -fcoroutines-ts, -fno-coroutines-ts
1187
1188Enable support for the C++ Coroutines TS
1189
Richard Smith081ad4d2017-01-24 19:39:46 +00001190.. option:: -fcoverage-mapping, -fno-coverage-mapping
1191
1192Generate coverage mapping to enable code coverage analysis
1193
Richard Smith081ad4d2017-01-24 19:39:46 +00001194.. option:: -fcreate-profile
1195
Richard Smith081ad4d2017-01-24 19:39:46 +00001196.. option:: -fcxx-exceptions, -fno-cxx-exceptions
1197
1198Enable C++ exceptions
1199
Richard Smith081ad4d2017-01-24 19:39:46 +00001200.. option:: -fcxx-modules, -fno-cxx-modules
1201
Richard Smith081ad4d2017-01-24 19:39:46 +00001202.. option:: -fdata-sections, -fno-data-sections
1203
1204Place each data in its own section (ELF Only)
1205
Richard Smith081ad4d2017-01-24 19:39:46 +00001206.. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling
1207
1208Emit extra debug info to make sample profile more accurate.
1209
Richard Smith78e23fd2017-04-13 22:39:49 +00001210.. option:: -fdebug-macro, -fno-debug-macro
1211
1212Emit macro debug information
1213
Richard Smith081ad4d2017-01-24 19:39:46 +00001214.. option:: -fdebug-pass-arguments
1215
Richard Smith081ad4d2017-01-24 19:39:46 +00001216.. option:: -fdebug-pass-structure
1217
Richard Smith081ad4d2017-01-24 19:39:46 +00001218.. option:: -fdebug-prefix-map=<arg>
1219
1220remap file source paths in debug info
1221
Richard Smith081ad4d2017-01-24 19:39:46 +00001222.. option:: -fdebug-types-section, -fno-debug-types-section
1223
1224Place debug types in their own section (ELF Only)
1225
Richard Smith081ad4d2017-01-24 19:39:46 +00001226.. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing
1227
1228Parse templated function definitions at the end of the translation unit
1229
Richard Smith081ad4d2017-01-24 19:39:46 +00001230.. option:: -fdenormal-fp-math=<arg>
1231
Richard Smith081ad4d2017-01-24 19:39:46 +00001232.. option:: -fdiagnostics-absolute-paths
1233
1234Print absolute paths in diagnostics
1235
Richard Smith081ad4d2017-01-24 19:39:46 +00001236.. option:: -fdiagnostics-color, -fno-diagnostics-color
1237
Richard Smithb2c82a62017-01-27 01:54:42 +00001238.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001239.. option:: -fdiagnostics-color=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001240.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001241
Craig Topperd23254a2017-07-20 17:52:48 +00001242.. option:: -fdiagnostics-hotness-threshold=<number>
1243
1244Prevent optimization remarks from being output if they do not have at least this profile count
1245
Richard Smith081ad4d2017-01-24 19:39:46 +00001246.. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness
1247
1248Enable profile hotness information in diagnostic line
1249
Richard Smith081ad4d2017-01-24 19:39:46 +00001250.. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack
1251
1252Display include stacks for diagnostic notes
1253
Richard Smith081ad4d2017-01-24 19:39:46 +00001254.. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option
1255
1256Print option name with mappable diagnostics
1257
Richard Smith081ad4d2017-01-24 19:39:46 +00001258.. option:: -fdiagnostics-show-template-tree
1259
1260Print a template comparison tree for differing templates
1261
Richard Smith081ad4d2017-01-24 19:39:46 +00001262.. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers
1263
1264Allow '$' in identifiers
1265
Richard Smith081ad4d2017-01-24 19:39:46 +00001266.. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm
1267
Richard Smith081ad4d2017-01-24 19:39:46 +00001268.. option:: -felide-constructors, -fno-elide-constructors
1269
Richard Smith081ad4d2017-01-24 19:39:46 +00001270.. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols
1271
Richard Smith081ad4d2017-01-24 19:39:46 +00001272.. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker)
1273
1274Embed LLVM bitcode (option: off, all, bitcode, marker)
1275
Richard Smith081ad4d2017-01-24 19:39:46 +00001276.. option:: -femit-all-decls
1277
1278Emit all declarations, even if unused
1279
Richard Smith081ad4d2017-01-24 19:39:46 +00001280.. option:: -femulated-tls, -fno-emulated-tls
1281
1282Use emutls functions to access thread\_local variables
1283
Richard Smith081ad4d2017-01-24 19:39:46 +00001284.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg>
1285
Richard Smith081ad4d2017-01-24 19:39:46 +00001286.. option:: -ferror-limit=<arg>
1287
Richard Smith081ad4d2017-01-24 19:39:46 +00001288.. option:: -fexceptions, -fno-exceptions
1289
1290Enable support for exception handling
1291
Richard Smith081ad4d2017-01-24 19:39:46 +00001292.. option:: -fexec-charset=<arg>
1293
Richard Smith081ad4d2017-01-24 19:39:46 +00001294.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg>
1295
Richard Smith081ad4d2017-01-24 19:39:46 +00001296.. option:: -ffast-math, -fno-fast-math
1297
1298Allow aggressive, lossy floating-point optimizations
1299
Richard Smith081ad4d2017-01-24 19:39:46 +00001300.. option:: -ffinite-math-only, -fno-finite-math-only
1301
Richard Smith081ad4d2017-01-24 19:39:46 +00001302.. option:: -ffor-scope, -fno-for-scope
1303
Richard Smith081ad4d2017-01-24 19:39:46 +00001304.. option:: -ffp-contract=<arg>
1305
1306Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma, default) \| off (never fuse)
1307
Richard Smith081ad4d2017-01-24 19:39:46 +00001308.. option:: -ffreestanding
1309
1310Assert that the compilation takes place in a freestanding environment
1311
Richard Smith081ad4d2017-01-24 19:39:46 +00001312.. option:: -ffunction-sections, -fno-function-sections
1313
1314Place each function in its own section (ELF Only)
1315
Richard Smith081ad4d2017-01-24 19:39:46 +00001316.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm
1317
Richard Smith081ad4d2017-01-24 19:39:46 +00001318.. option:: -fgnu-keywords, -fno-gnu-keywords
1319
1320Allow GNU-extension keywords regardless of language standard
1321
Richard Smith081ad4d2017-01-24 19:39:46 +00001322.. option:: -fgnu-runtime
1323
1324Generate output compatible with the standard GNU Objective-C runtime
1325
Richard Smith081ad4d2017-01-24 19:39:46 +00001326.. option:: -fgnu89-inline, -fno-gnu89-inline
1327
1328Use the gnu89 inline semantics
1329
Richard Smith081ad4d2017-01-24 19:39:46 +00001330.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities
1331
Richard Smith081ad4d2017-01-24 19:39:46 +00001332.. option:: -fhonor-nans, -fno-honor-nans
1333
Richard Smith081ad4d2017-01-24 19:39:46 +00001334.. option:: -fhosted
1335
Richard Smith081ad4d2017-01-24 19:39:46 +00001336.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps
1337
1338Implicitly search the file system for module map files.
1339
Richard Smith081ad4d2017-01-24 19:39:46 +00001340.. option:: -fimplicit-modules, -fno-implicit-modules
1341
Richard Smith081ad4d2017-01-24 19:39:46 +00001342.. option:: -finput-charset=<arg>
1343
Richard Smith081ad4d2017-01-24 19:39:46 +00001344.. option:: -finstrument-functions
1345
1346Generate calls to instrument function entry and exit
1347
Richard Smith081ad4d2017-01-24 19:39:46 +00001348.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as
1349
1350Enable the integrated assembler
1351
Richard Smith081ad4d2017-01-24 19:39:46 +00001352.. option:: -fjump-tables, -fno-jump-tables
1353
Richard Smith081ad4d2017-01-24 19:39:46 +00001354.. option:: -flax-vector-conversions, -fno-lax-vector-conversions
1355
Richard Smith081ad4d2017-01-24 19:39:46 +00001356.. option:: -flimited-precision=<arg>
1357
Richard Smith081ad4d2017-01-24 19:39:46 +00001358.. option:: -flto, -fno-lto
1359
1360Enable LTO in 'full' mode
1361
Richard Smith081ad4d2017-01-24 19:39:46 +00001362.. option:: -flto-jobs=<arg>
1363
1364Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
1365
Richard Smithb2c82a62017-01-27 01:54:42 +00001366.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001367.. option:: -flto=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001368.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001369
1370Set LTO mode to either 'full' or 'thin'
1371
Richard Smith081ad4d2017-01-24 19:39:46 +00001372.. option:: -fmacro-backtrace-limit=<arg>
1373
Richard Smith081ad4d2017-01-24 19:39:46 +00001374.. option:: -fmath-errno, -fno-math-errno
1375
1376Require math functions to indicate errors by setting errno
1377
Richard Smith081ad4d2017-01-24 19:39:46 +00001378.. option:: -fmax-type-align=<arg>
1379
1380Specify the maximum alignment to enforce on pointers lacking an explicit alignment
1381
Richard Smith081ad4d2017-01-24 19:39:46 +00001382.. option:: -fmerge-all-constants, -fno-merge-all-constants
1383
Richard Smith081ad4d2017-01-24 19:39:46 +00001384.. option:: -fmessage-length=<arg>
1385
Richard Smith081ad4d2017-01-24 19:39:46 +00001386.. option:: -fmodule-file-deps, -fno-module-file-deps
1387
Richard Smith081ad4d2017-01-24 19:39:46 +00001388.. option:: -fmodule-map-file=<file>
1389
1390Load this module map file
1391
Richard Smith081ad4d2017-01-24 19:39:46 +00001392.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg>
1393
1394Specify the name of the module to build
1395
Richard Smith081ad4d2017-01-24 19:39:46 +00001396.. option:: -fmodules, -fno-modules
1397
1398Enable the 'modules' language feature
1399
Richard Smith081ad4d2017-01-24 19:39:46 +00001400.. option:: -fmodules-decluse, -fno-modules-decluse
1401
1402Require declaration of modules used within a module
1403
Richard Smith081ad4d2017-01-24 19:39:46 +00001404.. option:: -fmodules-ignore-macro=<arg>
1405
1406Ignore the definition of the given macro when building and loading modules
1407
Richard Smith081ad4d2017-01-24 19:39:46 +00001408.. option:: -fmodules-search-all, -fno-modules-search-all
1409
1410Search even non-imported modules to resolve references
1411
Richard Smith081ad4d2017-01-24 19:39:46 +00001412.. option:: -fmodules-strict-decluse
1413
1414Like -fmodules-decluse but requires all headers to be in modules
1415
Richard Smith081ad4d2017-01-24 19:39:46 +00001416.. option:: -fmodules-ts
1417
1418Enable support for the C++ Modules TS
1419
Richard Smith081ad4d2017-01-24 19:39:46 +00001420.. option:: -fms-compatibility, -fno-ms-compatibility
1421
1422Enable full Microsoft Visual C++ compatibility
1423
Richard Smith081ad4d2017-01-24 19:39:46 +00001424.. option:: -fms-compatibility-version=<arg>
1425
1426Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1427
Richard Smith081ad4d2017-01-24 19:39:46 +00001428.. option:: -fms-extensions, -fno-ms-extensions
1429
1430Accept some non-standard constructs supported by the Microsoft compiler
1431
Richard Smith081ad4d2017-01-24 19:39:46 +00001432.. option:: -fms-memptr-rep=<arg>
1433
Richard Smith081ad4d2017-01-24 19:39:46 +00001434.. option:: -fms-volatile<arg>
1435
Richard Smith081ad4d2017-01-24 19:39:46 +00001436.. option:: -fmsc-version=<arg>
1437
1438Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1439
Richard Smith081ad4d2017-01-24 19:39:46 +00001440.. option:: -fmudflap
1441
Richard Smith081ad4d2017-01-24 19:39:46 +00001442.. option:: -fmudflapth
1443
Richard Smith081ad4d2017-01-24 19:39:46 +00001444.. option:: -fnested-functions
1445
Richard Smith081ad4d2017-01-24 19:39:46 +00001446.. option:: -fnew-alignment=<align>, -fnew-alignment <arg>
1447
1448Specifies the largest alignment guaranteed by '::operator new(size\_t)'
1449
Richard Smith081ad4d2017-01-24 19:39:46 +00001450.. option:: -fnext-runtime
1451
Richard Smith081ad4d2017-01-24 19:39:46 +00001452.. option:: -fno-builtin-<arg>
1453
1454Disable implicit builtin knowledge of a specific function
1455
Richard Smith081ad4d2017-01-24 19:39:46 +00001456.. option:: -fno-elide-type
1457
1458Do not elide types when printing diagnostics
1459
Richard Smith081ad4d2017-01-24 19:39:46 +00001460.. option:: -fno-max-type-align
1461
Richard Smith081ad4d2017-01-24 19:39:46 +00001462.. option:: -fno-operator-names
1463
1464Do not treat C++ operator name keywords as synonyms for operators
1465
Richard Smith081ad4d2017-01-24 19:39:46 +00001466.. option:: -fno-strict-modules-decluse
1467
Richard Smith081ad4d2017-01-24 19:39:46 +00001468.. option:: -fno-working-directory
1469
Boris Kolpackovb150d242017-08-30 09:15:53 +00001470.. option:: -fnoopenmp-relocatable-target
1471
1472Do not compile OpenMP target code as relocatable.
1473
Richard Smith081ad4d2017-01-24 19:39:46 +00001474.. option:: -fnoopenmp-use-tls
1475
Richard Smith081ad4d2017-01-24 19:39:46 +00001476.. option:: -fobjc-abi-version=<arg>
1477
Richard Smith081ad4d2017-01-24 19:39:46 +00001478.. option:: -fobjc-arc, -fno-objc-arc
1479
1480Synthesize retain and release calls for Objective-C pointers
1481
Richard Smith081ad4d2017-01-24 19:39:46 +00001482.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions
1483
1484Use EH-safe code when synthesizing retains and releases in -fobjc-arc
1485
Richard Smith081ad4d2017-01-24 19:39:46 +00001486.. option:: -fobjc-exceptions, -fno-objc-exceptions
1487
1488Enable Objective-C exceptions
1489
Richard Smith081ad4d2017-01-24 19:39:46 +00001490.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type
1491
Richard Smith081ad4d2017-01-24 19:39:46 +00001492.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch
1493
Richard Smith081ad4d2017-01-24 19:39:46 +00001494.. option:: -fobjc-link-runtime
1495
Richard Smith081ad4d2017-01-24 19:39:46 +00001496.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi
1497
Richard Smith081ad4d2017-01-24 19:39:46 +00001498.. option:: -fobjc-nonfragile-abi-version=<arg>
1499
Richard Smith081ad4d2017-01-24 19:39:46 +00001500.. option:: -fobjc-runtime=<arg>
1501
1502Specify the target Objective-C runtime kind and version
1503
Richard Smith081ad4d2017-01-24 19:39:46 +00001504.. option:: -fobjc-sender-dependent-dispatch
1505
Richard Smith081ad4d2017-01-24 19:39:46 +00001506.. option:: -fobjc-weak, -fno-objc-weak
1507
1508Enable ARC-style weak references in Objective-C
1509
Richard Smith081ad4d2017-01-24 19:39:46 +00001510.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer
1511
Richard Smith081ad4d2017-01-24 19:39:46 +00001512.. option:: -fopenmp, -fno-openmp
1513
Richard Smith081ad4d2017-01-24 19:39:46 +00001514.. option:: -fopenmp-dump-offload-linker-script
1515
Boris Kolpackovb150d242017-08-30 09:15:53 +00001516.. option:: -fopenmp-relocatable-target
1517
1518OpenMP target code is compiled as relocatable using the -c flag. For OpenMP targets the code is relocatable by default.
1519
Richard Smith081ad4d2017-01-24 19:39:46 +00001520.. option:: -fopenmp-use-tls
1521
Richard Smith081ad4d2017-01-24 19:39:46 +00001522.. option:: -fopenmp-version=<arg>
1523
Richard Smithb2c82a62017-01-27 01:54:42 +00001524.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001525.. option:: -fopenmp=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001526.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001527
Richard Smith081ad4d2017-01-24 19:39:46 +00001528.. option:: -foperator-arrow-depth=<arg>
1529
Richard Smith081ad4d2017-01-24 19:39:46 +00001530.. option:: -foptimization-record-file=<arg>
1531
1532Specify the file name of any generated YAML optimization record
1533
Richard Smith081ad4d2017-01-24 19:39:46 +00001534.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls
1535
Richard Smith081ad4d2017-01-24 19:39:46 +00001536.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg>
1537
Richard Smith081ad4d2017-01-24 19:39:46 +00001538.. option:: -fpack-struct, -fno-pack-struct
1539
Richard Smithb2c82a62017-01-27 01:54:42 +00001540.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001541.. option:: -fpack-struct=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001542.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001543
1544Specify the default maximum struct packing alignment
1545
Richard Smith081ad4d2017-01-24 19:39:46 +00001546.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings
1547
1548Recognize and construct Pascal-style string literals
1549
Richard Smith081ad4d2017-01-24 19:39:46 +00001550.. option:: -fpcc-struct-return
1551
1552Override the default ABI to return all structs on the stack
1553
Richard Smith081ad4d2017-01-24 19:39:46 +00001554.. option:: -fpch-preprocess
1555
Richard Smith081ad4d2017-01-24 19:39:46 +00001556.. option:: -fpic, -fno-pic
1557
Richard Smith081ad4d2017-01-24 19:39:46 +00001558.. option:: -fpie, -fno-pie
1559
Richard Smith081ad4d2017-01-24 19:39:46 +00001560.. option:: -fplugin=<dsopath>
1561
1562Load the named plugin (dynamic shared object)
1563
Richard Smith081ad4d2017-01-24 19:39:46 +00001564.. option:: -fpreserve-as-comments, -fno-preserve-as-comments
1565
Richard Smith081ad4d2017-01-24 19:39:46 +00001566.. option:: -fprofile-arcs, -fno-profile-arcs
1567
Richard Smith081ad4d2017-01-24 19:39:46 +00001568.. option:: -fprofile-dir=<arg>
1569
Richard Smith081ad4d2017-01-24 19:39:46 +00001570.. option:: -fprofile-generate, -fno-profile-generate
1571
1572Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1573
Richard Smithb2c82a62017-01-27 01:54:42 +00001574.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001575.. option:: -fprofile-generate=<directory>
Richard Smithb2c82a62017-01-27 01:54:42 +00001576.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001577
1578Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1579
Richard Smith081ad4d2017-01-24 19:39:46 +00001580.. option:: -fprofile-instr-generate, -fno-profile-instr-generate
1581
1582Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)
1583
Richard Smithb2c82a62017-01-27 01:54:42 +00001584.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001585.. option:: -fprofile-instr-generate=<file>
Richard Smithb2c82a62017-01-27 01:54:42 +00001586.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001587
1588Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var)
1589
Richard Smith081ad4d2017-01-24 19:39:46 +00001590.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use
1591
Richard Smithb2c82a62017-01-27 01:54:42 +00001592.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001593.. option:: -fprofile-instr-use=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001594.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001595
1596Use instrumentation data for profile-guided optimization
1597
Boris Kolpackovb150d242017-08-30 09:15:53 +00001598.. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate
1599
1600Specifies that the sample profile is accurate. If the sample
1601 profile is accurate, callsites without profile samples are marked
1602 as cold. Otherwise, treat callsites without profile samples as if
1603 we have no profile
1604
Richard Smith78e23fd2017-04-13 22:39:49 +00001605.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use
1606
1607.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001608.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg>
Richard Smith78e23fd2017-04-13 22:39:49 +00001609.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001610
1611Enable sample-based profile guided optimizations
1612
Richard Smithb2c82a62017-01-27 01:54:42 +00001613.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001614.. option:: -fprofile-use=<pathname>
Richard Smithb2c82a62017-01-27 01:54:42 +00001615.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001616
1617Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
1618
Richard Smith081ad4d2017-01-24 19:39:46 +00001619.. option:: -freciprocal-math, -fno-reciprocal-math
1620
1621Allow division operations to be reassociated
1622
Richard Smith081ad4d2017-01-24 19:39:46 +00001623.. option:: -freg-struct-return
1624
1625Override the default ABI to return small structs in registers
1626
Richard Smith081ad4d2017-01-24 19:39:46 +00001627.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args
1628
1629Enable C++17 relaxed template template argument matching
1630
Richard Smith081ad4d2017-01-24 19:39:46 +00001631.. option:: -freroll-loops, -fno-reroll-loops
1632
1633Turn on loop reroller
1634
Richard Smith081ad4d2017-01-24 19:39:46 +00001635.. option:: -fretain-comments-from-system-headers
1636
Craig Topperd23254a2017-07-20 17:52:48 +00001637.. option:: -frewrite-imports, -fno-rewrite-imports
1638
Richard Smith081ad4d2017-01-24 19:39:46 +00001639.. option:: -frewrite-includes, -fno-rewrite-includes
1640
Richard Smith081ad4d2017-01-24 19:39:46 +00001641.. option:: -frewrite-map-file <arg>
1642
Richard Smithb2c82a62017-01-27 01:54:42 +00001643.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001644.. option:: -frewrite-map-file=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001645.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001646
Richard Smith081ad4d2017-01-24 19:39:46 +00001647.. option:: -fropi, -fno-ropi
1648
Richard Smith081ad4d2017-01-24 19:39:46 +00001649.. option:: -frtti, -fno-rtti
1650
Richard Smith081ad4d2017-01-24 19:39:46 +00001651.. option:: -frwpi, -fno-rwpi
1652
Richard Smith081ad4d2017-01-24 19:39:46 +00001653.. option:: -fsave-optimization-record, -fno-save-optimization-record
1654
1655Generate a YAML optimization record file
1656
Richard Smith081ad4d2017-01-24 19:39:46 +00001657.. option:: -fshort-enums, -fno-short-enums
1658
1659Allocate to an enum type only as many bytes as it needs for the declared range of possible values
1660
Richard Smith081ad4d2017-01-24 19:39:46 +00001661.. option:: -fshort-wchar, -fno-short-wchar
1662
1663Force wchar\_t to be a short unsigned int
1664
Richard Smith081ad4d2017-01-24 19:39:46 +00001665.. option:: -fshow-column, -fno-show-column
1666
Richard Smith081ad4d2017-01-24 19:39:46 +00001667.. option:: -fshow-overloads=<arg>
1668
1669Which overload candidates to show when overload resolution fails: best\|all; defaults to all
1670
Richard Smith081ad4d2017-01-24 19:39:46 +00001671.. option:: -fshow-source-location, -fno-show-source-location
1672
Richard Smith081ad4d2017-01-24 19:39:46 +00001673.. option:: -fsignaling-math, -fno-signaling-math
1674
Richard Smith081ad4d2017-01-24 19:39:46 +00001675.. option:: -fsigned-bitfields
1676
Richard Smith081ad4d2017-01-24 19:39:46 +00001677.. option:: -fsigned-char, -fno-signed-char, --signed-char
1678
Richard Smith081ad4d2017-01-24 19:39:46 +00001679.. option:: -fsigned-zeros, -fno-signed-zeros
1680
Richard Smith081ad4d2017-01-24 19:39:46 +00001681.. option:: -fsized-deallocation, -fno-sized-deallocation
1682
1683Enable C++14 sized global deallocation functions
1684
Richard Smith081ad4d2017-01-24 19:39:46 +00001685.. option:: -fsjlj-exceptions
1686
1687Use SjLj style exceptions
1688
Richard Smith081ad4d2017-01-24 19:39:46 +00001689.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize
1690
1691Enable the superword-level parallelism vectorization passes
1692
Richard Smith081ad4d2017-01-24 19:39:46 +00001693.. option:: -fspell-checking, -fno-spell-checking
1694
Richard Smith081ad4d2017-01-24 19:39:46 +00001695.. option:: -fspell-checking-limit=<arg>
1696
Richard Smith081ad4d2017-01-24 19:39:46 +00001697.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining
1698
1699Place debug types in their own section (ELF Only)
1700
Richard Smith081ad4d2017-01-24 19:39:46 +00001701.. option:: -fsplit-stack
1702
Richard Smith081ad4d2017-01-24 19:39:46 +00001703.. option:: -fstack-protector, -fno-stack-protector
1704
1705Enable stack protectors for functions potentially vulnerable to stack smashing
1706
Richard Smith081ad4d2017-01-24 19:39:46 +00001707.. option:: -fstack-protector-all
1708
1709Force the usage of stack protectors for all functions
1710
Richard Smith081ad4d2017-01-24 19:39:46 +00001711.. option:: -fstack-protector-strong
1712
1713Use a strong heuristic to apply stack protectors to functions
1714
Richard Smith081ad4d2017-01-24 19:39:46 +00001715.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug
1716
1717Emit full debug info for all types used by the program
1718
Richard Smith081ad4d2017-01-24 19:39:46 +00001719.. option:: -fstrict-aliasing, -fno-strict-aliasing
1720
Richard Smith081ad4d2017-01-24 19:39:46 +00001721.. option:: -fstrict-enums, -fno-strict-enums
1722
1723Enable optimizations based on the strict definition of an enum's value range
1724
Richard Smith081ad4d2017-01-24 19:39:46 +00001725.. option:: -fstrict-overflow, -fno-strict-overflow
1726
Richard Smith081ad4d2017-01-24 19:39:46 +00001727.. option:: -fstrict-return, -fno-strict-return
1728
Richard Smith78e23fd2017-04-13 22:39:49 +00001729Always treat control flow paths that fall off the end of a non-void function as unreachable
Richard Smith081ad4d2017-01-24 19:39:46 +00001730
Richard Smith081ad4d2017-01-24 19:39:46 +00001731.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers
1732
1733Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
1734
Richard Smith081ad4d2017-01-24 19:39:46 +00001735.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa
1736
Richard Smith081ad4d2017-01-24 19:39:46 +00001737.. option:: -ftabstop=<arg>
1738
Richard Smith081ad4d2017-01-24 19:39:46 +00001739.. option:: -ftemplate-backtrace-limit=<arg>
1740
Richard Smith081ad4d2017-01-24 19:39:46 +00001741.. option:: -ftemplate-depth-<arg>
1742
Richard Smith081ad4d2017-01-24 19:39:46 +00001743.. option:: -ftemplate-depth=<arg>
1744
Richard Smith081ad4d2017-01-24 19:39:46 +00001745.. option:: -ftest-coverage
1746
Richard Smith081ad4d2017-01-24 19:39:46 +00001747.. option:: -fthinlto-index=<arg>
1748
1749Perform ThinLTO importing using provided function summary index
1750
Richard Smith081ad4d2017-01-24 19:39:46 +00001751.. option:: -fthreadsafe-statics, -fno-threadsafe-statics
1752
Richard Smith081ad4d2017-01-24 19:39:46 +00001753.. option:: -ftime-report
1754
Richard Smith081ad4d2017-01-24 19:39:46 +00001755.. option:: -ftls-model=<arg>
1756
Richard Smith081ad4d2017-01-24 19:39:46 +00001757.. option:: -ftrap-function=<arg>
1758
1759Issue call to specified function rather than a trap instruction
1760
Richard Smith081ad4d2017-01-24 19:39:46 +00001761.. option:: -ftrapping-math, -fno-trapping-math
1762
Richard Smith081ad4d2017-01-24 19:39:46 +00001763.. option:: -ftrapv
1764
1765Trap on integer overflow
1766
Richard Smith081ad4d2017-01-24 19:39:46 +00001767.. option:: -ftrapv-handler <arg>
1768
Richard Smithb2c82a62017-01-27 01:54:42 +00001769.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001770.. option:: -ftrapv-handler=<function name>
Richard Smithb2c82a62017-01-27 01:54:42 +00001771.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001772
1773Specify the function to be called on overflow
1774
Richard Smith081ad4d2017-01-24 19:39:46 +00001775.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs
1776
1777Process trigraph sequences
1778
Richard Smith081ad4d2017-01-24 19:39:46 +00001779.. option:: -funique-section-names, -fno-unique-section-names
1780
1781Use unique names for text and data sections (ELF Only)
1782
Richard Smith081ad4d2017-01-24 19:39:46 +00001783.. option:: -funit-at-a-time, -fno-unit-at-a-time
1784
Richard Smith081ad4d2017-01-24 19:39:46 +00001785.. option:: -funroll-loops, -fno-unroll-loops
1786
1787Turn on loop unroller
1788
Richard Smith081ad4d2017-01-24 19:39:46 +00001789.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations
1790
Richard Smith081ad4d2017-01-24 19:39:46 +00001791.. option:: -funsigned-bitfields
1792
Richard Smith081ad4d2017-01-24 19:39:46 +00001793.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char
1794
Richard Smith081ad4d2017-01-24 19:39:46 +00001795.. option:: -funwind-tables, -fno-unwind-tables
1796
Richard Smith081ad4d2017-01-24 19:39:46 +00001797.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit
1798
Richard Smith081ad4d2017-01-24 19:39:46 +00001799.. option:: -fuse-init-array, -fno-use-init-array
1800
1801Use .init\_array instead of .ctors
1802
Richard Smith081ad4d2017-01-24 19:39:46 +00001803.. option:: -fuse-ld=<arg>
1804
Richard Smith081ad4d2017-01-24 19:39:46 +00001805.. option:: -fuse-line-directives, -fno-use-line-directives
1806
Richard Smith081ad4d2017-01-24 19:39:46 +00001807.. option:: -fveclib=<arg>
1808
1809Use the given vector functions library
1810
Richard Smith081ad4d2017-01-24 19:39:46 +00001811.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize
1812
1813Enable the loop vectorization passes
1814
Richard Smith081ad4d2017-01-24 19:39:46 +00001815.. option:: -fverbose-asm, -fno-verbose-asm
1816
Richard Smith081ad4d2017-01-24 19:39:46 +00001817.. option:: -fvisibility-inlines-hidden
1818
1819Give inline C++ member functions default visibility by default
1820
Richard Smith081ad4d2017-01-24 19:39:46 +00001821.. option:: -fvisibility-ms-compat
1822
1823Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
1824
Richard Smith081ad4d2017-01-24 19:39:46 +00001825.. option:: -fvisibility=<arg>
1826
1827Set the default symbol visibility for all global declarations
1828
Richard Smith081ad4d2017-01-24 19:39:46 +00001829.. option:: -fwhole-program-vtables, -fno-whole-program-vtables
1830
1831Enables whole-program vtable optimization. Requires -flto
1832
Richard Smith081ad4d2017-01-24 19:39:46 +00001833.. option:: -fwrapv, -fno-wrapv
1834
1835Treat signed integer overflow as two's complement
1836
Richard Smith081ad4d2017-01-24 19:39:46 +00001837.. option:: -fwritable-strings
1838
1839Store string literals as writable data
1840
Richard Smith78e23fd2017-04-13 22:39:49 +00001841.. option:: -fxray-always-instrument=<arg>
1842
1843Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
1844
Richard Smith081ad4d2017-01-24 19:39:46 +00001845.. option:: -fxray-instruction-threshold<arg>
1846
Richard Smithb2c82a62017-01-27 01:54:42 +00001847.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00001848.. option:: -fxray-instruction-threshold=<arg>
Richard Smithb2c82a62017-01-27 01:54:42 +00001849.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00001850
1851Sets the minimum function size to instrument with XRay
1852
Richard Smith081ad4d2017-01-24 19:39:46 +00001853.. option:: -fxray-instrument, -fno-xray-instrument
1854
1855Generate XRay instrumentation sleds on function entry and exit
1856
Richard Smith78e23fd2017-04-13 22:39:49 +00001857.. option:: -fxray-never-instrument=<arg>
1858
1859Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
1860
Richard Smith081ad4d2017-01-24 19:39:46 +00001861.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss
1862
Richard Smith081ad4d2017-01-24 19:39:46 +00001863.. option:: -fzvector, -fno-zvector, -mzvector
1864
1865Enable System z vector language extension
1866
Richard Smith081ad4d2017-01-24 19:39:46 +00001867.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic
1868
Richard Smith081ad4d2017-01-24 19:39:46 +00001869.. option:: -pedantic-errors, --pedantic-errors
1870
1871OpenCL flags
1872------------
Richard Smith081ad4d2017-01-24 19:39:46 +00001873.. option:: -cl-denorms-are-zero
1874
1875OpenCL only. Allow denormals to be flushed to zero.
1876
Richard Smith081ad4d2017-01-24 19:39:46 +00001877.. option:: -cl-fast-relaxed-math
1878
1879OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_.
1880
Richard Smith081ad4d2017-01-24 19:39:46 +00001881.. option:: -cl-finite-math-only
1882
1883OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
1884
Richard Smith081ad4d2017-01-24 19:39:46 +00001885.. option:: -cl-fp32-correctly-rounded-divide-sqrt
1886
1887OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
1888
Richard Smith081ad4d2017-01-24 19:39:46 +00001889.. option:: -cl-kernel-arg-info
1890
1891OpenCL only. Generate kernel argument metadata.
1892
Richard Smith081ad4d2017-01-24 19:39:46 +00001893.. option:: -cl-mad-enable
1894
1895OpenCL only. Allow use of less precise MAD computations in the generated binary.
1896
Richard Smith081ad4d2017-01-24 19:39:46 +00001897.. option:: -cl-no-signed-zeros
1898
1899OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
1900
Richard Smith081ad4d2017-01-24 19:39:46 +00001901.. option:: -cl-opt-disable
1902
1903OpenCL only. This option disables all optimizations. By default optimizations are enabled.
1904
Richard Smith081ad4d2017-01-24 19:39:46 +00001905.. option:: -cl-single-precision-constant
1906
1907OpenCL only. Treat double precision floating-point constant as single precision constant.
1908
Richard Smith081ad4d2017-01-24 19:39:46 +00001909.. option:: -cl-std=<arg>
1910
1911OpenCL language standard to compile for.
1912
Richard Smith081ad4d2017-01-24 19:39:46 +00001913.. option:: -cl-strict-aliasing
1914
1915OpenCL only. This option is added for compatibility with OpenCL 1.0.
1916
Richard Smith081ad4d2017-01-24 19:39:46 +00001917.. option:: -cl-unsafe-math-optimizations
1918
1919OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
1920
1921Target-dependent compilation options
1922~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Richard Smithc5b2e002017-01-27 02:08:37 +00001923.. option:: -G<size>, -G=<arg>, -msmall-data-threshold=<arg>
1924
1925Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
1926
Richard Smith081ad4d2017-01-24 19:39:46 +00001927.. option:: -m16
1928
Richard Smith081ad4d2017-01-24 19:39:46 +00001929.. option:: -m32
1930
Richard Smith081ad4d2017-01-24 19:39:46 +00001931.. option:: -m64
1932
Richard Smith081ad4d2017-01-24 19:39:46 +00001933.. option:: -mabi=<arg>
1934
Richard Smith081ad4d2017-01-24 19:39:46 +00001935.. option:: -mabicalls, -mno-abicalls
1936
1937Enable SVR4-style position-independent code (Mips only)
1938
Boris Kolpackovb150d242017-08-30 09:15:53 +00001939.. option:: -mabs=<arg>
1940
Richard Smith081ad4d2017-01-24 19:39:46 +00001941.. option:: -malign-double
1942
1943Align doubles to two words in structs (x86 only)
1944
Richard Smith081ad4d2017-01-24 19:39:46 +00001945.. option:: -march=<arg>
1946
Richard Smith081ad4d2017-01-24 19:39:46 +00001947.. option:: -masm=<arg>
1948
Richard Smith081ad4d2017-01-24 19:39:46 +00001949.. option:: -mbackchain, -mno-backchain
1950
1951Link stack frames through backchain on System Z
1952
Richard Smith081ad4d2017-01-24 19:39:46 +00001953.. option:: -mcheck-zero-division, -mno-check-zero-division
1954
Richard Smith081ad4d2017-01-24 19:39:46 +00001955.. option:: -mcmodel=<arg>
1956
Richard Smith081ad4d2017-01-24 19:39:46 +00001957.. option:: -mcompact-branches=<arg>
1958
Richard Smith081ad4d2017-01-24 19:39:46 +00001959.. option:: -mconsole<arg>
1960
Richard Smith78e23fd2017-04-13 22:39:49 +00001961.. 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)
Richard Smith081ad4d2017-01-24 19:39:46 +00001962
Craig Topperd23254a2017-07-20 17:52:48 +00001963.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg>
1964
Richard Smith081ad4d2017-01-24 19:39:46 +00001965.. option:: -mdll<arg>
1966
Richard Smith081ad4d2017-01-24 19:39:46 +00001967.. option:: -mdouble-float
1968
Richard Smith081ad4d2017-01-24 19:39:46 +00001969.. option:: -mdsp, -mno-dsp
1970
Richard Smith081ad4d2017-01-24 19:39:46 +00001971.. option:: -mdspr2, -mno-dspr2
1972
Richard Smith081ad4d2017-01-24 19:39:46 +00001973.. option:: -mdynamic-no-pic<arg>
1974
Richard Smith081ad4d2017-01-24 19:39:46 +00001975.. option:: -meabi <arg>
1976
1977Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
1978
Boris Kolpackovb150d242017-08-30 09:15:53 +00001979.. option:: -membedded-data, -mno-embedded-data
1980
1981Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
1982
1983.. option:: -mextern-sdata, -mno-extern-sdata
1984
1985Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
1986
Richard Smith78e23fd2017-04-13 22:39:49 +00001987.. option:: -mfentry
1988
1989Insert calls to fentry at function entry (x86 only)
1990
Richard Smith081ad4d2017-01-24 19:39:46 +00001991.. option:: -mfloat-abi=<arg>
1992
Richard Smith081ad4d2017-01-24 19:39:46 +00001993.. option:: -mfp32
1994
1995Use 32-bit floating point registers (MIPS only)
1996
Richard Smith081ad4d2017-01-24 19:39:46 +00001997.. option:: -mfp64
1998
1999Use 64-bit floating point registers (MIPS only)
2000
Richard Smith081ad4d2017-01-24 19:39:46 +00002001.. option:: -mfpmath=<arg>
2002
Richard Smith081ad4d2017-01-24 19:39:46 +00002003.. option:: -mfpu=<arg>
2004
Richard Smith081ad4d2017-01-24 19:39:46 +00002005.. option:: -mglobal-merge, -mno-global-merge
2006
2007Enable merging of globals
2008
Craig Topperd23254a2017-07-20 17:52:48 +00002009.. option:: -mgpopt, -mno-gpopt
2010
2011Use GP relative accesses for symbols known to be in a small data section (MIPS)
2012
Richard Smith081ad4d2017-01-24 19:39:46 +00002013.. option:: -mhard-float
2014
Richard Smith081ad4d2017-01-24 19:39:46 +00002015.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg>
2016
Richard Smith081ad4d2017-01-24 19:39:46 +00002017.. option:: -miamcu, -mno-iamcu
2018
2019Use Intel MCU ABI
2020
Richard Smith081ad4d2017-01-24 19:39:46 +00002021.. option:: -mimplicit-float, -mno-implicit-float
2022
Richard Smith081ad4d2017-01-24 19:39:46 +00002023.. option:: -mimplicit-it=<arg>
2024
Richard Smith081ad4d2017-01-24 19:39:46 +00002025.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible
2026
2027(integrated-as) Emit an object file which can be used with an incremental linker
2028
Richard Smith78e23fd2017-04-13 22:39:49 +00002029.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002030
Richard Smith081ad4d2017-01-24 19:39:46 +00002031.. option:: -mips16
2032
Richard Smith081ad4d2017-01-24 19:39:46 +00002033.. option:: -mkernel
2034
Richard Smith081ad4d2017-01-24 19:39:46 +00002035.. option:: -mldc1-sdc1, -mno-ldc1-sdc1
2036
Boris Kolpackovb150d242017-08-30 09:15:53 +00002037.. option:: -mlocal-sdata, -mno-local-sdata
2038
2039Extend the -G behaviour to object local data (MIPS)
2040
Richard Smith081ad4d2017-01-24 19:39:46 +00002041.. option:: -mlong-calls, -mno-long-calls
2042
2043Generate branches with extended addressability, usually via indirect jumps.
2044
Craig Topperd23254a2017-07-20 17:52:48 +00002045.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002046
2047Set Mac OS X deployment target
2048
Craig Topperd23254a2017-07-20 17:52:48 +00002049.. option:: -mmadd4, -mno-madd4
2050
2051Enable the generation of 4-operand madd.s, madd.d and related instructions.
2052
2053.. option:: -mmcu=<arg>
2054
Richard Smith081ad4d2017-01-24 19:39:46 +00002055.. option:: -mmicromips, -mno-micromips
2056
Richard Smith081ad4d2017-01-24 19:39:46 +00002057.. option:: -mms-bitfields, -mno-ms-bitfields
2058
2059Set the default structure layout to be compatible with the Microsoft compiler standard
2060
Richard Smith081ad4d2017-01-24 19:39:46 +00002061.. option:: -mmsa, -mno-msa
2062
2063Enable MSA ASE (MIPS only)
2064
Craig Topperd23254a2017-07-20 17:52:48 +00002065.. option:: -mmt, -mno-mt
2066
2067Enable MT ASE (MIPS only)
2068
Richard Smith081ad4d2017-01-24 19:39:46 +00002069.. option:: -mnan=<arg>
2070
Richard Smith081ad4d2017-01-24 19:39:46 +00002071.. option:: -mno-mips16
2072
Richard Smith081ad4d2017-01-24 19:39:46 +00002073.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer
2074
2075Omit frame pointer setup for leaf functions
2076
Richard Smith081ad4d2017-01-24 19:39:46 +00002077.. option:: -moslib=<arg>
2078
Richard Smith081ad4d2017-01-24 19:39:46 +00002079.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations
2080
2081Use copy relocations support for PIE builds
2082
Richard Smith081ad4d2017-01-24 19:39:46 +00002083.. option:: -mqdsp6-compat
2084
2085Enable hexagon-qdsp6 backward compatibility
2086
Richard Smith081ad4d2017-01-24 19:39:46 +00002087.. option:: -mrecip
2088
Richard Smithb2c82a62017-01-27 01:54:42 +00002089.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002090.. option:: -mrecip=<arg1>,<arg2>...
Richard Smithb2c82a62017-01-27 01:54:42 +00002091.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002092
Richard Smith081ad4d2017-01-24 19:39:46 +00002093.. option:: -mred-zone, -mno-red-zone
2094
Richard Smith081ad4d2017-01-24 19:39:46 +00002095.. option:: -mregparm=<arg>
2096
Richard Smith081ad4d2017-01-24 19:39:46 +00002097.. option:: -mrelax-all, -mno-relax-all
2098
2099(integrated-as) Relax all machine instructions
2100
Richard Smith081ad4d2017-01-24 19:39:46 +00002101.. option:: -mrtd, -mno-rtd
2102
2103Make StdCall calling convention the default
2104
Richard Smith081ad4d2017-01-24 19:39:46 +00002105.. option:: -msingle-float
2106
Richard Smith081ad4d2017-01-24 19:39:46 +00002107.. option:: -msoft-float, -mno-soft-float
2108
2109Use software floating point
2110
Richard Smith081ad4d2017-01-24 19:39:46 +00002111.. option:: -mstack-alignment=<arg>
2112
2113Set the stack alignment
2114
Richard Smith081ad4d2017-01-24 19:39:46 +00002115.. option:: -mstack-probe-size=<arg>
2116
2117Set the stack probe size
2118
Richard Smith081ad4d2017-01-24 19:39:46 +00002119.. option:: -mstackrealign, -mno-stackrealign
2120
2121Force realign the stack at entry to every function
2122
Richard Smith081ad4d2017-01-24 19:39:46 +00002123.. option:: -mthread-model <arg>
2124
2125The thread model to use, e.g. posix, single (posix by default)
2126
Richard Smith081ad4d2017-01-24 19:39:46 +00002127.. option:: -mthreads<arg>
2128
Richard Smith081ad4d2017-01-24 19:39:46 +00002129.. option:: -mthumb, -mno-thumb
2130
Richard Smith081ad4d2017-01-24 19:39:46 +00002131.. option:: -mtune=<arg>
2132
Richard Smith78e23fd2017-04-13 22:39:49 +00002133.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002134
Richard Smith081ad4d2017-01-24 19:39:46 +00002135.. option:: -municode<arg>
2136
Richard Smith081ad4d2017-01-24 19:39:46 +00002137.. option:: -mvx, -mno-vx
2138
Richard Smith081ad4d2017-01-24 19:39:46 +00002139.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings
2140
Richard Smith78e23fd2017-04-13 22:39:49 +00002141.. option:: -mwatchos-version-min=<arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002142
Richard Smith081ad4d2017-01-24 19:39:46 +00002143.. option:: -mwindows<arg>
2144
Richard Smith081ad4d2017-01-24 19:39:46 +00002145.. option:: -mx32
2146
Richard Smith081ad4d2017-01-24 19:39:46 +00002147.. option:: -mxgot, -mno-xgot
2148
2149AARCH64
2150-------
Richard Smith081ad4d2017-01-24 19:39:46 +00002151.. option:: -ffixed-x18
2152
2153Reserve the x18 register (AArch64 only)
2154
Richard Smith081ad4d2017-01-24 19:39:46 +00002155.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769
2156
2157Workaround Cortex-A53 erratum 835769 (AArch64 only)
2158
Richard Smith081ad4d2017-01-24 19:39:46 +00002159.. option:: -mgeneral-regs-only
2160
2161Generate code which only uses the general purpose registers (AArch64 only)
2162
2163AMDGPU
2164------
2165ARM
2166---
Richard Smith081ad4d2017-01-24 19:39:46 +00002167.. option:: -ffixed-r9
2168
2169Reserve the r9 register (ARM only)
2170
Richard Smith081ad4d2017-01-24 19:39:46 +00002171.. option:: -mcrc
2172
2173Allow use of CRC instructions (ARM only)
2174
Richard Smith081ad4d2017-01-24 19:39:46 +00002175.. option:: -mexecute-only, -mno-execute-only, -mpure-code
2176
2177Disallow generation of data access to code sections (ARM only)
2178
Richard Smith081ad4d2017-01-24 19:39:46 +00002179.. option:: -mno-movt
2180
2181Disallow use of movt/movw pairs (ARM only)
2182
Richard Smith78e23fd2017-04-13 22:39:49 +00002183.. option:: -mno-neg-immediates
2184
2185Disallow converting instructions with negative immediates to their negation or inversion.
2186
Richard Smith081ad4d2017-01-24 19:39:46 +00002187.. option:: -mnocrc
2188
2189Disallow use of CRC instructions (ARM only)
2190
Richard Smith081ad4d2017-01-24 19:39:46 +00002191.. option:: -mrestrict-it, -mno-restrict-it
2192
2193Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
2194
Richard Smith081ad4d2017-01-24 19:39:46 +00002195.. option:: -munaligned-access, -mno-unaligned-access
2196
2197Allow memory accesses to be unaligned (AArch32/AArch64 only)
2198
2199Hexagon
2200-------
Richard Smith081ad4d2017-01-24 19:39:46 +00002201.. option:: -mhvx, -mno-hvx
2202
2203Enable Hexagon Vector eXtensions
2204
Richard Smith081ad4d2017-01-24 19:39:46 +00002205.. option:: -mhvx-double, -mno-hvx-double
2206
2207Enable Hexagon Double Vector eXtensions
2208
Richard Smith081ad4d2017-01-24 19:39:46 +00002209.. option:: -mieee-rnd-near
2210
2211PowerPC
2212-------
Richard Smith78e23fd2017-04-13 22:39:49 +00002213.. option:: -maltivec, -mno-altivec
2214
Richard Smith081ad4d2017-01-24 19:39:46 +00002215.. option:: -mcmpb, -mno-cmpb
2216
Richard Smith081ad4d2017-01-24 19:39:46 +00002217.. option:: -mcrbits, -mno-crbits
2218
Richard Smith081ad4d2017-01-24 19:39:46 +00002219.. option:: -mcrypto, -mno-crypto
2220
Richard Smith081ad4d2017-01-24 19:39:46 +00002221.. option:: -mdirect-move, -mno-direct-move
2222
Richard Smith081ad4d2017-01-24 19:39:46 +00002223.. option:: -mfloat128, -mno-float128
2224
Richard Smith081ad4d2017-01-24 19:39:46 +00002225.. option:: -mfprnd, -mno-fprnd
2226
Richard Smith081ad4d2017-01-24 19:39:46 +00002227.. option:: -mhtm, -mno-htm
2228
Richard Smith081ad4d2017-01-24 19:39:46 +00002229.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors
2230
Richard Smith081ad4d2017-01-24 19:39:46 +00002231.. option:: -misel, -mno-isel
2232
Richard Smith081ad4d2017-01-24 19:39:46 +00002233.. option:: -mlongcall, -mno-longcall
2234
Richard Smith081ad4d2017-01-24 19:39:46 +00002235.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf
2236
Richard Smith081ad4d2017-01-24 19:39:46 +00002237.. option:: -mpopcntd, -mno-popcntd
2238
Richard Smith081ad4d2017-01-24 19:39:46 +00002239.. option:: -mpower8-vector, -mno-power8-vector
2240
Richard Smith081ad4d2017-01-24 19:39:46 +00002241.. option:: -mpower9-vector, -mno-power9-vector
2242
Richard Smith081ad4d2017-01-24 19:39:46 +00002243.. option:: -mqpx, -mno-qpx
2244
Richard Smith081ad4d2017-01-24 19:39:46 +00002245.. option:: -mvsx, -mno-vsx
2246
2247WebAssembly
2248-----------
Richard Smith081ad4d2017-01-24 19:39:46 +00002249.. option:: -msimd128, -mno-simd128
2250
2251X86
2252---
Richard Smith081ad4d2017-01-24 19:39:46 +00002253.. option:: -m3dnow, -mno-3dnow
2254
Richard Smith081ad4d2017-01-24 19:39:46 +00002255.. option:: -m3dnowa, -mno-3dnowa
2256
Richard Smith081ad4d2017-01-24 19:39:46 +00002257.. option:: -madx, -mno-adx
2258
Richard Smith081ad4d2017-01-24 19:39:46 +00002259.. option:: -maes, -mno-aes
2260
Richard Smith081ad4d2017-01-24 19:39:46 +00002261.. option:: -mavx, -mno-avx
2262
Richard Smith081ad4d2017-01-24 19:39:46 +00002263.. option:: -mavx2, -mno-avx2
2264
Richard Smith081ad4d2017-01-24 19:39:46 +00002265.. option:: -mavx512bw, -mno-avx512bw
2266
Richard Smith081ad4d2017-01-24 19:39:46 +00002267.. option:: -mavx512cd, -mno-avx512cd
2268
Richard Smith081ad4d2017-01-24 19:39:46 +00002269.. option:: -mavx512dq, -mno-avx512dq
2270
Richard Smith081ad4d2017-01-24 19:39:46 +00002271.. option:: -mavx512er, -mno-avx512er
2272
Richard Smith081ad4d2017-01-24 19:39:46 +00002273.. option:: -mavx512f, -mno-avx512f
2274
Richard Smith081ad4d2017-01-24 19:39:46 +00002275.. option:: -mavx512ifma, -mno-avx512ifma
2276
Richard Smith081ad4d2017-01-24 19:39:46 +00002277.. option:: -mavx512pf, -mno-avx512pf
2278
Richard Smith081ad4d2017-01-24 19:39:46 +00002279.. option:: -mavx512vbmi, -mno-avx512vbmi
2280
Richard Smith081ad4d2017-01-24 19:39:46 +00002281.. option:: -mavx512vl, -mno-avx512vl
2282
Craig Topperd23254a2017-07-20 17:52:48 +00002283.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq
2284
Richard Smith081ad4d2017-01-24 19:39:46 +00002285.. option:: -mbmi, -mno-bmi
2286
Richard Smith081ad4d2017-01-24 19:39:46 +00002287.. option:: -mbmi2, -mno-bmi2
2288
Craig Topper78b47872017-02-08 06:48:58 +00002289.. option:: -mclflushopt, -mno-clflushopt
2290
Craig Topper177a57c2017-02-08 07:57:01 +00002291.. option:: -mclwb, -mno-clwb
2292
Richard Smith78e23fd2017-04-13 22:39:49 +00002293.. option:: -mclzero, -mno-clzero
2294
Richard Smith081ad4d2017-01-24 19:39:46 +00002295.. option:: -mcx16, -mno-cx16
2296
Richard Smith081ad4d2017-01-24 19:39:46 +00002297.. option:: -mf16c, -mno-f16c
2298
Richard Smith081ad4d2017-01-24 19:39:46 +00002299.. option:: -mfma, -mno-fma
2300
Richard Smith081ad4d2017-01-24 19:39:46 +00002301.. option:: -mfma4, -mno-fma4
2302
Richard Smith081ad4d2017-01-24 19:39:46 +00002303.. option:: -mfsgsbase, -mno-fsgsbase
2304
Richard Smith081ad4d2017-01-24 19:39:46 +00002305.. option:: -mfxsr, -mno-fxsr
2306
Craig Topperd23254a2017-07-20 17:52:48 +00002307.. option:: -mlwp, -mno-lwp
2308
Richard Smith081ad4d2017-01-24 19:39:46 +00002309.. option:: -mlzcnt, -mno-lzcnt
2310
Richard Smith081ad4d2017-01-24 19:39:46 +00002311.. option:: -mmmx, -mno-mmx
2312
Craig Topper177a57c2017-02-08 07:57:01 +00002313.. option:: -mmovbe, -mno-movbe
2314
Craig Topperb16cb822017-02-08 07:56:42 +00002315.. option:: -mmpx, -mno-mpx
2316
Richard Smith081ad4d2017-01-24 19:39:46 +00002317.. option:: -mmwaitx, -mno-mwaitx
2318
Richard Smith081ad4d2017-01-24 19:39:46 +00002319.. option:: -mpclmul, -mno-pclmul
2320
Richard Smith081ad4d2017-01-24 19:39:46 +00002321.. option:: -mpku, -mno-pku
2322
Richard Smith081ad4d2017-01-24 19:39:46 +00002323.. option:: -mpopcnt, -mno-popcnt
2324
Craig Topperd2bf7b02017-02-08 08:23:40 +00002325.. option:: -mprefetchwt1, -mno-prefetchwt1
2326
Richard Smith081ad4d2017-01-24 19:39:46 +00002327.. option:: -mprfchw, -mno-prfchw
2328
Richard Smith081ad4d2017-01-24 19:39:46 +00002329.. option:: -mrdrnd, -mno-rdrnd
2330
Richard Smith081ad4d2017-01-24 19:39:46 +00002331.. option:: -mrdseed, -mno-rdseed
2332
Richard Smith081ad4d2017-01-24 19:39:46 +00002333.. option:: -mrtm, -mno-rtm
2334
Craig Topper204ecff2017-02-08 08:23:17 +00002335.. option:: -msgx, -mno-sgx
2336
Richard Smith081ad4d2017-01-24 19:39:46 +00002337.. option:: -msha, -mno-sha
2338
Richard Smith081ad4d2017-01-24 19:39:46 +00002339.. option:: -msse, -mno-sse
2340
Richard Smith081ad4d2017-01-24 19:39:46 +00002341.. option:: -msse2, -mno-sse2
2342
Richard Smith081ad4d2017-01-24 19:39:46 +00002343.. option:: -msse3, -mno-sse3
2344
Richard Smith081ad4d2017-01-24 19:39:46 +00002345.. option:: -msse4.1, -mno-sse4.1
2346
Richard Smithb2c82a62017-01-27 01:54:42 +00002347.. program:: clang1
Richard Smith081ad4d2017-01-24 19:39:46 +00002348.. option:: -msse4.2, -mno-sse4.2, -msse4
Richard Smithb2c82a62017-01-27 01:54:42 +00002349.. program:: clang
Richard Smith081ad4d2017-01-24 19:39:46 +00002350
Richard Smith081ad4d2017-01-24 19:39:46 +00002351.. option:: -msse4a, -mno-sse4a
2352
Richard Smith081ad4d2017-01-24 19:39:46 +00002353.. option:: -mssse3, -mno-ssse3
2354
Richard Smith081ad4d2017-01-24 19:39:46 +00002355.. option:: -mtbm, -mno-tbm
2356
Richard Smith081ad4d2017-01-24 19:39:46 +00002357.. option:: -mx87, -m80387, -mno-x87
2358
Richard Smith081ad4d2017-01-24 19:39:46 +00002359.. option:: -mxop, -mno-xop
2360
Richard Smith081ad4d2017-01-24 19:39:46 +00002361.. option:: -mxsave, -mno-xsave
2362
Richard Smith081ad4d2017-01-24 19:39:46 +00002363.. option:: -mxsavec, -mno-xsavec
2364
Richard Smith081ad4d2017-01-24 19:39:46 +00002365.. option:: -mxsaveopt, -mno-xsaveopt
2366
Richard Smith081ad4d2017-01-24 19:39:46 +00002367.. option:: -mxsaves, -mno-xsaves
2368
2369Optimization level
2370~~~~~~~~~~~~~~~~~~
2371
2372Flags controlling how much optimization should be performed.
2373
Richard Smith081ad4d2017-01-24 19:39:46 +00002374.. option:: -O<arg>, -O (equivalent to -O2), --optimize, --optimize=<arg>
2375
Richard Smith081ad4d2017-01-24 19:39:46 +00002376.. option:: -Ofast<arg>
2377
2378Debug information generation
2379~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2380
2381Flags controlling how much and what kind of debug information should be
2382generated.
2383
2384Kind and level of debug information
2385-----------------------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002386.. option:: -g, --debug, --debug=<arg>
2387
2388Generate source-level debug information
2389
Richard Smith081ad4d2017-01-24 19:39:46 +00002390.. option:: -gdwarf-2
2391
2392Generate source-level debug information with dwarf version 2
2393
Richard Smith081ad4d2017-01-24 19:39:46 +00002394.. option:: -gdwarf-3
2395
2396Generate source-level debug information with dwarf version 3
2397
Richard Smith081ad4d2017-01-24 19:39:46 +00002398.. option:: -gdwarf-4, -gdwarf
2399
2400Generate source-level debug information with dwarf version 4
2401
Richard Smith081ad4d2017-01-24 19:39:46 +00002402.. option:: -gdwarf-5
2403
2404Generate source-level debug information with dwarf version 5
2405
Richard Smith081ad4d2017-01-24 19:39:46 +00002406.. option:: -gfull
2407
Richard Smith081ad4d2017-01-24 19:39:46 +00002408.. option:: -gused
2409
2410Debug level
2411___________
Richard Smith081ad4d2017-01-24 19:39:46 +00002412.. option:: -g0
2413
Richard Smith081ad4d2017-01-24 19:39:46 +00002414.. option:: -g2
2415
Richard Smith081ad4d2017-01-24 19:39:46 +00002416.. option:: -g3
2417
Richard Smith081ad4d2017-01-24 19:39:46 +00002418.. option:: -ggdb0
2419
Richard Smith081ad4d2017-01-24 19:39:46 +00002420.. option:: -ggdb1
2421
Richard Smith081ad4d2017-01-24 19:39:46 +00002422.. option:: -ggdb2
2423
Richard Smith081ad4d2017-01-24 19:39:46 +00002424.. option:: -ggdb3
2425
Richard Smith081ad4d2017-01-24 19:39:46 +00002426.. option:: -gline-tables-only, -g1, -gmlt
2427
2428Emit debug line number tables only
2429
Richard Smith081ad4d2017-01-24 19:39:46 +00002430.. option:: -gmodules
2431
2432Generate debug info with external references to clang modules or precompiled headers
2433
2434Debugger to tune debug information for
2435______________________________________
Richard Smith081ad4d2017-01-24 19:39:46 +00002436.. option:: -ggdb
2437
Richard Smith081ad4d2017-01-24 19:39:46 +00002438.. option:: -glldb
2439
Richard Smith081ad4d2017-01-24 19:39:46 +00002440.. option:: -gsce
2441
2442Debug information flags
2443-----------------------
Richard Smith081ad4d2017-01-24 19:39:46 +00002444.. option:: -gcolumn-info, -gno-column-info
2445
Richard Smith081ad4d2017-01-24 19:39:46 +00002446.. option:: -gdwarf-aranges
2447
Richard Smith081ad4d2017-01-24 19:39:46 +00002448.. option:: -ggnu-pubnames
2449
Richard Smith081ad4d2017-01-24 19:39:46 +00002450.. option:: -grecord-gcc-switches, -gno-record-gcc-switches
2451
Richard Smith081ad4d2017-01-24 19:39:46 +00002452.. option:: -gsplit-dwarf
2453
Richard Smith081ad4d2017-01-24 19:39:46 +00002454.. option:: -gstrict-dwarf, -gno-strict-dwarf
2455
Craig Topperd23254a2017-07-20 17:52:48 +00002456.. option:: -gz
2457
2458DWARF debug sections compression type
2459
2460.. program:: clang1
2461.. option:: -gz=<arg>
2462.. program:: clang
2463
2464DWARF debug sections compression type
2465
Richard Smithc5b2e002017-01-27 02:08:37 +00002466Static analyzer flags
2467=====================
Richard Smith081ad4d2017-01-24 19:39:46 +00002468
Richard Smithc5b2e002017-01-27 02:08:37 +00002469Flags controlling the behavior of the Clang Static Analyzer.
Richard Smith081ad4d2017-01-24 19:39:46 +00002470
Richard Smithc5b2e002017-01-27 02:08:37 +00002471.. option:: -Xanalyzer <arg>
Richard Smith081ad4d2017-01-24 19:39:46 +00002472
Richard Smithc5b2e002017-01-27 02:08:37 +00002473Pass <arg> to the static analyzer
Richard Smith081ad4d2017-01-24 19:39:46 +00002474
2475Fortran compilation flags
2476=========================
2477
2478Flags that will be passed onto the ``gfortran`` compiler when Clang is given
2479a Fortran input.
2480
Richard Smithc5b2e002017-01-27 02:08:37 +00002481.. option:: -A<arg>, --assert <arg>, --assert=<arg>
2482
Richard Smith081ad4d2017-01-24 19:39:46 +00002483.. option:: -A-<arg>
2484
Richard Smith081ad4d2017-01-24 19:39:46 +00002485.. option:: -J<arg>
2486
Richard Smith081ad4d2017-01-24 19:39:46 +00002487.. option:: -cpp
2488
Richard Smith081ad4d2017-01-24 19:39:46 +00002489.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination
2490
Richard Smith081ad4d2017-01-24 19:39:46 +00002491.. option:: -falign-commons, -fno-align-commons
2492
Richard Smith081ad4d2017-01-24 19:39:46 +00002493.. option:: -fall-intrinsics, -fno-all-intrinsics
2494
Richard Smith081ad4d2017-01-24 19:39:46 +00002495.. option:: -fautomatic, -fno-automatic
2496
Richard Smith081ad4d2017-01-24 19:39:46 +00002497.. option:: -fbackslash, -fno-backslash
2498
Richard Smith081ad4d2017-01-24 19:39:46 +00002499.. option:: -fbacktrace, -fno-backtrace
2500
Richard Smith081ad4d2017-01-24 19:39:46 +00002501.. option:: -fblas-matmul-limit=<arg>
2502
Richard Smith081ad4d2017-01-24 19:39:46 +00002503.. option:: -fbounds-check, -fno-bounds-check
2504
Richard Smith081ad4d2017-01-24 19:39:46 +00002505.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries
2506
Richard Smith081ad4d2017-01-24 19:39:46 +00002507.. option:: -fcheck=<arg>
2508
Richard Smith081ad4d2017-01-24 19:39:46 +00002509.. option:: -fcoarray=<arg>
2510
Richard Smith081ad4d2017-01-24 19:39:46 +00002511.. option:: -fconvert=<arg>
2512
Richard Smith081ad4d2017-01-24 19:39:46 +00002513.. option:: -fcray-pointer, -fno-cray-pointer
2514
Richard Smith081ad4d2017-01-24 19:39:46 +00002515.. option:: -fd-lines-as-code, -fno-d-lines-as-code
2516
Richard Smith081ad4d2017-01-24 19:39:46 +00002517.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments
2518
Richard Smith081ad4d2017-01-24 19:39:46 +00002519.. option:: -fdefault-double-8, -fno-default-double-8
2520
Richard Smith081ad4d2017-01-24 19:39:46 +00002521.. option:: -fdefault-integer-8, -fno-default-integer-8
2522
Richard Smith081ad4d2017-01-24 19:39:46 +00002523.. option:: -fdefault-real-8, -fno-default-real-8
2524
Richard Smith081ad4d2017-01-24 19:39:46 +00002525.. option:: -fdollar-ok, -fno-dollar-ok
2526
Richard Smith081ad4d2017-01-24 19:39:46 +00002527.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized
2528
Richard Smith081ad4d2017-01-24 19:39:46 +00002529.. option:: -fdump-fortran-original, -fno-dump-fortran-original
2530
Richard Smith081ad4d2017-01-24 19:39:46 +00002531.. option:: -fdump-parse-tree, -fno-dump-parse-tree
2532
Richard Smith081ad4d2017-01-24 19:39:46 +00002533.. option:: -fexternal-blas, -fno-external-blas
2534
Richard Smith081ad4d2017-01-24 19:39:46 +00002535.. option:: -ff2c, -fno-f2c
2536
Richard Smith081ad4d2017-01-24 19:39:46 +00002537.. option:: -ffixed-form, -fno-fixed-form
2538
Richard Smith081ad4d2017-01-24 19:39:46 +00002539.. option:: -ffixed-line-length-<arg>
2540
Richard Smith081ad4d2017-01-24 19:39:46 +00002541.. option:: -ffpe-trap=<arg>
2542
Richard Smith081ad4d2017-01-24 19:39:46 +00002543.. option:: -ffree-form, -fno-free-form
2544
Richard Smith081ad4d2017-01-24 19:39:46 +00002545.. option:: -ffree-line-length-<arg>
2546
Richard Smith081ad4d2017-01-24 19:39:46 +00002547.. option:: -ffrontend-optimize, -fno-frontend-optimize
2548
Richard Smith081ad4d2017-01-24 19:39:46 +00002549.. option:: -fimplicit-none, -fno-implicit-none
2550
Richard Smith081ad4d2017-01-24 19:39:46 +00002551.. option:: -finit-character=<arg>
2552
Richard Smith081ad4d2017-01-24 19:39:46 +00002553.. option:: -finit-integer=<arg>
2554
Richard Smith081ad4d2017-01-24 19:39:46 +00002555.. option:: -finit-local-zero, -fno-init-local-zero
2556
Richard Smith081ad4d2017-01-24 19:39:46 +00002557.. option:: -finit-logical=<arg>
2558
Richard Smith081ad4d2017-01-24 19:39:46 +00002559.. option:: -finit-real=<arg>
2560
Richard Smith081ad4d2017-01-24 19:39:46 +00002561.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8
2562
Richard Smith081ad4d2017-01-24 19:39:46 +00002563.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path
2564
Richard Smith081ad4d2017-01-24 19:39:46 +00002565.. option:: -fmax-array-constructor=<arg>
2566
Richard Smith081ad4d2017-01-24 19:39:46 +00002567.. option:: -fmax-errors=<arg>
2568
Richard Smith081ad4d2017-01-24 19:39:46 +00002569.. option:: -fmax-identifier-length, -fno-max-identifier-length
2570
Richard Smith081ad4d2017-01-24 19:39:46 +00002571.. option:: -fmax-stack-var-size=<arg>
2572
Richard Smith081ad4d2017-01-24 19:39:46 +00002573.. option:: -fmax-subrecord-length=<arg>
2574
Richard Smith081ad4d2017-01-24 19:39:46 +00002575.. option:: -fmodule-private, -fno-module-private
2576
Richard Smith081ad4d2017-01-24 19:39:46 +00002577.. option:: -fpack-derived, -fno-pack-derived
2578
Richard Smith081ad4d2017-01-24 19:39:46 +00002579.. option:: -fprotect-parens, -fno-protect-parens
2580
Richard Smith081ad4d2017-01-24 19:39:46 +00002581.. option:: -frange-check, -fno-range-check
2582
Richard Smith081ad4d2017-01-24 19:39:46 +00002583.. option:: -freal-4-real-10, -fno-real-4-real-10
2584
Richard Smith081ad4d2017-01-24 19:39:46 +00002585.. option:: -freal-4-real-16, -fno-real-4-real-16
2586
Richard Smith081ad4d2017-01-24 19:39:46 +00002587.. option:: -freal-4-real-8, -fno-real-4-real-8
2588
Richard Smith081ad4d2017-01-24 19:39:46 +00002589.. option:: -freal-8-real-10, -fno-real-8-real-10
2590
Richard Smith081ad4d2017-01-24 19:39:46 +00002591.. option:: -freal-8-real-16, -fno-real-8-real-16
2592
Richard Smith081ad4d2017-01-24 19:39:46 +00002593.. option:: -freal-8-real-4, -fno-real-8-real-4
2594
Richard Smith081ad4d2017-01-24 19:39:46 +00002595.. option:: -frealloc-lhs, -fno-realloc-lhs
2596
Richard Smith081ad4d2017-01-24 19:39:46 +00002597.. option:: -frecord-marker=<arg>
2598
Richard Smith081ad4d2017-01-24 19:39:46 +00002599.. option:: -frecursive, -fno-recursive
2600
Richard Smith081ad4d2017-01-24 19:39:46 +00002601.. option:: -frepack-arrays, -fno-repack-arrays
2602
Richard Smith081ad4d2017-01-24 19:39:46 +00002603.. option:: -fsecond-underscore, -fno-second-underscore
2604
Richard Smith081ad4d2017-01-24 19:39:46 +00002605.. option:: -fsign-zero, -fno-sign-zero
2606
Richard Smith081ad4d2017-01-24 19:39:46 +00002607.. option:: -fstack-arrays, -fno-stack-arrays
2608
Richard Smith081ad4d2017-01-24 19:39:46 +00002609.. option:: -funderscoring, -fno-underscoring
2610
Richard Smith081ad4d2017-01-24 19:39:46 +00002611.. option:: -fwhole-file, -fno-whole-file
2612
Richard Smith081ad4d2017-01-24 19:39:46 +00002613.. option:: -nocpp
2614
Richard Smith081ad4d2017-01-24 19:39:46 +00002615.. option:: -static-libgfortran
2616
Richard Smithc5b2e002017-01-27 02:08:37 +00002617Linker flags
2618============
2619Flags that are passed on to the linker
2620
2621.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>
2622
2623Add directory to library search path
2624
2625.. option:: -Mach
2626
2627.. option:: -T<script>
2628
2629Specify <script> as linker script
2630
Richard Smith78e23fd2017-04-13 22:39:49 +00002631.. option:: -Tbss<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00002632
2633Set starting address of BSS to <addr>
2634
Richard Smith78e23fd2017-04-13 22:39:49 +00002635.. option:: -Tdata<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00002636
2637Set starting address of BSS to <addr>
2638
Richard Smith78e23fd2017-04-13 22:39:49 +00002639.. option:: -Ttext<addr>
Richard Smithc5b2e002017-01-27 02:08:37 +00002640
2641Set starting address of BSS to <addr>
2642
2643.. option:: -Wl,<arg>,<arg2>...
2644
2645Pass the comma separated arguments in <arg> to the linker
2646
2647.. option:: -X
2648
2649.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>
2650
2651Pass <arg> to the linker
2652
2653.. program:: clang1
2654.. option:: -Z
2655.. program:: clang
2656
2657.. option:: -e<arg>, --entry
2658
2659.. option:: -filelist <arg>
2660
2661.. option:: -l<arg>
2662
2663.. option:: -r
2664
2665.. option:: -rpath <arg>
2666
2667.. option:: -s
2668
2669.. option:: -t
2670
2671.. option:: -u<arg>, --force-link <arg>, --force-link=<arg>
2672
2673.. option:: -undef
2674
2675undef all system defines
2676
2677.. option:: -undefined<arg>, --no-undefined
2678
2679.. option:: -z <arg>
2680
2681Pass -z <arg> to the linker
2682