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