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