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-libasan
528
529.. option:: -shared-libgcc
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-libstdc++
540
541.. option:: -std-default=<arg>
542
543.. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg>
544
545C++ standard library to use
546
547.. option:: -sub\_library<arg>
548
549.. program:: clang1
550.. option:: -sub\_umbrella<arg>
551.. program:: clang
552
553.. option:: --sysroot=<arg>, --sysroot <arg>
554
555.. option:: --target-help
556
557.. option:: --target=<arg>, -target <arg>
558
559Generate code for the given target
560
561.. option:: -time
562
563Time individual commands
564
565.. option:: -traditional, --traditional
566
567.. option:: -traditional-cpp, --traditional-cpp
568
569Enable some traditional CPP emulation
570
571.. option:: -twolevel\_namespace
572
573.. program:: clang1
574.. option:: -twolevel\_namespace\_hints
575.. program:: clang
576
577.. option:: -umbrella <arg>
578
579.. option:: -unexported\_symbols\_list <arg>
580
581.. option:: -v, --verbose
582
583Show commands to run and use verbose output
584
585.. option:: --verify-debug-info
586
587Verify the binary representation of debug output
588
589.. option:: --version
590
591.. option:: -w, --no-warnings
592
593Suppress all warnings
594
595.. option:: -weak-l<arg>
596
597.. option:: -weak\_framework <arg>
598
599.. program:: clang1
600.. option:: -weak\_library <arg>
601.. program:: clang
602
603.. program:: clang2
604.. option:: -weak\_reference\_mismatches <arg>
605.. program:: clang
606
607.. option:: -whatsloaded
608
609.. option:: -whyload
610
611.. option:: -working-directory<arg>, -working-directory=<arg>
612
613Resolve file paths relative to the specified directory
614
615.. option:: -x<language>, --language <arg>, --language=<arg>
616
617Treat subsequent input files as having type <language>
618
619.. option:: -y<arg>
620
621Actions
622=======
623The action to perform on the input.
624
625.. option:: -E, --preprocess
626
627Only run the preprocessor
628
629.. option:: -S, --assemble
630
631Only run preprocess and compilation steps
632
633.. option:: -c, --compile
634
635Only run preprocess, compile, and assemble steps
636
637.. option:: -emit-llvm
638
639Use the LLVM representation for assembler and object files
640
641.. option:: -fsyntax-only
642
643.. option:: -module-file-info
644
645Provide information about a particular module file
646
647.. option:: --precompile
648
649Only precompile the input
650
651.. option:: -rewrite-objc
652
653Rewrite Objective-C source to C++
654
655.. 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
665.. option:: -Xassembler <arg>
666
667Pass <arg> to the assembler
668
669.. option:: -Xclang <arg>
670
671Pass <arg> to the clang compiler
672
673.. option:: -fclang-abi-compat=<version>
674
675Attempt to match the ABI of Clang <version>
676
677.. option:: -fcomment-block-commands=<arg>,<arg2>...
678
679Treat each comma separated argument in <arg> as a documentation comment block command
680
681.. option:: -fdeclspec, -fno-declspec
682
683Allow \_\_declspec as a keyword
684
685.. option:: -fdepfile-entry=<arg>
686
687.. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info
688
689.. option:: -fdiagnostics-format=<arg>
690
691.. option:: -fdiagnostics-parseable-fixits
692
693Print fix-its in machine parseable form
694
695.. option:: -fdiagnostics-print-source-range-info
696
697Print source range spans in numeric form
698
699.. option:: -fdiagnostics-show-category=<arg>
700
701.. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager
702
703Enables an experimental new pass manager in LLVM.
704
705.. option:: -finline-functions, -fno-inline-functions
706
707Inline suitable functions
708
709.. option:: -finline-hint-functions
710
711Inline functions which are (explicitly or implicitly) marked inline
712
713.. option:: -fno-crash-diagnostics
714
715Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
716
717.. option:: -fno-sanitize-blacklist
718
719Don't use blacklist file for sanitizers
720
721.. option:: -fparse-all-comments
722
723.. option:: -fsanitize-address-field-padding=<arg>
724
725Level of field padding for AddressSanitizer
726
727.. option:: -fsanitize-address-globals-dead-stripping
728
729Enable linker dead stripping of globals in AddressSanitizer
730
731.. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope
732
733Enable use-after-scope detection in AddressSanitizer
734
735.. option:: -fsanitize-blacklist=<arg>
736
737Path to blacklist file for sanitizers
738
739.. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso
740
741Enable control flow integrity (CFI) checks for cross-DSO calls.
742
743.. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>...
744
745Specify the type of coverage instrumentation for Sanitizers
746
747.. option:: -fsanitize-link-c++-runtime
748
749.. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins
750
751Enable origins tracking in MemorySanitizer
752
753.. program:: clang1
754.. option:: -fsanitize-memory-track-origins=<arg>
755.. program:: clang
756
757Enable origins tracking in MemorySanitizer
758
759.. option:: -fsanitize-memory-use-after-dtor
760
761Enable use-after-destroy detection in MemorySanitizer
762
763.. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime
764
765.. option:: -fsanitize-recover, -fno-sanitize-recover
766
767.. program:: clang1
768.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>...
769.. program:: clang
770
771Enable recovery for specified sanitizers
772
773.. option:: -fsanitize-stats, -fno-sanitize-stats
774
775Enable sanitizer statistics gathering.
776
777.. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics
778
779Enable atomic operations instrumentation in ThreadSanitizer (default)
780
781.. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit
782
783Enable function entry/exit instrumentation in ThreadSanitizer (default)
784
785.. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access
786
787Enable memory access instrumentation in ThreadSanitizer (default)
788
789.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>...
790
791Enable trapping for specified sanitizers
792
793.. 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
797.. option:: -fsanitize-undefined-trap-on-error, -fno-sanitize-undefined-trap-on-error
798
799.. 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
803.. option:: --param <arg>, --param=<arg>
804
805.. option:: -std=<arg>, --std=<arg>, --std <arg>
806
807Language standard to compile for
808
809Preprocessor 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
846Include path management
847-----------------------
848
849Flags controlling how ``#include``\s are resolved to files.
850
851.. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg>
852
853Add directory to include search path
854
855.. option:: -I-, --include-barrier
856
857Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
858
859.. option:: --cuda-path=<arg>
860
861CUDA installation path
862
863.. option:: -cxx-isystem<directory>
864
865Add directory to the C++ SYSTEM include search path
866
867.. option:: -fbuild-session-file=<file>
868
869Use the last modification time of <file> as the build session timestamp
870
871.. option:: -fbuild-session-timestamp=<time since Epoch in seconds>
872
873Time when the current build session started
874
875.. 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
879.. option:: -fmodules-cache-path=<directory>
880
881Specify the module cache path
882
883.. option:: -fmodules-disable-diagnostic-validation
884
885Disable validation of the diagnostic options when loading the module
886
887.. option:: -fmodules-prune-after=<seconds>
888
889Specify the interval (in seconds) after which a module file will be considered unused
890
891.. option:: -fmodules-prune-interval=<seconds>
892
893Specify the interval (in seconds) between attempts to prune the module cache
894
895.. option:: -fmodules-user-build-path <directory>
896
897Specify the module user build path
898
899.. 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
903.. option:: -fmodules-validate-system-headers
904
905Validate the system headers that a module depends on when loading the module
906
907.. option:: -fprebuilt-module-path=<directory>
908
909Specify the prebuilt module path
910
911.. option:: -i<arg>
912
913.. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg>
914
915Add directory to AFTER include search path
916
917.. option:: -iframework<arg>
918
919Add directory to SYSTEM framework search path
920
921.. option:: -iframeworkwithsysroot<directory>
922
923Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
924
925.. option:: -imacros<file>, --imacros<file>, --imacros=<arg>
926
927Include macros from file before parsing
928
929.. option:: -include<file>, --include<file>, --include=<arg>
930
931Include file before parsing
932
933.. option:: -include-pch <file>
934
935Include precompiled header file
936
937.. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg>
938
939Set the -iwithprefix/-iwithprefixbefore prefix
940
941.. option:: -iquote<directory>
942
943Add directory to QUOTE include search path
944
945.. option:: -isysroot<dir>
946
947Set the system root directory (usually /)
948
949.. option:: -isystem<directory>
950
951Add directory to SYSTEM include search path
952
953.. option:: -isystem-after<directory>
954
955Add directory to end of the SYSTEM include search path
956
957.. option:: -ivfsoverlay<arg>
958
959Overlay the virtual filesystem described by file over the real file system
960
961.. 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
965.. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg>
966
967Set directory to include search path with prefix
968
969.. option:: -iwithsysroot<directory>
970
971Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
972
973.. option:: --ptxas-path=<arg>
974
975Path to ptxas (used for compiling CUDA code)
976
977.. 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
982--------------------------
983
984Flags controlling generation of a dependency file for ``make``-like build
985systems.
986
987.. option:: -M, --dependencies
988
989Like -MD, but also implies -E and writes to stdout by default
990
991.. option:: -MD, --write-dependencies
992
993Write a depfile containing user and system headers
994
995.. option:: -MF<file>
996
997Write depfile output from -MMD, -MD, -MM, or -M to <file>
998
999.. option:: -MG, --print-missing-file-dependencies
1000
1001Add missing headers to depfile
1002
1003.. option:: -MJ<arg>
1004
1005Write a compilation database entry per input
1006
1007.. option:: -MM, --user-dependencies
1008
1009Like -MMD, but also implies -E and writes to stdout by default
1010
1011.. option:: -MMD, --write-user-dependencies
1012
1013Write a depfile containing user headers
1014
1015.. option:: -MP
1016
1017Create phony target for each dependency (other than main file)
1018
1019.. option:: -MQ<arg>
1020
1021Specify name of main file output to quote in depfile
1022
1023.. option:: -MT<arg>
1024
1025Specify name of main file output in depfile
1026
1027.. option:: -MV
1028
1029Use NMake/Jom format for the depfile
1030
1031Dumping preprocessor state
1032--------------------------
1033
1034Flags allowing the state of the preprocessor to be dumped in various ways.
1035
1036.. option:: -d
1037
1038.. program:: clang1
1039.. option:: -d<arg>
1040.. program:: clang
1041
1042.. option:: -dA
1043
1044.. option:: -dD
1045
1046Print macro definitions in -E mode in addition to normal output
1047
1048.. option:: -dI
1049
1050Print include directives in -E mode in addition to normal output
1051
1052.. 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
1062.. option:: -R<remark>
1063
1064Enable the specified remark
1065
1066.. option:: -Rpass-analysis=<arg>
1067
1068Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
1069
1070.. option:: -Rpass-missed=<arg>
1071
1072Report missed transformations by optimization passes whose name matches the given POSIX regular expression
1073
1074.. option:: -Rpass=<arg>
1075
1076Report transformations performed by optimization passes whose name matches the given POSIX regular expression
1077
1078.. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg>
1079
1080Enable the specified warning
1081
1082.. option:: -Wdeprecated, -Wno-deprecated
1083
1084Enable warnings for deprecated constructs and define \_\_DEPRECATED
1085
1086.. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg>
1087
1088Target-independent compilation options
1089~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1090.. option:: -Wframe-larger-than=<arg>
1091
1092.. option:: -fPIC, -fno-PIC
1093
1094.. option:: -fPIE, -fno-PIE
1095
1096.. option:: -faccess-control, -fno-access-control
1097
1098.. program:: clang1
1099.. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation
1100.. program:: clang
1101
1102Enable C++17 aligned allocation functions
1103
1104.. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders
1105
1106Treat editor placeholders as valid source code
1107
1108.. option:: -fallow-unsupported
1109
1110.. option:: -faltivec, -fno-altivec
1111
1112.. option:: -fansi-escape-codes
1113
1114Use ANSI escape codes for diagnostics
1115
1116.. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables
1117
1118Use Apple's kernel extensions ABI
1119
1120.. option:: -fapple-pragma-pack, -fno-apple-pragma-pack
1121
1122Enable Apple gcc-compatible #pragma pack handling
1123
1124.. option:: -fapplication-extension, -fno-application-extension
1125
1126Restrict code to those available for App Extensions
1127
1128.. option:: -fasm, -fno-asm
1129
1130.. option:: -fasm-blocks, -fno-asm-blocks
1131
1132.. option:: -fassociative-math, -fno-associative-math
1133
1134.. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new
1135
1136.. option:: -fast
1137
1138.. option:: -fastcp
1139
1140.. option:: -fastf
1141
1142.. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables
1143
1144.. option:: -fautolink, -fno-autolink
1145
1146.. option:: -fblocks, -fno-blocks
1147
1148Enable the 'blocks' language feature
1149
1150.. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg>
1151
1152.. option:: -fborland-extensions, -fno-borland-extensions
1153
1154Accept non-standard constructs supported by the Borland compiler
1155
1156.. option:: -fbracket-depth=<arg>
1157
1158.. option:: -fbuiltin, -fno-builtin
1159
1160.. option:: -fbuiltin-module-map
1161
1162Load the clang builtins module map file.
1163
1164.. option:: -fcaret-diagnostics, -fno-caret-diagnostics
1165
1166.. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg>
1167
1168.. option:: -fcolor-diagnostics, -fno-color-diagnostics
1169
1170Use colors in diagnostics
1171
1172.. option:: -fcommon, -fno-common
1173
1174.. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg>
1175
1176.. option:: -fconstant-cfstrings, -fno-constant-cfstrings
1177
1178.. option:: -fconstant-string-class=<arg>
1179
1180.. option:: -fconstexpr-backtrace-limit=<arg>
1181
1182.. option:: -fconstexpr-depth=<arg>
1183
1184.. option:: -fconstexpr-steps=<arg>
1185
1186.. option:: -fcoroutines-ts, -fno-coroutines-ts
1187
1188Enable support for the C++ Coroutines TS
1189
1190.. option:: -fcoverage-mapping, -fno-coverage-mapping
1191
1192Generate coverage mapping to enable code coverage analysis
1193
1194.. option:: -fcreate-profile
1195
1196.. option:: -fcxx-exceptions, -fno-cxx-exceptions
1197
1198Enable C++ exceptions
1199
1200.. option:: -fcxx-modules, -fno-cxx-modules
1201
1202.. option:: -fdata-sections, -fno-data-sections
1203
1204Place each data in its own section (ELF Only)
1205
1206.. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling
1207
1208Emit extra debug info to make sample profile more accurate.
1209
1210.. option:: -fdebug-macro, -fno-debug-macro
1211
1212Emit macro debug information
1213
1214.. option:: -fdebug-pass-arguments
1215
1216.. option:: -fdebug-pass-structure
1217
1218.. option:: -fdebug-prefix-map=<arg>
1219
1220remap file source paths in debug info
1221
1222.. option:: -fdebug-types-section, -fno-debug-types-section
1223
1224Place debug types in their own section (ELF Only)
1225
1226.. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing
1227
1228Parse templated function definitions at the end of the translation unit
1229
1230.. option:: -fdenormal-fp-math=<arg>
1231
1232.. option:: -fdiagnostics-absolute-paths
1233
1234Print absolute paths in diagnostics
1235
1236.. option:: -fdiagnostics-color, -fno-diagnostics-color
1237
1238.. program:: clang1
1239.. option:: -fdiagnostics-color=<arg>
1240.. program:: clang
1241
1242.. option:: -fdiagnostics-hotness-threshold=<number>
1243
1244Prevent optimization remarks from being output if they do not have at least this profile count
1245
1246.. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness
1247
1248Enable profile hotness information in diagnostic line
1249
1250.. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack
1251
1252Display include stacks for diagnostic notes
1253
1254.. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option
1255
1256Print option name with mappable diagnostics
1257
1258.. option:: -fdiagnostics-show-template-tree
1259
1260Print a template comparison tree for differing templates
1261
1262.. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers
1263
1264Allow '$' in identifiers
1265
1266.. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm
1267
1268.. option:: -felide-constructors, -fno-elide-constructors
1269
1270.. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols
1271
1272.. 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
1276.. option:: -femit-all-decls
1277
1278Emit all declarations, even if unused
1279
1280.. option:: -femulated-tls, -fno-emulated-tls
1281
1282Use emutls functions to access thread\_local variables
1283
1284.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg>
1285
1286.. option:: -ferror-limit=<arg>
1287
1288.. option:: -fexceptions, -fno-exceptions
1289
1290Enable support for exception handling
1291
1292.. option:: -fexec-charset=<arg>
1293
1294.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg>
1295
1296.. option:: -ffast-math, -fno-fast-math
1297
1298Allow aggressive, lossy floating-point optimizations
1299
1300.. option:: -ffinite-math-only, -fno-finite-math-only
1301
1302.. option:: -ffor-scope, -fno-for-scope
1303
1304.. 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
1308.. option:: -ffreestanding
1309
1310Assert that the compilation takes place in a freestanding environment
1311
1312.. option:: -ffunction-sections, -fno-function-sections
1313
1314Place each function in its own section (ELF Only)
1315
1316.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm
1317
1318.. option:: -fgnu-keywords, -fno-gnu-keywords
1319
1320Allow GNU-extension keywords regardless of language standard
1321
1322.. option:: -fgnu-runtime
1323
1324Generate output compatible with the standard GNU Objective-C runtime
1325
1326.. option:: -fgnu89-inline, -fno-gnu89-inline
1327
1328Use the gnu89 inline semantics
1329
1330.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities
1331
1332.. option:: -fhonor-nans, -fno-honor-nans
1333
1334.. option:: -fhosted
1335
1336.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps
1337
1338Implicitly search the file system for module map files.
1339
1340.. option:: -fimplicit-modules, -fno-implicit-modules
1341
1342.. option:: -finput-charset=<arg>
1343
1344.. option:: -finstrument-functions
1345
1346Generate calls to instrument function entry and exit
1347
1348.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as
1349
1350Enable the integrated assembler
1351
1352.. option:: -fjump-tables, -fno-jump-tables
1353
1354.. option:: -flax-vector-conversions, -fno-lax-vector-conversions
1355
1356.. option:: -flimited-precision=<arg>
1357
1358.. option:: -flto, -fno-lto
1359
1360Enable LTO in 'full' mode
1361
1362.. 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
1366.. program:: clang1
1367.. option:: -flto=<arg>
1368.. program:: clang
1369
1370Set LTO mode to either 'full' or 'thin'
1371
1372.. option:: -fmacro-backtrace-limit=<arg>
1373
1374.. option:: -fmath-errno, -fno-math-errno
1375
1376Require math functions to indicate errors by setting errno
1377
1378.. option:: -fmax-type-align=<arg>
1379
1380Specify the maximum alignment to enforce on pointers lacking an explicit alignment
1381
1382.. option:: -fmerge-all-constants, -fno-merge-all-constants
1383
1384.. option:: -fmessage-length=<arg>
1385
1386.. option:: -fmodule-file-deps, -fno-module-file-deps
1387
1388.. option:: -fmodule-map-file=<file>
1389
1390Load this module map file
1391
1392.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg>
1393
1394Specify the name of the module to build
1395
1396.. option:: -fmodules, -fno-modules
1397
1398Enable the 'modules' language feature
1399
1400.. option:: -fmodules-decluse, -fno-modules-decluse
1401
1402Require declaration of modules used within a module
1403
1404.. option:: -fmodules-ignore-macro=<arg>
1405
1406Ignore the definition of the given macro when building and loading modules
1407
1408.. option:: -fmodules-search-all, -fno-modules-search-all
1409
1410Search even non-imported modules to resolve references
1411
1412.. option:: -fmodules-strict-decluse
1413
1414Like -fmodules-decluse but requires all headers to be in modules
1415
1416.. option:: -fmodules-ts
1417
1418Enable support for the C++ Modules TS
1419
1420.. option:: -fms-compatibility, -fno-ms-compatibility
1421
1422Enable full Microsoft Visual C++ compatibility
1423
1424.. 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
1428.. option:: -fms-extensions, -fno-ms-extensions
1429
1430Accept some non-standard constructs supported by the Microsoft compiler
1431
1432.. option:: -fms-memptr-rep=<arg>
1433
1434.. option:: -fms-volatile<arg>
1435
1436.. option:: -fmsc-version=<arg>
1437
1438Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1439
1440.. option:: -fmudflap
1441
1442.. option:: -fmudflapth
1443
1444.. option:: -fnested-functions
1445
1446.. option:: -fnew-alignment=<align>, -fnew-alignment <arg>
1447
1448Specifies the largest alignment guaranteed by '::operator new(size\_t)'
1449
1450.. option:: -fnext-runtime
1451
1452.. option:: -fno-builtin-<arg>
1453
1454Disable implicit builtin knowledge of a specific function
1455
1456.. option:: -fno-elide-type
1457
1458Do not elide types when printing diagnostics
1459
1460.. option:: -fno-max-type-align
1461
1462.. option:: -fno-operator-names
1463
1464Do not treat C++ operator name keywords as synonyms for operators
1465
1466.. option:: -fno-strict-modules-decluse
1467
1468.. option:: -fno-working-directory
1469
1470.. option:: -fnoopenmp-relocatable-target
1471
1472Do not compile OpenMP target code as relocatable.
1473
1474.. option:: -fnoopenmp-use-tls
1475
1476.. option:: -fobjc-abi-version=<arg>
1477
1478.. option:: -fobjc-arc, -fno-objc-arc
1479
1480Synthesize retain and release calls for Objective-C pointers
1481
1482.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions
1483
1484Use EH-safe code when synthesizing retains and releases in -fobjc-arc
1485
1486.. option:: -fobjc-exceptions, -fno-objc-exceptions
1487
1488Enable Objective-C exceptions
1489
1490.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type
1491
1492.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch
1493
1494.. option:: -fobjc-link-runtime
1495
1496.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi
1497
1498.. option:: -fobjc-nonfragile-abi-version=<arg>
1499
1500.. option:: -fobjc-runtime=<arg>
1501
1502Specify the target Objective-C runtime kind and version
1503
1504.. option:: -fobjc-sender-dependent-dispatch
1505
1506.. option:: -fobjc-weak, -fno-objc-weak
1507
1508Enable ARC-style weak references in Objective-C
1509
1510.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer
1511
1512.. option:: -fopenmp, -fno-openmp
1513
1514.. option:: -fopenmp-dump-offload-linker-script
1515
1516.. 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
1520.. option:: -fopenmp-use-tls
1521
1522.. option:: -fopenmp-version=<arg>
1523
1524.. program:: clang1
1525.. option:: -fopenmp=<arg>
1526.. program:: clang
1527
1528.. option:: -foperator-arrow-depth=<arg>
1529
1530.. option:: -foptimization-record-file=<arg>
1531
1532Specify the file name of any generated YAML optimization record
1533
1534.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls
1535
1536.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg>
1537
1538.. option:: -fpack-struct, -fno-pack-struct
1539
1540.. program:: clang1
1541.. option:: -fpack-struct=<arg>
1542.. program:: clang
1543
1544Specify the default maximum struct packing alignment
1545
1546.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings
1547
1548Recognize and construct Pascal-style string literals
1549
1550.. option:: -fpcc-struct-return
1551
1552Override the default ABI to return all structs on the stack
1553
1554.. option:: -fpch-preprocess
1555
1556.. option:: -fpic, -fno-pic
1557
1558.. option:: -fpie, -fno-pie
1559
1560.. option:: -fplugin=<dsopath>
1561
1562Load the named plugin (dynamic shared object)
1563
1564.. option:: -fpreserve-as-comments, -fno-preserve-as-comments
1565
1566.. option:: -fprofile-arcs, -fno-profile-arcs
1567
1568.. option:: -fprofile-dir=<arg>
1569
1570.. 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
1574.. program:: clang1
1575.. option:: -fprofile-generate=<directory>
1576.. program:: clang
1577
1578Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1579
1580.. 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
1584.. program:: clang1
1585.. option:: -fprofile-instr-generate=<file>
1586.. program:: clang
1587
1588Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var)
1589
1590.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use
1591
1592.. program:: clang1
1593.. option:: -fprofile-instr-use=<arg>
1594.. program:: clang
1595
1596Use instrumentation data for profile-guided optimization
1597
1598.. 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
1605.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use
1606
1607.. program:: clang1
1608.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg>
1609.. program:: clang
1610
1611Enable sample-based profile guided optimizations
1612
1613.. program:: clang1
1614.. option:: -fprofile-use=<pathname>
1615.. program:: clang
1616
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
1619.. option:: -freciprocal-math, -fno-reciprocal-math
1620
1621Allow division operations to be reassociated
1622
1623.. option:: -freg-struct-return
1624
1625Override the default ABI to return small structs in registers
1626
1627.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args
1628
1629Enable C++17 relaxed template template argument matching
1630
1631.. option:: -freroll-loops, -fno-reroll-loops
1632
1633Turn on loop reroller
1634
1635.. option:: -fretain-comments-from-system-headers
1636
1637.. option:: -frewrite-imports, -fno-rewrite-imports
1638
1639.. option:: -frewrite-includes, -fno-rewrite-includes
1640
1641.. option:: -frewrite-map-file <arg>
1642
1643.. program:: clang1
1644.. option:: -frewrite-map-file=<arg>
1645.. program:: clang
1646
1647.. option:: -fropi, -fno-ropi
1648
1649.. option:: -frtti, -fno-rtti
1650
1651.. option:: -frwpi, -fno-rwpi
1652
1653.. option:: -fsave-optimization-record, -fno-save-optimization-record
1654
1655Generate a YAML optimization record file
1656
1657.. 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
1661.. option:: -fshort-wchar, -fno-short-wchar
1662
1663Force wchar\_t to be a short unsigned int
1664
1665.. option:: -fshow-column, -fno-show-column
1666
1667.. option:: -fshow-overloads=<arg>
1668
1669Which overload candidates to show when overload resolution fails: best\|all; defaults to all
1670
1671.. option:: -fshow-source-location, -fno-show-source-location
1672
1673.. option:: -fsignaling-math, -fno-signaling-math
1674
1675.. option:: -fsigned-bitfields
1676
1677.. option:: -fsigned-char, -fno-signed-char, --signed-char
1678
1679.. option:: -fsigned-zeros, -fno-signed-zeros
1680
1681.. option:: -fsized-deallocation, -fno-sized-deallocation
1682
1683Enable C++14 sized global deallocation functions
1684
1685.. option:: -fsjlj-exceptions
1686
1687Use SjLj style exceptions
1688
1689.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize
1690
1691Enable the superword-level parallelism vectorization passes
1692
1693.. option:: -fspell-checking, -fno-spell-checking
1694
1695.. option:: -fspell-checking-limit=<arg>
1696
1697.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining
1698
1699Place debug types in their own section (ELF Only)
1700
1701.. option:: -fsplit-stack
1702
1703.. option:: -fstack-protector, -fno-stack-protector
1704
1705Enable stack protectors for functions potentially vulnerable to stack smashing
1706
1707.. option:: -fstack-protector-all
1708
1709Force the usage of stack protectors for all functions
1710
1711.. option:: -fstack-protector-strong
1712
1713Use a strong heuristic to apply stack protectors to functions
1714
1715.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug
1716
1717Emit full debug info for all types used by the program
1718
1719.. option:: -fstrict-aliasing, -fno-strict-aliasing
1720
1721.. option:: -fstrict-enums, -fno-strict-enums
1722
1723Enable optimizations based on the strict definition of an enum's value range
1724
1725.. option:: -fstrict-overflow, -fno-strict-overflow
1726
1727.. option:: -fstrict-return, -fno-strict-return
1728
1729Always treat control flow paths that fall off the end of a non-void function as unreachable
1730
1731.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers
1732
1733Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
1734
1735.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa
1736
1737.. option:: -ftabstop=<arg>
1738
1739.. option:: -ftemplate-backtrace-limit=<arg>
1740
1741.. option:: -ftemplate-depth-<arg>
1742
1743.. option:: -ftemplate-depth=<arg>
1744
1745.. option:: -ftest-coverage
1746
1747.. option:: -fthinlto-index=<arg>
1748
1749Perform ThinLTO importing using provided function summary index
1750
1751.. option:: -fthreadsafe-statics, -fno-threadsafe-statics
1752
1753.. option:: -ftime-report
1754
1755.. option:: -ftls-model=<arg>
1756
1757.. option:: -ftrap-function=<arg>
1758
1759Issue call to specified function rather than a trap instruction
1760
1761.. option:: -ftrapping-math, -fno-trapping-math
1762
1763.. option:: -ftrapv
1764
1765Trap on integer overflow
1766
1767.. option:: -ftrapv-handler <arg>
1768
1769.. program:: clang1
1770.. option:: -ftrapv-handler=<function name>
1771.. program:: clang
1772
1773Specify the function to be called on overflow
1774
1775.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs
1776
1777Process trigraph sequences
1778
1779.. option:: -funique-section-names, -fno-unique-section-names
1780
1781Use unique names for text and data sections (ELF Only)
1782
1783.. option:: -funit-at-a-time, -fno-unit-at-a-time
1784
1785.. option:: -funroll-loops, -fno-unroll-loops
1786
1787Turn on loop unroller
1788
1789.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations
1790
1791.. option:: -funsigned-bitfields
1792
1793.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char
1794
1795.. option:: -funwind-tables, -fno-unwind-tables
1796
1797.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit
1798
1799.. option:: -fuse-init-array, -fno-use-init-array
1800
1801Use .init\_array instead of .ctors
1802
1803.. option:: -fuse-ld=<arg>
1804
1805.. option:: -fuse-line-directives, -fno-use-line-directives
1806
1807.. option:: -fveclib=<arg>
1808
1809Use the given vector functions library
1810
1811.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize
1812
1813Enable the loop vectorization passes
1814
1815.. option:: -fverbose-asm, -fno-verbose-asm
1816
1817.. option:: -fvisibility-inlines-hidden
1818
1819Give inline C++ member functions default visibility by default
1820
1821.. option:: -fvisibility-ms-compat
1822
1823Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
1824
1825.. option:: -fvisibility=<arg>
1826
1827Set the default symbol visibility for all global declarations
1828
1829.. option:: -fwhole-program-vtables, -fno-whole-program-vtables
1830
1831Enables whole-program vtable optimization. Requires -flto
1832
1833.. option:: -fwrapv, -fno-wrapv
1834
1835Treat signed integer overflow as two's complement
1836
1837.. option:: -fwritable-strings
1838
1839Store string literals as writable data
1840
1841.. option:: -fxray-always-instrument=<arg>
1842
1843Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
1844
1845.. option:: -fxray-instruction-threshold<arg>
1846
1847.. program:: clang1
1848.. option:: -fxray-instruction-threshold=<arg>
1849.. program:: clang
1850
1851Sets the minimum function size to instrument with XRay
1852
1853.. option:: -fxray-instrument, -fno-xray-instrument
1854
1855Generate XRay instrumentation sleds on function entry and exit
1856
1857.. option:: -fxray-never-instrument=<arg>
1858
1859Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
1860
1861.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss
1862
1863.. option:: -fzvector, -fno-zvector, -mzvector
1864
1865Enable System z vector language extension
1866
1867.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic
1868
1869.. option:: -pedantic-errors, --pedantic-errors
1870
1871OpenCL flags
1872------------
1873.. option:: -cl-denorms-are-zero
1874
1875OpenCL only. Allow denormals to be flushed to zero.
1876
1877.. option:: -cl-fast-relaxed-math
1878
1879OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_.
1880
1881.. option:: -cl-finite-math-only
1882
1883OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
1884
1885.. 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
1889.. option:: -cl-kernel-arg-info
1890
1891OpenCL only. Generate kernel argument metadata.
1892
1893.. option:: -cl-mad-enable
1894
1895OpenCL only. Allow use of less precise MAD computations in the generated binary.
1896
1897.. option:: -cl-no-signed-zeros
1898
1899OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
1900
1901.. option:: -cl-opt-disable
1902
1903OpenCL only. This option disables all optimizations. By default optimizations are enabled.
1904
1905.. option:: -cl-single-precision-constant
1906
1907OpenCL only. Treat double precision floating-point constant as single precision constant.
1908
1909.. option:: -cl-std=<arg>
1910
1911OpenCL language standard to compile for.
1912
1913.. option:: -cl-strict-aliasing
1914
1915OpenCL only. This option is added for compatibility with OpenCL 1.0.
1916
1917.. 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~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1923.. option:: -G<size>, -G=<arg>, -msmall-data-threshold=<arg>
1924
1925Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
1926
1927.. option:: -m16
1928
1929.. option:: -m32
1930
1931.. option:: -m64
1932
1933.. option:: -mabi=<arg>
1934
1935.. option:: -mabicalls, -mno-abicalls
1936
1937Enable SVR4-style position-independent code (Mips only)
1938
1939.. option:: -mabs=<arg>
1940
1941.. option:: -malign-double
1942
1943Align doubles to two words in structs (x86 only)
1944
1945.. option:: -march=<arg>
1946
1947.. option:: -masm=<arg>
1948
1949.. option:: -mbackchain, -mno-backchain
1950
1951Link stack frames through backchain on System Z
1952
1953.. option:: -mcheck-zero-division, -mno-check-zero-division
1954
1955.. option:: -mcmodel=<arg>
1956
1957.. option:: -mcompact-branches=<arg>
1958
1959.. option:: -mconsole<arg>
1960
1961.. 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)
1962
1963.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg>
1964
1965.. option:: -mdll<arg>
1966
1967.. option:: -mdouble-float
1968
1969.. option:: -mdsp, -mno-dsp
1970
1971.. option:: -mdspr2, -mno-dspr2
1972
1973.. option:: -mdynamic-no-pic<arg>
1974
1975.. option:: -meabi <arg>
1976
1977Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
1978
1979.. 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
1987.. option:: -mfentry
1988
1989Insert calls to fentry at function entry (x86 only)
1990
1991.. option:: -mfloat-abi=<arg>
1992
1993.. option:: -mfp32
1994
1995Use 32-bit floating point registers (MIPS only)
1996
1997.. option:: -mfp64
1998
1999Use 64-bit floating point registers (MIPS only)
2000
2001.. option:: -mfpmath=<arg>
2002
2003.. option:: -mfpu=<arg>
2004
2005.. option:: -mglobal-merge, -mno-global-merge
2006
2007Enable merging of globals
2008
2009.. option:: -mgpopt, -mno-gpopt
2010
2011Use GP relative accesses for symbols known to be in a small data section (MIPS)
2012
2013.. option:: -mhard-float
2014
2015.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg>
2016
2017.. option:: -miamcu, -mno-iamcu
2018
2019Use Intel MCU ABI
2020
2021.. option:: -mimplicit-float, -mno-implicit-float
2022
2023.. option:: -mimplicit-it=<arg>
2024
2025.. 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
2029.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg>
2030
2031.. option:: -mips16
2032
2033.. option:: -mkernel
2034
2035.. option:: -mldc1-sdc1, -mno-ldc1-sdc1
2036
2037.. option:: -mlocal-sdata, -mno-local-sdata
2038
2039Extend the -G behaviour to object local data (MIPS)
2040
2041.. option:: -mlong-calls, -mno-long-calls
2042
2043Generate branches with extended addressability, usually via indirect jumps.
2044
2045.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg>
2046
2047Set Mac OS X deployment target
2048
2049.. option:: -mmadd4, -mno-madd4
2050
2051Enable the generation of 4-operand madd.s, madd.d and related instructions.
2052
2053.. option:: -mmcu=<arg>
2054
2055.. option:: -mmicromips, -mno-micromips
2056
2057.. option:: -mms-bitfields, -mno-ms-bitfields
2058
2059Set the default structure layout to be compatible with the Microsoft compiler standard
2060
2061.. option:: -mmsa, -mno-msa
2062
2063Enable MSA ASE (MIPS only)
2064
2065.. option:: -mmt, -mno-mt
2066
2067Enable MT ASE (MIPS only)
2068
2069.. option:: -mnan=<arg>
2070
2071.. option:: -mno-mips16
2072
2073.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer
2074
2075Omit frame pointer setup for leaf functions
2076
2077.. option:: -moslib=<arg>
2078
2079.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations
2080
2081Use copy relocations support for PIE builds
2082
2083.. option:: -mqdsp6-compat
2084
2085Enable hexagon-qdsp6 backward compatibility
2086
2087.. option:: -mrecip
2088
2089.. program:: clang1
2090.. option:: -mrecip=<arg1>,<arg2>...
2091.. program:: clang
2092
2093.. option:: -mred-zone, -mno-red-zone
2094
2095.. option:: -mregparm=<arg>
2096
2097.. option:: -mrelax-all, -mno-relax-all
2098
2099(integrated-as) Relax all machine instructions
2100
2101.. option:: -mrtd, -mno-rtd
2102
2103Make StdCall calling convention the default
2104
2105.. option:: -msingle-float
2106
2107.. option:: -msoft-float, -mno-soft-float
2108
2109Use software floating point
2110
2111.. option:: -mstack-alignment=<arg>
2112
2113Set the stack alignment
2114
2115.. option:: -mstack-probe-size=<arg>
2116
2117Set the stack probe size
2118
2119.. option:: -mstackrealign, -mno-stackrealign
2120
2121Force realign the stack at entry to every function
2122
2123.. option:: -mthread-model <arg>
2124
2125The thread model to use, e.g. posix, single (posix by default)
2126
2127.. option:: -mthreads<arg>
2128
2129.. option:: -mthumb, -mno-thumb
2130
2131.. option:: -mtune=<arg>
2132
2133.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg>
2134
2135.. option:: -municode<arg>
2136
2137.. option:: -mvx, -mno-vx
2138
2139.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings
2140
2141.. option:: -mwatchos-version-min=<arg>
2142
2143.. option:: -mwindows<arg>
2144
2145.. option:: -mx32
2146
2147.. option:: -mxgot, -mno-xgot
2148
2149AARCH64
2150-------
2151.. option:: -ffixed-x18
2152
2153Reserve the x18 register (AArch64 only)
2154
2155.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769
2156
2157Workaround Cortex-A53 erratum 835769 (AArch64 only)
2158
2159.. option:: -mgeneral-regs-only
2160
2161Generate code which only uses the general purpose registers (AArch64 only)
2162
2163AMDGPU
2164------
2165ARM
2166---
2167.. option:: -ffixed-r9
2168
2169Reserve the r9 register (ARM only)
2170
2171.. option:: -mcrc
2172
2173Allow use of CRC instructions (ARM only)
2174
2175.. option:: -mexecute-only, -mno-execute-only, -mpure-code
2176
2177Disallow generation of data access to code sections (ARM only)
2178
2179.. option:: -mno-movt
2180
2181Disallow use of movt/movw pairs (ARM only)
2182
2183.. option:: -mno-neg-immediates
2184
2185Disallow converting instructions with negative immediates to their negation or inversion.
2186
2187.. option:: -mnocrc
2188
2189Disallow use of CRC instructions (ARM only)
2190
2191.. 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
2195.. option:: -munaligned-access, -mno-unaligned-access
2196
2197Allow memory accesses to be unaligned (AArch32/AArch64 only)
2198
2199Hexagon
2200-------
2201.. option:: -mhvx, -mno-hvx
2202
2203Enable Hexagon Vector eXtensions
2204
2205.. option:: -mhvx-double, -mno-hvx-double
2206
2207Enable Hexagon Double Vector eXtensions
2208
2209.. option:: -mieee-rnd-near
2210
2211PowerPC
2212-------
2213.. option:: -maltivec, -mno-altivec
2214
2215.. option:: -mcmpb, -mno-cmpb
2216
2217.. option:: -mcrbits, -mno-crbits
2218
2219.. option:: -mcrypto, -mno-crypto
2220
2221.. option:: -mdirect-move, -mno-direct-move
2222
2223.. option:: -mfloat128, -mno-float128
2224
2225.. option:: -mfprnd, -mno-fprnd
2226
2227.. option:: -mhtm, -mno-htm
2228
2229.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors
2230
2231.. option:: -misel, -mno-isel
2232
2233.. option:: -mlongcall, -mno-longcall
2234
2235.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf
2236
2237.. option:: -mpopcntd, -mno-popcntd
2238
2239.. option:: -mpower8-vector, -mno-power8-vector
2240
2241.. option:: -mpower9-vector, -mno-power9-vector
2242
2243.. option:: -mqpx, -mno-qpx
2244
2245.. option:: -mvsx, -mno-vsx
2246
2247WebAssembly
2248-----------
2249.. option:: -msimd128, -mno-simd128
2250
2251X86
2252---
2253.. option:: -m3dnow, -mno-3dnow
2254
2255.. option:: -m3dnowa, -mno-3dnowa
2256
2257.. option:: -madx, -mno-adx
2258
2259.. option:: -maes, -mno-aes
2260
2261.. option:: -mavx, -mno-avx
2262
2263.. option:: -mavx2, -mno-avx2
2264
2265.. option:: -mavx512bw, -mno-avx512bw
2266
2267.. option:: -mavx512cd, -mno-avx512cd
2268
2269.. option:: -mavx512dq, -mno-avx512dq
2270
2271.. option:: -mavx512er, -mno-avx512er
2272
2273.. option:: -mavx512f, -mno-avx512f
2274
2275.. option:: -mavx512ifma, -mno-avx512ifma
2276
2277.. option:: -mavx512pf, -mno-avx512pf
2278
2279.. option:: -mavx512vbmi, -mno-avx512vbmi
2280
2281.. option:: -mavx512vl, -mno-avx512vl
2282
2283.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq
2284
2285.. option:: -mbmi, -mno-bmi
2286
2287.. option:: -mbmi2, -mno-bmi2
2288
2289.. option:: -mclflushopt, -mno-clflushopt
2290
2291.. option:: -mclwb, -mno-clwb
2292
2293.. option:: -mclzero, -mno-clzero
2294
2295.. option:: -mcx16, -mno-cx16
2296
2297.. option:: -mf16c, -mno-f16c
2298
2299.. option:: -mfma, -mno-fma
2300
2301.. option:: -mfma4, -mno-fma4
2302
2303.. option:: -mfsgsbase, -mno-fsgsbase
2304
2305.. option:: -mfxsr, -mno-fxsr
2306
2307.. option:: -mlwp, -mno-lwp
2308
2309.. option:: -mlzcnt, -mno-lzcnt
2310
2311.. option:: -mmmx, -mno-mmx
2312
2313.. option:: -mmovbe, -mno-movbe
2314
2315.. option:: -mmpx, -mno-mpx
2316
2317.. option:: -mmwaitx, -mno-mwaitx
2318
2319.. option:: -mpclmul, -mno-pclmul
2320
2321.. option:: -mpku, -mno-pku
2322
2323.. option:: -mpopcnt, -mno-popcnt
2324
2325.. option:: -mprefetchwt1, -mno-prefetchwt1
2326
2327.. option:: -mprfchw, -mno-prfchw
2328
2329.. option:: -mrdrnd, -mno-rdrnd
2330
2331.. option:: -mrdseed, -mno-rdseed
2332
2333.. option:: -mrtm, -mno-rtm
2334
2335.. option:: -msgx, -mno-sgx
2336
2337.. option:: -msha, -mno-sha
2338
2339.. option:: -msse, -mno-sse
2340
2341.. option:: -msse2, -mno-sse2
2342
2343.. option:: -msse3, -mno-sse3
2344
2345.. option:: -msse4.1, -mno-sse4.1
2346
2347.. program:: clang1
2348.. option:: -msse4.2, -mno-sse4.2, -msse4
2349.. program:: clang
2350
2351.. option:: -msse4a, -mno-sse4a
2352
2353.. option:: -mssse3, -mno-ssse3
2354
2355.. option:: -mtbm, -mno-tbm
2356
2357.. option:: -mx87, -m80387, -mno-x87
2358
2359.. option:: -mxop, -mno-xop
2360
2361.. option:: -mxsave, -mno-xsave
2362
2363.. option:: -mxsavec, -mno-xsavec
2364
2365.. option:: -mxsaveopt, -mno-xsaveopt
2366
2367.. option:: -mxsaves, -mno-xsaves
2368
2369Optimization level
2370~~~~~~~~~~~~~~~~~~
2371
2372Flags controlling how much optimization should be performed.
2373
2374.. option:: -O<arg>, -O (equivalent to -O2), --optimize, --optimize=<arg>
2375
2376.. 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-----------------------------------
2386.. option:: -g, --debug, --debug=<arg>
2387
2388Generate source-level debug information
2389
2390.. option:: -gdwarf-2
2391
2392Generate source-level debug information with dwarf version 2
2393
2394.. option:: -gdwarf-3
2395
2396Generate source-level debug information with dwarf version 3
2397
2398.. option:: -gdwarf-4, -gdwarf
2399
2400Generate source-level debug information with dwarf version 4
2401
2402.. option:: -gdwarf-5
2403
2404Generate source-level debug information with dwarf version 5
2405
2406.. option:: -gfull
2407
2408.. option:: -gused
2409
2410Debug level
2411___________
2412.. option:: -g0
2413
2414.. option:: -g2
2415
2416.. option:: -g3
2417
2418.. option:: -ggdb0
2419
2420.. option:: -ggdb1
2421
2422.. option:: -ggdb2
2423
2424.. option:: -ggdb3
2425
2426.. option:: -gline-tables-only, -g1, -gmlt
2427
2428Emit debug line number tables only
2429
2430.. option:: -gmodules
2431
2432Generate debug info with external references to clang modules or precompiled headers
2433
2434Debugger to tune debug information for
2435______________________________________
2436.. option:: -ggdb
2437
2438.. option:: -glldb
2439
2440.. option:: -gsce
2441
2442Debug information flags
2443-----------------------
2444.. option:: -gcolumn-info, -gno-column-info
2445
2446.. option:: -gdwarf-aranges
2447
2448.. option:: -ggnu-pubnames
2449
2450.. option:: -grecord-gcc-switches, -gno-record-gcc-switches
2451
2452.. option:: -gsplit-dwarf
2453
2454.. option:: -gstrict-dwarf, -gno-strict-dwarf
2455
2456.. 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
2466Static analyzer flags
2467=====================
2468
2469Flags controlling the behavior of the Clang Static Analyzer.
2470
2471.. option:: -Xanalyzer <arg>
2472
2473Pass <arg> to the static analyzer
2474
2475Fortran compilation flags
2476=========================
2477
2478Flags that will be passed onto the ``gfortran`` compiler when Clang is given
2479a Fortran input.
2480
2481.. option:: -A<arg>, --assert <arg>, --assert=<arg>
2482
2483.. option:: -A-<arg>
2484
2485.. option:: -J<arg>
2486
2487.. option:: -cpp
2488
2489.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination
2490
2491.. option:: -falign-commons, -fno-align-commons
2492
2493.. option:: -fall-intrinsics, -fno-all-intrinsics
2494
2495.. option:: -fautomatic, -fno-automatic
2496
2497.. option:: -fbackslash, -fno-backslash
2498
2499.. option:: -fbacktrace, -fno-backtrace
2500
2501.. option:: -fblas-matmul-limit=<arg>
2502
2503.. option:: -fbounds-check, -fno-bounds-check
2504
2505.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries
2506
2507.. option:: -fcheck=<arg>
2508
2509.. option:: -fcoarray=<arg>
2510
2511.. option:: -fconvert=<arg>
2512
2513.. option:: -fcray-pointer, -fno-cray-pointer
2514
2515.. option:: -fd-lines-as-code, -fno-d-lines-as-code
2516
2517.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments
2518
2519.. option:: -fdefault-double-8, -fno-default-double-8
2520
2521.. option:: -fdefault-integer-8, -fno-default-integer-8
2522
2523.. option:: -fdefault-real-8, -fno-default-real-8
2524
2525.. option:: -fdollar-ok, -fno-dollar-ok
2526
2527.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized
2528
2529.. option:: -fdump-fortran-original, -fno-dump-fortran-original
2530
2531.. option:: -fdump-parse-tree, -fno-dump-parse-tree
2532
2533.. option:: -fexternal-blas, -fno-external-blas
2534
2535.. option:: -ff2c, -fno-f2c
2536
2537.. option:: -ffixed-form, -fno-fixed-form
2538
2539.. option:: -ffixed-line-length-<arg>
2540
2541.. option:: -ffpe-trap=<arg>
2542
2543.. option:: -ffree-form, -fno-free-form
2544
2545.. option:: -ffree-line-length-<arg>
2546
2547.. option:: -ffrontend-optimize, -fno-frontend-optimize
2548
2549.. option:: -fimplicit-none, -fno-implicit-none
2550
2551.. option:: -finit-character=<arg>
2552
2553.. option:: -finit-integer=<arg>
2554
2555.. option:: -finit-local-zero, -fno-init-local-zero
2556
2557.. option:: -finit-logical=<arg>
2558
2559.. option:: -finit-real=<arg>
2560
2561.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8
2562
2563.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path
2564
2565.. option:: -fmax-array-constructor=<arg>
2566
2567.. option:: -fmax-errors=<arg>
2568
2569.. option:: -fmax-identifier-length, -fno-max-identifier-length
2570
2571.. option:: -fmax-stack-var-size=<arg>
2572
2573.. option:: -fmax-subrecord-length=<arg>
2574
2575.. option:: -fmodule-private, -fno-module-private
2576
2577.. option:: -fpack-derived, -fno-pack-derived
2578
2579.. option:: -fprotect-parens, -fno-protect-parens
2580
2581.. option:: -frange-check, -fno-range-check
2582
2583.. option:: -freal-4-real-10, -fno-real-4-real-10
2584
2585.. option:: -freal-4-real-16, -fno-real-4-real-16
2586
2587.. option:: -freal-4-real-8, -fno-real-4-real-8
2588
2589.. option:: -freal-8-real-10, -fno-real-8-real-10
2590
2591.. option:: -freal-8-real-16, -fno-real-8-real-16
2592
2593.. option:: -freal-8-real-4, -fno-real-8-real-4
2594
2595.. option:: -frealloc-lhs, -fno-realloc-lhs
2596
2597.. option:: -frecord-marker=<arg>
2598
2599.. option:: -frecursive, -fno-recursive
2600
2601.. option:: -frepack-arrays, -fno-repack-arrays
2602
2603.. option:: -fsecond-underscore, -fno-second-underscore
2604
2605.. option:: -fsign-zero, -fno-sign-zero
2606
2607.. option:: -fstack-arrays, -fno-stack-arrays
2608
2609.. option:: -funderscoring, -fno-underscoring
2610
2611.. option:: -fwhole-file, -fno-whole-file
2612
2613.. option:: -nocpp
2614
2615.. option:: -static-libgfortran
2616
2617Linker 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
2631.. option:: -Tbss<addr>
2632
2633Set starting address of BSS to <addr>
2634
2635.. option:: -Tdata<addr>
2636
2637Set starting address of BSS to <addr>
2638
2639.. option:: -Ttext<addr>
2640
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
2683