1..
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
21.. option:: -B<dir>, --prefix <arg>, --prefix=<arg>
22
23Add <dir> to search path for binaries and object files used implicitly
24
25.. option:: -F<arg>
26
27Add directory to framework include search path
28
29.. option:: -ObjC
30
31Treat source input files as Objective-C inputs
32
33.. program:: clang1
34.. option:: -ObjC++
35.. program:: clang
36
37Treat source input files as Objective-C++ inputs
38
39.. option:: -Qunused-arguments
40
41Don't emit warning for unused driver arguments
42
43.. option:: -Wa,<arg>,<arg2>...
44
45Pass the comma separated arguments in <arg> to the assembler
46
47.. option:: -Wlarge-by-value-copy=<arg>
48
49.. option:: -Xarch\_<arg1> <arg2>
50
51.. option:: -Xcuda-fatbinary <arg>
52
53Pass <arg> to fatbinary invocation
54
55.. option:: -Xcuda-ptxas <arg>
56
57Pass <arg> to the ptxas assembler
58
59.. 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
69.. option:: -Z<arg>
70
71.. option:: -a<arg>, --profile-blocks
72
73.. option:: -all\_load
74
75.. option:: -allowable\_client <arg>
76
77.. option:: --analyze
78
79Run the static analyzer
80
81.. option:: --analyze-auto
82
83.. option:: --analyzer-no-default-checks
84
85.. option:: --analyzer-output<arg>
86
87Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|text).
88
89.. option:: -ansi, --ansi
90
91.. option:: -arch <arg>
92
93.. program:: clang1
94.. option:: -arch\_errors\_fatal
95.. program:: clang
96
97.. program:: clang2
98.. option:: -arch\_only <arg>
99.. program:: clang
100
101.. option:: -arcmt-migrate-emit-errors
102
103Emit ARC errors even if the migrator can fix them
104
105.. option:: -arcmt-migrate-report-output <arg>
106
107Output path for the plist report
108
109.. option:: --autocomplete=<arg>
110
111.. option:: -bind\_at\_load
112
113.. option:: -bundle
114
115.. program:: clang1
116.. option:: -bundle\_loader <arg>
117.. program:: clang
118
119.. option:: -client\_name<arg>
120
121.. option:: -compatibility\_version<arg>
122
123.. option:: --constant-cfstrings
124
125.. option:: -coverage, --coverage
126
127.. option:: --cuda-compile-host-device
128
129Compile CUDA code for both host and device (default).  Has no effect on non-CUDA compilations.
130
131.. option:: --cuda-device-only
132
133Compile CUDA code for device only
134
135.. 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
139.. option:: --cuda-host-only
140
141Compile CUDA code for host only.  Has no effect on non-CUDA compilations.
142
143.. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug
144
145Enable device-side debug info generation. Disables ptxas optimizations.
146
147.. option:: -current\_version<arg>
148
149.. option:: -dead\_strip
150
151.. option:: -dependency-dot <arg>
152
153Filename to write DOT-formatted header dependencies to
154
155.. option:: -dependency-file <arg>
156
157Filename (or -) to write dependency output to
158
159.. option:: -dumpmachine
160
161.. option:: -dumpversion
162
163.. option:: --dyld-prefix=<arg>, --dyld-prefix <arg>
164
165.. option:: -dylib\_file <arg>
166
167.. option:: -dylinker
168
169.. program:: clang1
170.. option:: -dylinker\_install\_name<arg>
171.. program:: clang
172
173.. option:: -dynamic
174
175.. option:: -dynamiclib
176
177.. option:: -emit-ast
178
179Emit Clang AST files for source inputs
180
181.. option:: -exported\_symbols\_list <arg>
182
183.. option:: -faligned-new=<arg>
184
185.. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals
186
187Use approximate transcendental functions
188
189.. 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
193.. option:: -fheinous-gnu-extensions
194
195.. option:: -flat\_namespace
196
197.. option:: -fopenmp-targets=<arg1>,<arg2>...
198
199Specify comma-separated list of triples OpenMP offloading targets to be supported
200
201.. option:: -force\_cpusubtype\_ALL
202
203.. program:: clang1
204.. option:: -force\_flat\_namespace
205.. program:: clang
206
207.. program:: clang2
208.. option:: -force\_load <arg>
209.. program:: clang
210
211.. option:: -framework <arg>
212
213.. option:: -frtlib-add-rpath, -fno-rtlib-add-rpath
214
215Add -rpath with architecture-specific resource directory to the linker flags
216
217.. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg>
218
219Use the gcc toolchain at the given directory
220
221.. option:: -gcodeview
222
223Generate CodeView debug information
224
225.. option:: -headerpad\_max\_install\_names<arg>
226
227.. option:: -help, --help
228
229Display available options
230
231.. option:: --help-hidden
232
233.. option:: -image\_base <arg>
234
235.. option:: -index-header-map
236
237Make the next included directory (-I or -F) an indexer header map
238
239.. option:: -init <arg>
240
241.. option:: -install\_name <arg>
242
243.. option:: -keep\_private\_externs
244
245.. option:: -lazy\_framework <arg>
246
247.. program:: clang1
248.. option:: -lazy\_library <arg>
249.. program:: clang
250
251.. option:: -mbig-endian, -EB
252
253.. option:: --migrate
254
255Run the migrator
256
257.. option:: -mios-simulator-version-min=<arg>, -miphonesimulator-version-min=<arg>
258
259.. option:: -mlinker-version=<arg>
260
261.. option:: -mlittle-endian, -EL
262
263.. option:: -mllvm <arg>
264
265Additional arguments to forward to LLVM's option processing
266
267.. option:: -module-dependency-dir <arg>
268
269Directory to dump module dependencies to
270
271.. option:: -mtvos-simulator-version-min=<arg>, -mappletvsimulator-version-min=<arg>
272
273.. option:: -multi\_module
274
275.. option:: -multiply\_defined <arg>
276
277.. program:: clang1
278.. option:: -multiply\_defined\_unused <arg>
279.. program:: clang
280
281.. option:: -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg>
282
283.. 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
287.. option:: -no-integrated-cpp, --no-integrated-cpp
288
289.. option:: -no\_dead\_strip\_inits\_and\_terms
290
291.. option:: -nobuiltininc
292
293Disable builtin #include directories
294
295.. option:: -nocudainc
296
297.. option:: -nocudalib
298
299.. option:: -nodefaultlibs
300
301.. option:: -nofixprebinding
302
303.. option:: -nolibc
304
305.. option:: -nomultidefs
306
307.. option:: -nopie, -no-pie
308
309.. option:: -noprebind
310
311.. option:: -noseglinkedit
312
313.. option:: -nostartfiles
314
315.. option:: -nostdinc, --no-standard-includes
316
317.. program:: clang1
318.. option:: -nostdinc++
319.. program:: clang
320
321Disable standard #include directories for the C++ standard library
322
323.. option:: -nostdlib, --no-standard-libraries
324
325.. program:: clang1
326.. option:: -nostdlib++
327.. program:: clang
328
329.. option:: -nostdlibinc
330
331.. option:: -o<file>, --output <arg>, --output=<arg>
332
333Write output to <file>
334
335.. option:: -objcmt-atomic-property
336
337Make migration to 'atomic' properties
338
339.. option:: -objcmt-migrate-all
340
341Enable migration to modern ObjC
342
343.. option:: -objcmt-migrate-annotation
344
345Enable migration to property and method annotations
346
347.. option:: -objcmt-migrate-designated-init
348
349Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods
350
351.. option:: -objcmt-migrate-instancetype
352
353Enable migration to infer instancetype for method result type
354
355.. option:: -objcmt-migrate-literals
356
357Enable migration to modern ObjC literals
358
359.. option:: -objcmt-migrate-ns-macros
360
361Enable migration to NS\_ENUM/NS\_OPTIONS macros
362
363.. option:: -objcmt-migrate-property
364
365Enable migration to modern ObjC property
366
367.. option:: -objcmt-migrate-property-dot-syntax
368
369Enable migration of setter/getter messages to property-dot syntax
370
371.. option:: -objcmt-migrate-protocol-conformance
372
373Enable migration to add protocol conformance on classes
374
375.. option:: -objcmt-migrate-readonly-property
376
377Enable migration to modern ObjC readonly property
378
379.. option:: -objcmt-migrate-readwrite-property
380
381Enable migration to modern ObjC readwrite property
382
383.. option:: -objcmt-migrate-subscripting
384
385Enable migration to modern ObjC subscripting
386
387.. option:: -objcmt-ns-nonatomic-iosonly
388
389Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute
390
391.. option:: -objcmt-returns-innerpointer-property
392
393Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER
394
395.. 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
399.. option:: -object
400
401.. option:: -p, --profile
402
403.. option:: -pagezero\_size<arg>
404
405.. option:: -pg
406
407Enable mcount instrumentation
408
409.. option:: -pie
410
411.. option:: -pipe, --pipe
412
413Use pipes between commands, when possible
414
415.. option:: -prebind
416
417.. program:: clang1
418.. option:: -prebind\_all\_twolevel\_modules
419.. program:: clang
420
421.. option:: -preload
422
423.. option:: --print-diagnostic-categories
424
425.. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg>
426
427Print the full library path of <file>
428
429.. option:: -print-ivar-layout
430
431Enable Objective-C Ivar layout bitmap print trace
432
433.. 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
437.. option:: -print-multi-directory, --print-multi-directory
438
439.. option:: -print-multi-lib, --print-multi-lib
440
441.. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg>
442
443Print the full program path of <name>
444
445.. option:: -print-resource-dir, --print-resource-dir
446
447Print the resource directory pathname
448
449.. option:: -print-search-dirs, --print-search-dirs
450
451Print the paths used for finding libraries and programs
452
453.. option:: -private\_bundle
454
455.. option:: -pthread, -no-pthread
456
457Support POSIX threads in generated code
458
459.. option:: -pthreads
460
461.. option:: -rdynamic
462
463.. option:: -read\_only\_relocs <arg>
464
465.. option:: -relocatable-pch, --relocatable-pch
466
467Whether to build a relocatable precompiled header
468
469.. option:: -remap
470
471.. option:: -rewrite-legacy-objc
472
473Rewrite Legacy Objective-C source to C++
474
475.. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg>
476
477Compiler runtime library to use
478
479.. 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
483.. 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
487.. option:: -sectalign <arg1> <arg2> <arg3>
488
489.. option:: -sectcreate <arg1> <arg2> <arg3>
490
491.. option:: -sectobjectsymbols <arg1> <arg2>
492
493.. option:: -sectorder <arg1> <arg2> <arg3>
494
495.. option:: -seg1addr<arg>
496
497.. option:: -seg\_addr\_table <arg>
498
499.. program:: clang1
500.. option:: -seg\_addr\_table\_filename <arg>
501.. program:: clang
502
503.. option:: -segaddr <arg1> <arg2>
504
505.. option:: -segcreate <arg1> <arg2> <arg3>
506
507.. option:: -seglinkedit
508
509.. option:: -segprot <arg1> <arg2> <arg3>
510
511.. option:: -segs\_read\_<arg>
512
513.. program:: clang1
514.. option:: -segs\_read\_only\_addr <arg>
515.. program:: clang
516
517.. program:: clang2
518.. option:: -segs\_read\_write\_addr <arg>
519.. program:: clang
520
521.. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg>
522
523Serialize compiler diagnostics to a file
524
525.. option:: -shared, --shared
526
527.. option:: -shared-libgcc
528
529.. option:: -shared-libsan, -shared-libasan
530
531.. option:: -single\_module
532
533.. option:: -specs=<arg>, --specs=<arg>
534
535.. option:: -static, --static
536
537.. option:: -static-libgcc
538
539.. option:: -static-libsan
540
541.. option:: -static-libstdc++
542
543.. option:: -std-default=<arg>
544
545.. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg>
546
547C++ standard library to use
548
549.. option:: -sub\_library<arg>
550
551.. program:: clang1
552.. option:: -sub\_umbrella<arg>
553.. program:: clang
554
555.. option:: --sysroot=<arg>, --sysroot <arg>
556
557.. option:: --target-help
558
559.. option:: --target=<arg>, -target <arg>
560
561Generate code for the given target
562
563.. option:: -time
564
565Time individual commands
566
567.. option:: -traditional, --traditional
568
569.. option:: -traditional-cpp, --traditional-cpp
570
571Enable some traditional CPP emulation
572
573.. option:: -twolevel\_namespace
574
575.. program:: clang1
576.. option:: -twolevel\_namespace\_hints
577.. program:: clang
578
579.. option:: -umbrella <arg>
580
581.. option:: -unexported\_symbols\_list <arg>
582
583.. option:: -v, --verbose
584
585Show commands to run and use verbose output
586
587.. option:: --verify-debug-info
588
589Verify the binary representation of debug output
590
591.. option:: --version
592
593Print version information
594
595.. option:: -w, --no-warnings
596
597Suppress all warnings
598
599.. option:: -weak-l<arg>
600
601.. option:: -weak\_framework <arg>
602
603.. program:: clang1
604.. option:: -weak\_library <arg>
605.. program:: clang
606
607.. program:: clang2
608.. option:: -weak\_reference\_mismatches <arg>
609.. program:: clang
610
611.. option:: -whatsloaded
612
613.. option:: -whyload
614
615.. option:: -working-directory<arg>, -working-directory=<arg>
616
617Resolve file paths relative to the specified directory
618
619.. option:: -x<language>, --language <arg>, --language=<arg>
620
621Treat subsequent input files as having type <language>
622
623.. option:: -y<arg>
624
625Actions
626=======
627The action to perform on the input.
628
629.. option:: -E, --preprocess
630
631Only run the preprocessor
632
633.. option:: -S, --assemble
634
635Only run preprocess and compilation steps
636
637.. option:: -c, --compile
638
639Only run preprocess, compile, and assemble steps
640
641.. option:: -emit-llvm
642
643Use the LLVM representation for assembler and object files
644
645.. option:: -fsyntax-only
646
647.. option:: -module-file-info
648
649Provide information about a particular module file
650
651.. option:: --precompile
652
653Only precompile the input
654
655.. option:: -rewrite-objc
656
657Rewrite Objective-C source to C++
658
659.. option:: -verify-pch
660
661Load and verify that a pre-compiled header file is not stale
662
663Compilation flags
664=================
665
666Flags controlling the behavior of Clang during compilation. These flags have
667no effect during actions that do not perform compilation.
668
669.. option:: -Xassembler <arg>
670
671Pass <arg> to the assembler
672
673.. option:: -Xclang <arg>
674
675Pass <arg> to the clang compiler
676
677.. option:: -fclang-abi-compat=<version>
678
679Attempt to match the ABI of Clang <version>
680
681.. option:: -fcomment-block-commands=<arg>,<arg2>...
682
683Treat each comma separated argument in <arg> as a documentation comment block command
684
685.. option:: -fdeclspec, -fno-declspec
686
687Allow \_\_declspec as a keyword
688
689.. option:: -fdepfile-entry=<arg>
690
691.. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info
692
693.. option:: -fdiagnostics-format=<arg>
694
695.. option:: -fdiagnostics-parseable-fixits
696
697Print fix-its in machine parseable form
698
699.. option:: -fdiagnostics-print-source-range-info
700
701Print source range spans in numeric form
702
703.. option:: -fdiagnostics-show-category=<arg>
704
705.. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager
706
707Enables an experimental new pass manager in LLVM.
708
709.. option:: -ffine-grained-bitfield-accesses, -fno-fine-grained-bitfield-accesses
710
711Use separate accesses for bitfields with legal widths and alignments.
712
713.. option:: -finline-functions, -fno-inline-functions
714
715Inline suitable functions
716
717.. option:: -finline-hint-functions
718
719Inline functions which are (explicitly or implicitly) marked inline
720
721.. option:: -fno-crash-diagnostics
722
723Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
724
725.. option:: -fno-sanitize-blacklist
726
727Don't use blacklist file for sanitizers
728
729.. option:: -fparse-all-comments
730
731.. option:: -fsanitize-address-field-padding=<arg>
732
733Level of field padding for AddressSanitizer
734
735.. option:: -fsanitize-address-globals-dead-stripping
736
737Enable linker dead stripping of globals in AddressSanitizer
738
739.. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope
740
741Enable use-after-scope detection in AddressSanitizer
742
743.. option:: -fsanitize-blacklist=<arg>
744
745Path to blacklist file for sanitizers
746
747.. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso
748
749Enable control flow integrity (CFI) checks for cross-DSO calls.
750
751.. option:: -fsanitize-cfi-icall-generalize-pointers
752
753Generalize pointers in CFI indirect call type signature checks
754
755.. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>...
756
757Specify the type of coverage instrumentation for Sanitizers
758
759.. option:: -fsanitize-link-c++-runtime
760
761.. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins
762
763Enable origins tracking in MemorySanitizer
764
765.. program:: clang1
766.. option:: -fsanitize-memory-track-origins=<arg>
767.. program:: clang
768
769Enable origins tracking in MemorySanitizer
770
771.. option:: -fsanitize-memory-use-after-dtor, -fno-sanitize-memory-use-after-dtor
772
773Enable use-after-destroy detection in MemorySanitizer
774
775.. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime
776
777.. option:: -fsanitize-recover, -fno-sanitize-recover
778
779.. program:: clang1
780.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>...
781.. program:: clang
782
783Enable recovery for specified sanitizers
784
785.. option:: -fsanitize-stats, -fno-sanitize-stats
786
787Enable sanitizer statistics gathering.
788
789.. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics
790
791Enable atomic operations instrumentation in ThreadSanitizer (default)
792
793.. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit
794
795Enable function entry/exit instrumentation in ThreadSanitizer (default)
796
797.. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access
798
799Enable memory access instrumentation in ThreadSanitizer (default)
800
801.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>...
802
803Enable trapping for specified sanitizers
804
805.. option:: -fsanitize-undefined-strip-path-components=<number>
806
807Strip (or keep only, if negative) a given number of path components when emitting check metadata.
808
809.. option:: -fsanitize-undefined-trap-on-error, -fno-sanitize-undefined-trap-on-error
810
811.. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>...
812
813Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
814
815.. option:: --param <arg>, --param=<arg>
816
817.. option:: -std=<arg>, --std=<arg>, --std <arg>
818
819Language standard to compile for
820
821Preprocessor flags
822~~~~~~~~~~~~~~~~~~
823
824Flags controlling the behavior of the Clang preprocessor.
825
826.. option:: -C, --comments
827
828Include comments in preprocessed output
829
830.. option:: -CC, --comments-in-macros
831
832Include comments from within macros in preprocessed output
833
834.. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg>
835
836Define <macro> to <value> (or 1 if <value> omitted)
837
838.. option:: -H, --trace-includes
839
840Show header includes and nesting depth
841
842.. option:: -P, --no-line-commands
843
844Disable linemarker output in -E mode
845
846.. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg>
847
848Undefine macro <macro>
849
850.. option:: -Wp,<arg>,<arg2>...
851
852Pass the comma separated arguments in <arg> to the preprocessor
853
854.. option:: -Xpreprocessor <arg>
855
856Pass <arg> to the preprocessor
857
858Include path management
859-----------------------
860
861Flags controlling how ``#include``\s are resolved to files.
862
863.. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg>
864
865Add directory to include search path
866
867.. option:: -I-, --include-barrier
868
869Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
870
871.. option:: --cuda-path=<arg>
872
873CUDA installation path
874
875.. option:: -cxx-isystem<directory>
876
877Add directory to the C++ SYSTEM include search path
878
879.. option:: -fbuild-session-file=<file>
880
881Use the last modification time of <file> as the build session timestamp
882
883.. option:: -fbuild-session-timestamp=<time since Epoch in seconds>
884
885Time when the current build session started
886
887.. option:: -fmodule-file=\[<name>=\]<file>
888
889Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
890
891.. option:: -fmodules-cache-path=<directory>
892
893Specify the module cache path
894
895.. option:: -fmodules-disable-diagnostic-validation
896
897Disable validation of the diagnostic options when loading the module
898
899.. option:: -fmodules-prune-after=<seconds>
900
901Specify the interval (in seconds) after which a module file will be considered unused
902
903.. option:: -fmodules-prune-interval=<seconds>
904
905Specify the interval (in seconds) between attempts to prune the module cache
906
907.. option:: -fmodules-user-build-path <directory>
908
909Specify the module user build path
910
911.. option:: -fmodules-validate-once-per-build-session
912
913Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
914
915.. option:: -fmodules-validate-system-headers
916
917Validate the system headers that a module depends on when loading the module
918
919.. option:: -fprebuilt-module-path=<directory>
920
921Specify the prebuilt module path
922
923.. option:: -i<arg>
924
925.. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg>
926
927Add directory to AFTER include search path
928
929.. option:: -iframework<arg>
930
931Add directory to SYSTEM framework search path
932
933.. option:: -iframeworkwithsysroot<directory>
934
935Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
936
937.. option:: -imacros<file>, --imacros<file>, --imacros=<arg>
938
939Include macros from file before parsing
940
941.. option:: -include<file>, --include<file>, --include=<arg>
942
943Include file before parsing
944
945.. option:: -include-pch <file>
946
947Include precompiled header file
948
949.. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg>
950
951Set the -iwithprefix/-iwithprefixbefore prefix
952
953.. option:: -iquote<directory>
954
955Add directory to QUOTE include search path
956
957.. option:: -isysroot<dir>
958
959Set the system root directory (usually /)
960
961.. option:: -isystem<directory>
962
963Add directory to SYSTEM include search path
964
965.. option:: -isystem-after<directory>
966
967Add directory to end of the SYSTEM include search path
968
969.. option:: -ivfsoverlay<arg>
970
971Overlay the virtual filesystem described by file over the real file system
972
973.. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg>
974
975Set directory to SYSTEM include search path with prefix
976
977.. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg>
978
979Set directory to include search path with prefix
980
981.. option:: -iwithsysroot<directory>
982
983Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
984
985.. option:: --ptxas-path=<arg>
986
987Path to ptxas (used for compiling CUDA code)
988
989.. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg>
990
991Treat all #include paths starting with <prefix> as including a system header.
992
993Dependency file generation
994--------------------------
995
996Flags controlling generation of a dependency file for ``make``-like build
997systems.
998
999.. option:: -M, --dependencies
1000
1001Like -MD, but also implies -E and writes to stdout by default
1002
1003.. option:: -MD, --write-dependencies
1004
1005Write a depfile containing user and system headers
1006
1007.. option:: -MF<file>
1008
1009Write depfile output from -MMD, -MD, -MM, or -M to <file>
1010
1011.. option:: -MG, --print-missing-file-dependencies
1012
1013Add missing headers to depfile
1014
1015.. option:: -MJ<arg>
1016
1017Write a compilation database entry per input
1018
1019.. option:: -MM, --user-dependencies
1020
1021Like -MMD, but also implies -E and writes to stdout by default
1022
1023.. option:: -MMD, --write-user-dependencies
1024
1025Write a depfile containing user headers
1026
1027.. option:: -MP
1028
1029Create phony target for each dependency (other than main file)
1030
1031.. option:: -MQ<arg>
1032
1033Specify name of main file output to quote in depfile
1034
1035.. option:: -MT<arg>
1036
1037Specify name of main file output in depfile
1038
1039.. option:: -MV
1040
1041Use NMake/Jom format for the depfile
1042
1043Dumping preprocessor state
1044--------------------------
1045
1046Flags allowing the state of the preprocessor to be dumped in various ways.
1047
1048.. option:: -d
1049
1050.. program:: clang1
1051.. option:: -d<arg>
1052.. program:: clang
1053
1054.. option:: -dA
1055
1056.. option:: -dD
1057
1058Print macro definitions in -E mode in addition to normal output
1059
1060.. option:: -dI
1061
1062Print include directives in -E mode in addition to normal output
1063
1064.. option:: -dM
1065
1066Print macro definitions in -E mode instead of normal output
1067
1068Diagnostic flags
1069~~~~~~~~~~~~~~~~
1070
1071Flags controlling which warnings, errors, and remarks Clang will generate.
1072See the :doc:`full list of warning and remark flags <DiagnosticsReference>`.
1073
1074.. option:: -R<remark>
1075
1076Enable the specified remark
1077
1078.. option:: -Rpass-analysis=<arg>
1079
1080Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
1081
1082.. option:: -Rpass-missed=<arg>
1083
1084Report missed transformations by optimization passes whose name matches the given POSIX regular expression
1085
1086.. option:: -Rpass=<arg>
1087
1088Report transformations performed by optimization passes whose name matches the given POSIX regular expression
1089
1090.. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg>
1091
1092Enable the specified warning
1093
1094.. option:: -Wdeprecated, -Wno-deprecated
1095
1096Enable warnings for deprecated constructs and define \_\_DEPRECATED
1097
1098.. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg>
1099
1100Target-independent compilation options
1101~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1102.. option:: -Wframe-larger-than=<arg>
1103
1104.. option:: -fPIC, -fno-PIC
1105
1106.. option:: -fPIE, -fno-PIE
1107
1108.. option:: -faccess-control, -fno-access-control
1109
1110.. program:: clang1
1111.. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation
1112.. program:: clang
1113
1114Enable C++17 aligned allocation functions
1115
1116.. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders
1117
1118Treat editor placeholders as valid source code
1119
1120.. option:: -fallow-unsupported
1121
1122.. option:: -faltivec, -fno-altivec
1123
1124.. option:: -fansi-escape-codes
1125
1126Use ANSI escape codes for diagnostics
1127
1128.. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables
1129
1130Use Apple's kernel extensions ABI
1131
1132.. option:: -fapple-pragma-pack, -fno-apple-pragma-pack
1133
1134Enable Apple gcc-compatible #pragma pack handling
1135
1136.. option:: -fapplication-extension, -fno-application-extension
1137
1138Restrict code to those available for App Extensions
1139
1140.. option:: -fasm, -fno-asm
1141
1142.. option:: -fasm-blocks, -fno-asm-blocks
1143
1144.. option:: -fassociative-math, -fno-associative-math
1145
1146.. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new
1147
1148.. option:: -fast
1149
1150.. option:: -fastcp
1151
1152.. option:: -fastf
1153
1154.. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables
1155
1156.. option:: -fautolink, -fno-autolink
1157
1158.. option:: -fblocks, -fno-blocks
1159
1160Enable the 'blocks' language feature
1161
1162.. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg>
1163
1164.. option:: -fborland-extensions, -fno-borland-extensions
1165
1166Accept non-standard constructs supported by the Borland compiler
1167
1168.. option:: -fbracket-depth=<arg>
1169
1170.. option:: -fbuiltin, -fno-builtin
1171
1172.. option:: -fbuiltin-module-map
1173
1174Load the clang builtins module map file.
1175
1176.. option:: -fcaret-diagnostics, -fno-caret-diagnostics
1177
1178.. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg>
1179
1180.. option:: -fcolor-diagnostics, -fno-color-diagnostics
1181
1182Use colors in diagnostics
1183
1184.. option:: -fcommon, -fno-common
1185
1186.. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg>
1187
1188.. option:: -fconstant-cfstrings, -fno-constant-cfstrings
1189
1190.. option:: -fconstant-string-class=<arg>
1191
1192.. option:: -fconstexpr-backtrace-limit=<arg>
1193
1194.. option:: -fconstexpr-depth=<arg>
1195
1196.. option:: -fconstexpr-steps=<arg>
1197
1198.. option:: -fcoroutines-ts, -fno-coroutines-ts
1199
1200Enable support for the C++ Coroutines TS
1201
1202.. option:: -fcoverage-mapping, -fno-coverage-mapping
1203
1204Generate coverage mapping to enable code coverage analysis
1205
1206.. option:: -fcreate-profile
1207
1208.. option:: -fcxx-exceptions, -fno-cxx-exceptions
1209
1210Enable C++ exceptions
1211
1212.. option:: -fcxx-modules, -fno-cxx-modules
1213
1214.. option:: -fdata-sections, -fno-data-sections
1215
1216Place each data in its own section (ELF Only)
1217
1218.. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling
1219
1220Emit extra debug info to make sample profile more accurate.
1221
1222.. option:: -fdebug-macro, -fno-debug-macro
1223
1224Emit macro debug information
1225
1226.. option:: -fdebug-pass-arguments
1227
1228.. option:: -fdebug-pass-structure
1229
1230.. option:: -fdebug-prefix-map=<arg>
1231
1232remap file source paths in debug info
1233
1234.. option:: -fdebug-types-section, -fno-debug-types-section
1235
1236Place debug types in their own section (ELF Only)
1237
1238.. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing
1239
1240Parse templated function definitions at the end of the translation unit
1241
1242.. option:: -fdenormal-fp-math=<arg>
1243
1244.. option:: -fdiagnostics-absolute-paths
1245
1246Print absolute paths in diagnostics
1247
1248.. option:: -fdiagnostics-color, -fno-diagnostics-color
1249
1250.. program:: clang1
1251.. option:: -fdiagnostics-color=<arg>
1252.. program:: clang
1253
1254.. option:: -fdiagnostics-hotness-threshold=<number>
1255
1256Prevent optimization remarks from being output if they do not have at least this profile count
1257
1258.. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness
1259
1260Enable profile hotness information in diagnostic line
1261
1262.. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack
1263
1264Display include stacks for diagnostic notes
1265
1266.. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option
1267
1268Print option name with mappable diagnostics
1269
1270.. option:: -fdiagnostics-show-template-tree
1271
1272Print a template comparison tree for differing templates
1273
1274.. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers
1275
1276Allow '$' in identifiers
1277
1278.. option:: -fdouble-square-bracket-attributes, -fno-double-square-bracket-attributes
1279
1280Enable '\[\[\]\]' attributes in all C and C++ language modes
1281
1282.. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm
1283
1284.. option:: -fdwarf-exceptions
1285
1286Use DWARF style exceptions
1287
1288.. option:: -felide-constructors, -fno-elide-constructors
1289
1290.. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols
1291
1292.. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker)
1293
1294Embed LLVM bitcode (option: off, all, bitcode, marker)
1295
1296.. option:: -femit-all-decls
1297
1298Emit all declarations, even if unused
1299
1300.. option:: -femulated-tls, -fno-emulated-tls
1301
1302Use emutls functions to access thread\_local variables
1303
1304.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg>
1305
1306.. option:: -ferror-limit=<arg>
1307
1308.. option:: -fexceptions, -fno-exceptions
1309
1310Enable support for exception handling
1311
1312.. option:: -fexec-charset=<arg>
1313
1314.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg>
1315
1316.. option:: -ffast-math, -fno-fast-math
1317
1318Allow aggressive, lossy floating-point optimizations
1319
1320.. option:: -ffinite-math-only, -fno-finite-math-only
1321
1322.. option:: -ffor-scope, -fno-for-scope
1323
1324.. option:: -ffp-contract=<arg>
1325
1326Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma, default) \| off (never fuse)
1327
1328.. option:: -ffreestanding
1329
1330Assert that the compilation takes place in a freestanding environment
1331
1332.. option:: -ffunction-sections, -fno-function-sections
1333
1334Place each function in its own section (ELF Only)
1335
1336.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm
1337
1338.. option:: -fgnu-keywords, -fno-gnu-keywords
1339
1340Allow GNU-extension keywords regardless of language standard
1341
1342.. option:: -fgnu-runtime
1343
1344Generate output compatible with the standard GNU Objective-C runtime
1345
1346.. option:: -fgnu89-inline, -fno-gnu89-inline
1347
1348Use the gnu89 inline semantics
1349
1350.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities
1351
1352.. option:: -fhonor-nans, -fno-honor-nans
1353
1354.. option:: -fhosted
1355
1356.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps
1357
1358Implicitly search the file system for module map files.
1359
1360.. option:: -fimplicit-modules, -fno-implicit-modules
1361
1362.. option:: -finput-charset=<arg>
1363
1364.. option:: -finstrument-function-entry-bare
1365
1366Instrument function entry only, after inlining, without arguments to the instrumentation call
1367
1368.. option:: -finstrument-functions
1369
1370Generate calls to instrument function entry and exit
1371
1372.. option:: -finstrument-functions-after-inlining
1373
1374Like -finstrument-functions, but insert the calls after inlining
1375
1376.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as
1377
1378Enable the integrated assembler
1379
1380.. option:: -fjump-tables, -fno-jump-tables
1381
1382.. option:: -flax-vector-conversions, -fno-lax-vector-conversions
1383
1384.. option:: -flimited-precision=<arg>
1385
1386.. option:: -flto, -fno-lto
1387
1388Enable LTO in 'full' mode
1389
1390.. option:: -flto-jobs=<arg>
1391
1392Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
1393
1394.. program:: clang1
1395.. option:: -flto=<arg>
1396.. program:: clang
1397
1398Set LTO mode to either 'full' or 'thin'
1399
1400.. option:: -fmacro-backtrace-limit=<arg>
1401
1402.. option:: -fmath-errno, -fno-math-errno
1403
1404Require math functions to indicate errors by setting errno
1405
1406.. option:: -fmax-type-align=<arg>
1407
1408Specify the maximum alignment to enforce on pointers lacking an explicit alignment
1409
1410.. option:: -fmerge-all-constants, -fno-merge-all-constants
1411
1412.. option:: -fmessage-length=<arg>
1413
1414.. option:: -fmodule-file-deps, -fno-module-file-deps
1415
1416.. option:: -fmodule-map-file=<file>
1417
1418Load this module map file
1419
1420.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg>
1421
1422Specify the name of the module to build
1423
1424.. option:: -fmodules, -fno-modules
1425
1426Enable the 'modules' language feature
1427
1428.. option:: -fmodules-decluse, -fno-modules-decluse
1429
1430Require declaration of modules used within a module
1431
1432.. option:: -fmodules-ignore-macro=<arg>
1433
1434Ignore the definition of the given macro when building and loading modules
1435
1436.. option:: -fmodules-search-all, -fno-modules-search-all
1437
1438Search even non-imported modules to resolve references
1439
1440.. option:: -fmodules-strict-decluse
1441
1442Like -fmodules-decluse but requires all headers to be in modules
1443
1444.. option:: -fmodules-ts
1445
1446Enable support for the C++ Modules TS
1447
1448.. option:: -fms-compatibility, -fno-ms-compatibility
1449
1450Enable full Microsoft Visual C++ compatibility
1451
1452.. option:: -fms-compatibility-version=<arg>
1453
1454Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1455
1456.. option:: -fms-extensions, -fno-ms-extensions
1457
1458Accept some non-standard constructs supported by the Microsoft compiler
1459
1460.. option:: -fms-memptr-rep=<arg>
1461
1462.. option:: -fms-volatile<arg>
1463
1464.. option:: -fmsc-version=<arg>
1465
1466Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1467
1468.. option:: -fmudflap
1469
1470.. option:: -fmudflapth
1471
1472.. option:: -fnested-functions
1473
1474.. option:: -fnew-alignment=<align>, -fnew-alignment <arg>
1475
1476Specifies the largest alignment guaranteed by '::operator new(size\_t)'
1477
1478.. option:: -fnext-runtime
1479
1480.. option:: -fno-builtin-<arg>
1481
1482Disable implicit builtin knowledge of a specific function
1483
1484.. option:: -fno-elide-type
1485
1486Do not elide types when printing diagnostics
1487
1488.. option:: -fno-max-type-align
1489
1490.. option:: -fno-operator-names
1491
1492Do not treat C++ operator name keywords as synonyms for operators
1493
1494.. option:: -fno-strict-modules-decluse
1495
1496.. option:: -fno-working-directory
1497
1498.. option:: -fnoopenmp-relocatable-target
1499
1500Do not compile OpenMP target code as relocatable.
1501
1502.. option:: -fnoopenmp-use-tls
1503
1504.. option:: -fobjc-abi-version=<arg>
1505
1506.. option:: -fobjc-arc, -fno-objc-arc
1507
1508Synthesize retain and release calls for Objective-C pointers
1509
1510.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions
1511
1512Use EH-safe code when synthesizing retains and releases in -fobjc-arc
1513
1514.. option:: -fobjc-exceptions, -fno-objc-exceptions
1515
1516Enable Objective-C exceptions
1517
1518.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type
1519
1520.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch
1521
1522.. option:: -fobjc-link-runtime
1523
1524.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi
1525
1526.. option:: -fobjc-nonfragile-abi-version=<arg>
1527
1528.. option:: -fobjc-runtime=<arg>
1529
1530Specify the target Objective-C runtime kind and version
1531
1532.. option:: -fobjc-sender-dependent-dispatch
1533
1534.. option:: -fobjc-weak, -fno-objc-weak
1535
1536Enable ARC-style weak references in Objective-C
1537
1538.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer
1539
1540.. option:: -fopenmp, -fno-openmp
1541
1542.. option:: -fopenmp-dump-offload-linker-script
1543
1544.. option:: -fopenmp-relocatable-target
1545
1546OpenMP target code is compiled as relocatable using the -c flag. For OpenMP targets the code is relocatable by default.
1547
1548.. option:: -fopenmp-use-tls
1549
1550.. option:: -fopenmp-version=<arg>
1551
1552.. program:: clang1
1553.. option:: -fopenmp=<arg>
1554.. program:: clang
1555
1556.. option:: -foperator-arrow-depth=<arg>
1557
1558.. option:: -foptimization-record-file=<arg>
1559
1560Specify the file name of any generated YAML optimization record
1561
1562.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls
1563
1564.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg>
1565
1566.. option:: -fpack-struct, -fno-pack-struct
1567
1568.. program:: clang1
1569.. option:: -fpack-struct=<arg>
1570.. program:: clang
1571
1572Specify the default maximum struct packing alignment
1573
1574.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings
1575
1576Recognize and construct Pascal-style string literals
1577
1578.. option:: -fpcc-struct-return
1579
1580Override the default ABI to return all structs on the stack
1581
1582.. option:: -fpch-preprocess
1583
1584.. option:: -fpic, -fno-pic
1585
1586.. option:: -fpie, -fno-pie
1587
1588.. option:: -fplt, -fno-plt
1589
1590Use the PLT to make function calls
1591
1592.. option:: -fplugin=<dsopath>
1593
1594Load the named plugin (dynamic shared object)
1595
1596.. option:: -fpreserve-as-comments, -fno-preserve-as-comments
1597
1598.. option:: -fprofile-arcs, -fno-profile-arcs
1599
1600.. option:: -fprofile-dir=<arg>
1601
1602.. option:: -fprofile-generate, -fno-profile-generate
1603
1604Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1605
1606.. program:: clang1
1607.. option:: -fprofile-generate=<directory>
1608.. program:: clang
1609
1610Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1611
1612.. option:: -fprofile-instr-generate, -fno-profile-instr-generate
1613
1614Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)
1615
1616.. program:: clang1
1617.. option:: -fprofile-instr-generate=<file>
1618.. program:: clang
1619
1620Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var)
1621
1622.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use
1623
1624.. program:: clang1
1625.. option:: -fprofile-instr-use=<arg>
1626.. program:: clang
1627
1628Use instrumentation data for profile-guided optimization
1629
1630.. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate
1631
1632Specifies that the sample profile is accurate. If the sample
1633               profile is accurate, callsites without profile samples are marked
1634               as cold. Otherwise, treat callsites without profile samples as if
1635               we have no profile
1636
1637.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use
1638
1639.. program:: clang1
1640.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg>
1641.. program:: clang
1642
1643Enable sample-based profile guided optimizations
1644
1645.. program:: clang1
1646.. option:: -fprofile-use=<pathname>
1647.. program:: clang
1648
1649Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
1650
1651.. option:: -freciprocal-math, -fno-reciprocal-math
1652
1653Allow division operations to be reassociated
1654
1655.. option:: -freg-struct-return
1656
1657Override the default ABI to return small structs in registers
1658
1659.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args
1660
1661Enable C++17 relaxed template template argument matching
1662
1663.. option:: -freroll-loops, -fno-reroll-loops
1664
1665Turn on loop reroller
1666
1667.. option:: -fretain-comments-from-system-headers
1668
1669.. option:: -frewrite-imports, -fno-rewrite-imports
1670
1671.. option:: -frewrite-includes, -fno-rewrite-includes
1672
1673.. option:: -frewrite-map-file <arg>
1674
1675.. program:: clang1
1676.. option:: -frewrite-map-file=<arg>
1677.. program:: clang
1678
1679.. option:: -fropi, -fno-ropi
1680
1681.. option:: -frtti, -fno-rtti
1682
1683.. option:: -frwpi, -fno-rwpi
1684
1685.. option:: -fsave-optimization-record, -fno-save-optimization-record
1686
1687Generate a YAML optimization record file
1688
1689.. option:: -fseh-exceptions
1690
1691Use SEH style exceptions
1692
1693.. option:: -fshort-enums, -fno-short-enums
1694
1695Allocate to an enum type only as many bytes as it needs for the declared range of possible values
1696
1697.. option:: -fshort-wchar, -fno-short-wchar
1698
1699Force wchar\_t to be a short unsigned int
1700
1701.. option:: -fshow-column, -fno-show-column
1702
1703.. option:: -fshow-overloads=<arg>
1704
1705Which overload candidates to show when overload resolution fails: best\|all; defaults to all
1706
1707.. option:: -fshow-source-location, -fno-show-source-location
1708
1709.. option:: -fsignaling-math, -fno-signaling-math
1710
1711.. option:: -fsigned-bitfields
1712
1713.. option:: -fsigned-char, -fno-signed-char, --signed-char
1714
1715.. option:: -fsigned-zeros, -fno-signed-zeros
1716
1717.. option:: -fsized-deallocation, -fno-sized-deallocation
1718
1719Enable C++14 sized global deallocation functions
1720
1721.. option:: -fsjlj-exceptions
1722
1723Use SjLj style exceptions
1724
1725.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize
1726
1727Enable the superword-level parallelism vectorization passes
1728
1729.. option:: -fspell-checking, -fno-spell-checking
1730
1731.. option:: -fspell-checking-limit=<arg>
1732
1733.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining
1734
1735Place debug types in their own section (ELF Only)
1736
1737.. option:: -fsplit-stack
1738
1739.. option:: -fstack-protector, -fno-stack-protector
1740
1741Enable stack protectors for functions potentially vulnerable to stack smashing
1742
1743.. option:: -fstack-protector-all
1744
1745Force the usage of stack protectors for all functions
1746
1747.. option:: -fstack-protector-strong
1748
1749Use a strong heuristic to apply stack protectors to functions
1750
1751.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug
1752
1753Emit full debug info for all types used by the program
1754
1755.. option:: -fstrict-aliasing, -fno-strict-aliasing
1756
1757.. option:: -fstrict-enums, -fno-strict-enums
1758
1759Enable optimizations based on the strict definition of an enum's value range
1760
1761.. option:: -fstrict-overflow, -fno-strict-overflow
1762
1763.. option:: -fstrict-return, -fno-strict-return
1764
1765Always treat control flow paths that fall off the end of a non-void function as unreachable
1766
1767.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers
1768
1769Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
1770
1771.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa
1772
1773.. option:: -ftabstop=<arg>
1774
1775.. option:: -ftemplate-backtrace-limit=<arg>
1776
1777.. option:: -ftemplate-depth-<arg>
1778
1779.. option:: -ftemplate-depth=<arg>
1780
1781.. option:: -ftest-coverage
1782
1783.. option:: -fthinlto-index=<arg>
1784
1785Perform ThinLTO importing using provided function summary index
1786
1787.. option:: -fthreadsafe-statics, -fno-threadsafe-statics
1788
1789.. option:: -ftime-report
1790
1791.. option:: -ftls-model=<arg>
1792
1793.. option:: -ftrap-function=<arg>
1794
1795Issue call to specified function rather than a trap instruction
1796
1797.. option:: -ftrapping-math, -fno-trapping-math
1798
1799.. option:: -ftrapv
1800
1801Trap on integer overflow
1802
1803.. option:: -ftrapv-handler <arg>
1804
1805.. program:: clang1
1806.. option:: -ftrapv-handler=<function name>
1807.. program:: clang
1808
1809Specify the function to be called on overflow
1810
1811.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs
1812
1813Process trigraph sequences
1814
1815.. option:: -funique-section-names, -fno-unique-section-names
1816
1817Use unique names for text and data sections (ELF Only)
1818
1819.. option:: -funit-at-a-time, -fno-unit-at-a-time
1820
1821.. option:: -funroll-loops, -fno-unroll-loops
1822
1823Turn on loop unroller
1824
1825.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations
1826
1827.. option:: -funsigned-bitfields
1828
1829.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char
1830
1831.. option:: -funwind-tables, -fno-unwind-tables
1832
1833.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit
1834
1835.. option:: -fuse-init-array, -fno-use-init-array
1836
1837Use .init\_array instead of .ctors
1838
1839.. option:: -fuse-ld=<arg>
1840
1841.. option:: -fuse-line-directives, -fno-use-line-directives
1842
1843.. option:: -fveclib=<arg>
1844
1845Use the given vector functions library
1846
1847.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize
1848
1849Enable the loop vectorization passes
1850
1851.. option:: -fverbose-asm, -fno-verbose-asm
1852
1853.. option:: -fvisibility-inlines-hidden
1854
1855Give inline C++ member functions default visibility by default
1856
1857.. option:: -fvisibility-ms-compat
1858
1859Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
1860
1861.. option:: -fvisibility=<arg>
1862
1863Set the default symbol visibility for all global declarations
1864
1865.. option:: -fwhole-program-vtables, -fno-whole-program-vtables
1866
1867Enables whole-program vtable optimization. Requires -flto
1868
1869.. option:: -fwrapv, -fno-wrapv
1870
1871Treat signed integer overflow as two's complement
1872
1873.. option:: -fwritable-strings
1874
1875Store string literals as writable data
1876
1877.. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents
1878
1879Determine whether to always emit \_\_xray\_customevent(...) calls even if the function it appears in is not always instrumented.
1880
1881.. option:: -fxray-always-instrument=<arg>
1882
1883Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
1884
1885.. option:: -fxray-instruction-threshold<arg>
1886
1887.. program:: clang1
1888.. option:: -fxray-instruction-threshold=<arg>
1889.. program:: clang
1890
1891Sets the minimum function size to instrument with XRay
1892
1893.. option:: -fxray-instrument, -fno-xray-instrument
1894
1895Generate XRay instrumentation sleds on function entry and exit
1896
1897.. option:: -fxray-never-instrument=<arg>
1898
1899Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
1900
1901.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss
1902
1903.. option:: -fzvector, -fno-zvector, -mzvector
1904
1905Enable System z vector language extension
1906
1907.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic
1908
1909.. option:: -pedantic-errors, --pedantic-errors
1910
1911OpenCL flags
1912------------
1913.. option:: -cl-denorms-are-zero
1914
1915OpenCL only. Allow denormals to be flushed to zero.
1916
1917.. option:: -cl-fast-relaxed-math
1918
1919OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_.
1920
1921.. option:: -cl-finite-math-only
1922
1923OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
1924
1925.. option:: -cl-fp32-correctly-rounded-divide-sqrt
1926
1927OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
1928
1929.. option:: -cl-kernel-arg-info
1930
1931OpenCL only. Generate kernel argument metadata.
1932
1933.. option:: -cl-mad-enable
1934
1935OpenCL only. Allow use of less precise MAD computations in the generated binary.
1936
1937.. option:: -cl-no-signed-zeros
1938
1939OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
1940
1941.. option:: -cl-opt-disable
1942
1943OpenCL only. This option disables all optimizations. By default optimizations are enabled.
1944
1945.. option:: -cl-single-precision-constant
1946
1947OpenCL only. Treat double precision floating-point constant as single precision constant.
1948
1949.. option:: -cl-std=<arg>
1950
1951OpenCL language standard to compile for.
1952
1953.. option:: -cl-strict-aliasing
1954
1955OpenCL only. This option is added for compatibility with OpenCL 1.0.
1956
1957.. option:: -cl-unsafe-math-optimizations
1958
1959OpenCL only. Allow unsafe floating-point optimizations.  Also implies -cl-no-signed-zeros and -cl-mad-enable.
1960
1961Target-dependent compilation options
1962~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1963.. option:: -G<size>, -G=<arg>, -msmall-data-threshold=<arg>
1964
1965Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
1966
1967.. option:: -m16
1968
1969.. option:: -m32
1970
1971.. option:: -m64
1972
1973.. option:: -mabi=<arg>
1974
1975.. option:: -mabicalls, -mno-abicalls
1976
1977Enable SVR4-style position-independent code (Mips only)
1978
1979.. option:: -mabs=<arg>
1980
1981.. option:: -malign-double
1982
1983Align doubles to two words in structs (x86 only)
1984
1985.. option:: -march=<arg>
1986
1987.. option:: -masm=<arg>
1988
1989.. option:: -mbackchain, -mno-backchain
1990
1991Link stack frames through backchain on System Z
1992
1993.. option:: -mcheck-zero-division, -mno-check-zero-division
1994
1995.. option:: -mcmodel=<arg>
1996
1997.. option:: -mcompact-branches=<arg>
1998
1999.. option:: -mconsole<arg>
2000
2001.. 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)
2002
2003.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg>
2004
2005.. option:: -mdll<arg>
2006
2007.. option:: -mdouble-float
2008
2009.. option:: -mdsp, -mno-dsp
2010
2011.. option:: -mdspr2, -mno-dspr2
2012
2013.. option:: -mdynamic-no-pic<arg>
2014
2015.. option:: -meabi <arg>
2016
2017Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
2018
2019.. option:: -membedded-data, -mno-embedded-data
2020
2021Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
2022
2023.. option:: -mextern-sdata, -mno-extern-sdata
2024
2025Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
2026
2027.. option:: -mfentry
2028
2029Insert calls to fentry at function entry (x86 only)
2030
2031.. option:: -mfloat-abi=<arg>
2032
2033.. option:: -mfp32
2034
2035Use 32-bit floating point registers (MIPS only)
2036
2037.. option:: -mfp64
2038
2039Use 64-bit floating point registers (MIPS only)
2040
2041.. option:: -mfpmath=<arg>
2042
2043.. option:: -mfpu=<arg>
2044
2045.. option:: -mglobal-merge, -mno-global-merge
2046
2047Enable merging of globals
2048
2049.. option:: -mgpopt, -mno-gpopt
2050
2051Use GP relative accesses for symbols known to be in a small data section (MIPS)
2052
2053.. option:: -mhard-float
2054
2055.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg>
2056
2057.. option:: -miamcu, -mno-iamcu
2058
2059Use Intel MCU ABI
2060
2061.. option:: -mimplicit-float, -mno-implicit-float
2062
2063.. option:: -mimplicit-it=<arg>
2064
2065.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible
2066
2067(integrated-as) Emit an object file which can be used with an incremental linker
2068
2069.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg>
2070
2071.. option:: -mips16
2072
2073.. option:: -mkernel
2074
2075.. option:: -mldc1-sdc1, -mno-ldc1-sdc1
2076
2077.. option:: -mlocal-sdata, -mno-local-sdata
2078
2079Extend the -G behaviour to object local data (MIPS)
2080
2081.. option:: -mlong-calls, -mno-long-calls
2082
2083Generate branches with extended addressability, usually via indirect jumps.
2084
2085.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg>
2086
2087Set Mac OS X deployment target
2088
2089.. option:: -mmadd4, -mno-madd4
2090
2091Enable the generation of 4-operand madd.s, madd.d and related instructions.
2092
2093.. option:: -mmcu=<arg>
2094
2095.. option:: -mmicromips, -mno-micromips
2096
2097.. option:: -mms-bitfields, -mno-ms-bitfields
2098
2099Set the default structure layout to be compatible with the Microsoft compiler standard
2100
2101.. option:: -mmsa, -mno-msa
2102
2103Enable MSA ASE (MIPS only)
2104
2105.. option:: -mmt, -mno-mt
2106
2107Enable MT ASE (MIPS only)
2108
2109.. option:: -mnan=<arg>
2110
2111.. option:: -mno-mips16
2112
2113.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer
2114
2115Omit frame pointer setup for leaf functions
2116
2117.. option:: -moslib=<arg>
2118
2119.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations
2120
2121Use copy relocations support for PIE builds
2122
2123.. option:: -mprefer-vector-width=<arg>
2124
2125Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
2126
2127.. option:: -mqdsp6-compat
2128
2129Enable hexagon-qdsp6 backward compatibility
2130
2131.. option:: -mrecip
2132
2133.. program:: clang1
2134.. option:: -mrecip=<arg1>,<arg2>...
2135.. program:: clang
2136
2137.. option:: -mred-zone, -mno-red-zone
2138
2139.. option:: -mregparm=<arg>
2140
2141.. option:: -mrelax-all, -mno-relax-all
2142
2143(integrated-as) Relax all machine instructions
2144
2145.. option:: -mrtd, -mno-rtd
2146
2147Make StdCall calling convention the default
2148
2149.. option:: -msingle-float
2150
2151.. option:: -msoft-float, -mno-soft-float
2152
2153Use software floating point
2154
2155.. option:: -mstack-alignment=<arg>
2156
2157Set the stack alignment
2158
2159.. option:: -mstack-probe-size=<arg>
2160
2161Set the stack probe size
2162
2163.. option:: -mstackrealign, -mno-stackrealign
2164
2165Force realign the stack at entry to every function
2166
2167.. option:: -mthread-model <arg>
2168
2169The thread model to use, e.g. posix, single (posix by default)
2170
2171.. option:: -mthreads<arg>
2172
2173.. option:: -mthumb, -mno-thumb
2174
2175.. option:: -mtune=<arg>
2176
2177.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg>
2178
2179.. option:: -municode<arg>
2180
2181.. option:: -mvx, -mno-vx
2182
2183.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings
2184
2185.. option:: -mwatchos-version-min=<arg>
2186
2187.. option:: -mwindows<arg>
2188
2189.. option:: -mx32
2190
2191.. option:: -mxgot, -mno-xgot
2192
2193AARCH64
2194-------
2195.. option:: -ffixed-x18
2196
2197Reserve the x18 register (AArch64 only)
2198
2199.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769
2200
2201Workaround Cortex-A53 erratum 835769 (AArch64 only)
2202
2203.. option:: -mgeneral-regs-only
2204
2205Generate code which only uses the general purpose registers (AArch64 only)
2206
2207AMDGPU
2208------
2209.. option:: -mxnack, -mno-xnack
2210
2211Enable XNACK (AMDGPU only)
2212
2213ARM
2214---
2215.. option:: -ffixed-r9
2216
2217Reserve the r9 register (ARM only)
2218
2219.. option:: -mcrc
2220
2221Allow use of CRC instructions (ARM only)
2222
2223.. option:: -mexecute-only, -mno-execute-only, -mpure-code
2224
2225Disallow generation of data access to code sections (ARM only)
2226
2227.. option:: -mno-movt
2228
2229Disallow use of movt/movw pairs (ARM only)
2230
2231.. option:: -mno-neg-immediates
2232
2233Disallow converting instructions with negative immediates to their negation or inversion.
2234
2235.. option:: -mnocrc
2236
2237Disallow use of CRC instructions (ARM only)
2238
2239.. option:: -mrestrict-it, -mno-restrict-it
2240
2241Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
2242
2243.. option:: -mtp=<arg>
2244
2245Read thread pointer from coprocessor register (ARM only)
2246
2247.. option:: -munaligned-access, -mno-unaligned-access
2248
2249Allow memory accesses to be unaligned (AArch32/AArch64 only)
2250
2251Hexagon
2252-------
2253.. option:: -mieee-rnd-near
2254
2255Hexagon
2256-------
2257.. option:: -mhvx, -mno-hvx
2258
2259Enable Hexagon Vector eXtensions
2260
2261.. option:: -mhvx-double, -mno-hvx-double
2262
2263Enable Hexagon Double Vector eXtensions
2264
2265.. option:: -mhvx-length=<arg>
2266
2267Set Hexagon Vector Length
2268
2269.. program:: clang1
2270.. option:: -mhvx=<arg>
2271.. program:: clang
2272
2273Enable Hexagon Vector eXtensions
2274
2275PowerPC
2276-------
2277.. option:: -maltivec, -mno-altivec
2278
2279.. option:: -mcmpb, -mno-cmpb
2280
2281.. option:: -mcrbits, -mno-crbits
2282
2283.. option:: -mcrypto, -mno-crypto
2284
2285.. option:: -mdirect-move, -mno-direct-move
2286
2287.. option:: -mfloat128, -mno-float128
2288
2289.. option:: -mfprnd, -mno-fprnd
2290
2291.. option:: -mhtm, -mno-htm
2292
2293.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors
2294
2295.. option:: -misel, -mno-isel
2296
2297.. option:: -mlongcall, -mno-longcall
2298
2299.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf
2300
2301.. option:: -mpopcntd, -mno-popcntd
2302
2303.. option:: -mpower8-vector, -mno-power8-vector
2304
2305.. option:: -mpower9-vector, -mno-power9-vector
2306
2307.. option:: -mqpx, -mno-qpx
2308
2309.. option:: -mvsx, -mno-vsx
2310
2311WebAssembly
2312-----------
2313.. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint
2314
2315.. option:: -msimd128, -mno-simd128
2316
2317X86
2318---
2319.. option:: -m3dnow, -mno-3dnow
2320
2321.. option:: -m3dnowa, -mno-3dnowa
2322
2323.. option:: -madx, -mno-adx
2324
2325.. option:: -maes, -mno-aes
2326
2327.. option:: -mavx, -mno-avx
2328
2329.. option:: -mavx2, -mno-avx2
2330
2331.. option:: -mavx512bw, -mno-avx512bw
2332
2333.. option:: -mavx512cd, -mno-avx512cd
2334
2335.. option:: -mavx512dq, -mno-avx512dq
2336
2337.. option:: -mavx512er, -mno-avx512er
2338
2339.. option:: -mavx512f, -mno-avx512f
2340
2341.. option:: -mavx512ifma, -mno-avx512ifma
2342
2343.. option:: -mavx512pf, -mno-avx512pf
2344
2345.. option:: -mavx512vbmi, -mno-avx512vbmi
2346
2347.. option:: -mavx512vl, -mno-avx512vl
2348
2349.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq
2350
2351.. option:: -mbmi, -mno-bmi
2352
2353.. option:: -mbmi2, -mno-bmi2
2354
2355.. option:: -mclflushopt, -mno-clflushopt
2356
2357.. option:: -mclwb, -mno-clwb
2358
2359.. option:: -mclzero, -mno-clzero
2360
2361.. option:: -mcx16, -mno-cx16
2362
2363.. option:: -mf16c, -mno-f16c
2364
2365.. option:: -mfma, -mno-fma
2366
2367.. option:: -mfma4, -mno-fma4
2368
2369.. option:: -mfsgsbase, -mno-fsgsbase
2370
2371.. option:: -mfxsr, -mno-fxsr
2372
2373.. option:: -mibt, -mno-ibt
2374
2375.. option:: -mlwp, -mno-lwp
2376
2377.. option:: -mlzcnt, -mno-lzcnt
2378
2379.. option:: -mmmx, -mno-mmx
2380
2381.. option:: -mmovbe, -mno-movbe
2382
2383.. option:: -mmpx, -mno-mpx
2384
2385.. option:: -mmwaitx, -mno-mwaitx
2386
2387.. option:: -mpclmul, -mno-pclmul
2388
2389.. option:: -mpku, -mno-pku
2390
2391.. option:: -mpopcnt, -mno-popcnt
2392
2393.. option:: -mprefetchwt1, -mno-prefetchwt1
2394
2395.. option:: -mprfchw, -mno-prfchw
2396
2397.. option:: -mrdrnd, -mno-rdrnd
2398
2399.. option:: -mrdseed, -mno-rdseed
2400
2401.. option:: -mrtm, -mno-rtm
2402
2403.. option:: -msgx, -mno-sgx
2404
2405.. option:: -msha, -mno-sha
2406
2407.. option:: -mshstk, -mno-shstk
2408
2409.. option:: -msse, -mno-sse
2410
2411.. option:: -msse2, -mno-sse2
2412
2413.. option:: -msse3, -mno-sse3
2414
2415.. option:: -msse4.1, -mno-sse4.1
2416
2417.. program:: clang1
2418.. option:: -msse4.2, -mno-sse4.2, -msse4
2419.. program:: clang
2420
2421.. option:: -msse4a, -mno-sse4a
2422
2423.. option:: -mssse3, -mno-ssse3
2424
2425.. option:: -mtbm, -mno-tbm
2426
2427.. option:: -mx87, -m80387, -mno-x87
2428
2429.. option:: -mxop, -mno-xop
2430
2431.. option:: -mxsave, -mno-xsave
2432
2433.. option:: -mxsavec, -mno-xsavec
2434
2435.. option:: -mxsaveopt, -mno-xsaveopt
2436
2437.. option:: -mxsaves, -mno-xsaves
2438
2439Optimization level
2440~~~~~~~~~~~~~~~~~~
2441
2442Flags controlling how much optimization should be performed.
2443
2444.. option:: -O<arg>, -O (equivalent to -O2), --optimize, --optimize=<arg>
2445
2446.. option:: -Ofast<arg>
2447
2448Debug information generation
2449~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2450
2451Flags controlling how much and what kind of debug information should be
2452generated.
2453
2454Kind and level of debug information
2455-----------------------------------
2456.. option:: -g, --debug, --debug=<arg>
2457
2458Generate source-level debug information
2459
2460.. option:: -gdwarf-2
2461
2462Generate source-level debug information with dwarf version 2
2463
2464.. option:: -gdwarf-3
2465
2466Generate source-level debug information with dwarf version 3
2467
2468.. option:: -gdwarf-4, -gdwarf
2469
2470Generate source-level debug information with dwarf version 4
2471
2472.. option:: -gdwarf-5
2473
2474Generate source-level debug information with dwarf version 5
2475
2476.. option:: -gfull
2477
2478.. option:: -gused
2479
2480Debug level
2481___________
2482.. option:: -g0
2483
2484.. option:: -g2
2485
2486.. option:: -g3
2487
2488.. option:: -ggdb0
2489
2490.. option:: -ggdb1
2491
2492.. option:: -ggdb2
2493
2494.. option:: -ggdb3
2495
2496.. option:: -gline-tables-only, -g1, -gmlt
2497
2498Emit debug line number tables only
2499
2500.. option:: -gmodules
2501
2502Generate debug info with external references to clang modules or precompiled headers
2503
2504Debugger to tune debug information for
2505______________________________________
2506.. option:: -ggdb
2507
2508.. option:: -glldb
2509
2510.. option:: -gsce
2511
2512Debug information flags
2513-----------------------
2514.. option:: -gcolumn-info, -gno-column-info
2515
2516.. option:: -gdwarf-aranges
2517
2518.. option:: -ggnu-pubnames
2519
2520.. option:: -grecord-gcc-switches, -gno-record-gcc-switches
2521
2522.. option:: -gsplit-dwarf
2523
2524.. option:: -gstrict-dwarf, -gno-strict-dwarf
2525
2526.. option:: -gz
2527
2528DWARF debug sections compression type
2529
2530.. program:: clang1
2531.. option:: -gz=<arg>
2532.. program:: clang
2533
2534DWARF debug sections compression type
2535
2536Static analyzer flags
2537=====================
2538
2539Flags controlling the behavior of the Clang Static Analyzer.
2540
2541.. option:: -Xanalyzer <arg>
2542
2543Pass <arg> to the static analyzer
2544
2545Fortran compilation flags
2546=========================
2547
2548Flags that will be passed onto the ``gfortran`` compiler when Clang is given
2549a Fortran input.
2550
2551.. option:: -A<arg>, --assert <arg>, --assert=<arg>
2552
2553.. option:: -A-<arg>
2554
2555.. option:: -J<arg>
2556
2557.. option:: -cpp
2558
2559.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination
2560
2561.. option:: -falign-commons, -fno-align-commons
2562
2563.. option:: -fall-intrinsics, -fno-all-intrinsics
2564
2565.. option:: -fautomatic, -fno-automatic
2566
2567.. option:: -fbackslash, -fno-backslash
2568
2569.. option:: -fbacktrace, -fno-backtrace
2570
2571.. option:: -fblas-matmul-limit=<arg>
2572
2573.. option:: -fbounds-check, -fno-bounds-check
2574
2575.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries
2576
2577.. option:: -fcheck=<arg>
2578
2579.. option:: -fcoarray=<arg>
2580
2581.. option:: -fconvert=<arg>
2582
2583.. option:: -fcray-pointer, -fno-cray-pointer
2584
2585.. option:: -fd-lines-as-code, -fno-d-lines-as-code
2586
2587.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments
2588
2589.. option:: -fdefault-double-8, -fno-default-double-8
2590
2591.. option:: -fdefault-integer-8, -fno-default-integer-8
2592
2593.. option:: -fdefault-real-8, -fno-default-real-8
2594
2595.. option:: -fdollar-ok, -fno-dollar-ok
2596
2597.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized
2598
2599.. option:: -fdump-fortran-original, -fno-dump-fortran-original
2600
2601.. option:: -fdump-parse-tree, -fno-dump-parse-tree
2602
2603.. option:: -fexternal-blas, -fno-external-blas
2604
2605.. option:: -ff2c, -fno-f2c
2606
2607.. option:: -ffixed-form, -fno-fixed-form
2608
2609.. option:: -ffixed-line-length-<arg>
2610
2611.. option:: -ffpe-trap=<arg>
2612
2613.. option:: -ffree-form, -fno-free-form
2614
2615.. option:: -ffree-line-length-<arg>
2616
2617.. option:: -ffrontend-optimize, -fno-frontend-optimize
2618
2619.. option:: -fimplicit-none, -fno-implicit-none
2620
2621.. option:: -finit-character=<arg>
2622
2623.. option:: -finit-integer=<arg>
2624
2625.. option:: -finit-local-zero, -fno-init-local-zero
2626
2627.. option:: -finit-logical=<arg>
2628
2629.. option:: -finit-real=<arg>
2630
2631.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8
2632
2633.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path
2634
2635.. option:: -fmax-array-constructor=<arg>
2636
2637.. option:: -fmax-errors=<arg>
2638
2639.. option:: -fmax-identifier-length, -fno-max-identifier-length
2640
2641.. option:: -fmax-stack-var-size=<arg>
2642
2643.. option:: -fmax-subrecord-length=<arg>
2644
2645.. option:: -fmodule-private, -fno-module-private
2646
2647.. option:: -fpack-derived, -fno-pack-derived
2648
2649.. option:: -fprotect-parens, -fno-protect-parens
2650
2651.. option:: -frange-check, -fno-range-check
2652
2653.. option:: -freal-4-real-10, -fno-real-4-real-10
2654
2655.. option:: -freal-4-real-16, -fno-real-4-real-16
2656
2657.. option:: -freal-4-real-8, -fno-real-4-real-8
2658
2659.. option:: -freal-8-real-10, -fno-real-8-real-10
2660
2661.. option:: -freal-8-real-16, -fno-real-8-real-16
2662
2663.. option:: -freal-8-real-4, -fno-real-8-real-4
2664
2665.. option:: -frealloc-lhs, -fno-realloc-lhs
2666
2667.. option:: -frecord-marker=<arg>
2668
2669.. option:: -frecursive, -fno-recursive
2670
2671.. option:: -frepack-arrays, -fno-repack-arrays
2672
2673.. option:: -fsecond-underscore, -fno-second-underscore
2674
2675.. option:: -fsign-zero, -fno-sign-zero
2676
2677.. option:: -fstack-arrays, -fno-stack-arrays
2678
2679.. option:: -funderscoring, -fno-underscoring
2680
2681.. option:: -fwhole-file, -fno-whole-file
2682
2683.. option:: -nocpp
2684
2685.. option:: -static-libgfortran
2686
2687Linker flags
2688============
2689Flags that are passed on to the linker
2690
2691.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>
2692
2693Add directory to library search path
2694
2695.. option:: -Mach
2696
2697.. option:: -T<script>
2698
2699Specify <script> as linker script
2700
2701.. option:: -Tbss<addr>
2702
2703Set starting address of BSS to <addr>
2704
2705.. option:: -Tdata<addr>
2706
2707Set starting address of BSS to <addr>
2708
2709.. option:: -Ttext<addr>
2710
2711Set starting address of BSS to <addr>
2712
2713.. option:: -Wl,<arg>,<arg2>...
2714
2715Pass the comma separated arguments in <arg> to the linker
2716
2717.. option:: -X
2718
2719.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>
2720
2721Pass <arg> to the linker
2722
2723.. program:: clang1
2724.. option:: -Z
2725.. program:: clang
2726
2727.. option:: -e<arg>, --entry
2728
2729.. option:: -filelist <arg>
2730
2731.. option:: -l<arg>
2732
2733.. option:: -r
2734
2735.. option:: -rpath <arg>
2736
2737.. option:: -s
2738
2739.. option:: -t
2740
2741.. option:: -u<arg>, --force-link <arg>, --force-link=<arg>
2742
2743.. option:: -undef
2744
2745undef all system defines
2746
2747.. option:: -undefined<arg>, --no-undefined
2748
2749.. option:: -z <arg>
2750
2751Pass -z <arg> to the linker
2752
2753