2 -------------------------------------------------------------------
3 NOTE: This file is automatically generated by running clang-tblgen
4 -gen-opt-docs. Do not edit this file by hand!!
5 -------------------------------------------------------------------
7 =====================================
8 Clang command line argument reference
9 =====================================
16 This page lists the command line arguments currently supported by the
17 GCC-compatible ``clang`` and ``clang++`` drivers.
21 .. option:: -B<dir>, --prefix <arg>, --prefix=<arg>
23 Add <dir> to search path for binaries and object files used implicitly
27 Add directory to framework include search path
31 Treat source input files as Objective-C inputs
37 Treat source input files as Objective-C++ inputs
41 Do not emit metadata containing compiler name and version
43 .. option:: -Qunused-arguments
45 Don't emit warning for unused driver arguments
49 Emit metadata containing compiler name and version
51 .. option:: -Wa,<arg>,<arg2>...
53 Pass the comma separated arguments in <arg> to the assembler
55 .. option:: -Wlarge-by-value-copy=<arg>
57 .. option:: -Xarch\_<arg1> <arg2>
59 .. option:: -Xcuda-fatbinary <arg>
61 Pass <arg> to fatbinary invocation
63 .. option:: -Xcuda-ptxas <arg>
65 Pass <arg> to the ptxas assembler
67 .. option:: -Xopenmp-target <arg>
69 Pass <arg> to the target offloading toolchain.
72 .. option:: -Xopenmp-target=<triple> <arg>
75 Pass <arg> to the target offloading toolchain identified by <triple>.
79 .. option:: -a<arg>, --profile-blocks
81 .. option:: -all\_load
83 .. option:: -allowable\_client <arg>
87 Run the static analyzer
89 .. option:: --analyze-auto
91 .. option:: --analyzer-no-default-checks
93 .. option:: --analyzer-output<arg>
95 Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|text).
97 .. option:: -ansi, --ansi
99 .. option:: -arch <arg>
102 .. option:: -arch\_errors\_fatal
106 .. option:: -arch\_only <arg>
109 .. option:: -arcmt-migrate-emit-errors
111 Emit ARC errors even if the migrator can fix them
113 .. option:: -arcmt-migrate-report-output <arg>
115 Output path for the plist report
117 .. option:: --autocomplete=<arg>
119 .. option:: -bind\_at\_load
124 .. option:: -bundle\_loader <arg>
129 Emit tables required for Windows Control Flow Guard.
131 .. option:: -client\_name<arg>
133 .. option:: -compatibility\_version<arg>
135 .. option:: --config <arg>
137 Specifies configuration file
139 .. option:: --constant-cfstrings
141 .. option:: -coverage, --coverage
143 .. option:: --cuda-compile-host-device
145 Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
147 .. option:: --cuda-device-only
149 Compile CUDA code for device only
151 .. option:: --cuda-gpu-arch=<arg>, --no-cuda-gpu-arch=<arg>
153 CUDA GPU architecture (e.g. sm\_35). May be specified more than once.
155 .. option:: --cuda-host-only
157 Compile CUDA code for host only. Has no effect on non-CUDA compilations.
159 .. option:: --cuda-include-ptx=<arg>, --no-cuda-include-ptx=<arg>
161 Include PTX for the follwing GPU architecture (e.g. sm\_35) or 'all'. May be specified more than once.
163 .. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug
165 Enable device-side debug info generation. Disables ptxas optimizations.
167 .. option:: -current\_version<arg>
169 .. option:: -dead\_strip
171 .. option:: -dependency-dot <arg>
173 Filename to write DOT-formatted header dependencies to
175 .. option:: -dependency-file <arg>
177 Filename (or -) to write dependency output to
179 .. option:: -dumpmachine
181 .. option:: -dumpversion
183 .. option:: --dyld-prefix=<arg>, --dyld-prefix <arg>
185 .. option:: -dylib\_file <arg>
187 .. option:: -dylinker
190 .. option:: -dylinker\_install\_name<arg>
195 .. option:: -dynamiclib
197 .. option:: -emit-ast
199 Emit Clang AST files for source inputs
201 .. option:: -exported\_symbols\_list <arg>
203 .. option:: -faligned-new=<arg>
205 .. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals
207 Use approximate transcendental functions
209 .. option:: -fcuda-flush-denormals-to-zero, -fno-cuda-flush-denormals-to-zero
211 Flush denormal floating point values to zero in CUDA device mode.
213 .. option:: -fcuda-rdc, -fno-cuda-rdc
215 Generate relocatable device code, also known as separate compilation mode.
217 .. option:: -ffixed-r19
219 Reserve the r19 register (Hexagon only)
221 .. option:: -fheinous-gnu-extensions
223 .. option:: -flat\_namespace
225 .. option:: -fopenmp-targets=<arg1>,<arg2>...
227 Specify comma-separated list of triples OpenMP offloading targets to be supported
229 .. option:: -force\_cpusubtype\_ALL
232 .. option:: -force\_flat\_namespace
236 .. option:: -force\_load <arg>
239 .. option:: -framework <arg>
241 .. option:: -frtlib-add-rpath, -fno-rtlib-add-rpath
243 Add -rpath with architecture-specific resource directory to the linker flags
245 .. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg>
247 Use the gcc toolchain at the given directory
249 .. option:: -gcodeview
251 Generate CodeView debug information
253 .. option:: -headerpad\_max\_install\_names<arg>
255 .. option:: -help, --help
257 Display available options
259 .. option:: --help-hidden
261 Display help for hidden options
263 .. option:: -image\_base <arg>
265 .. option:: -index-header-map
267 Make the next included directory (-I or -F) an indexer header map
269 .. option:: -init <arg>
271 .. option:: -install\_name <arg>
273 .. option:: -keep\_private\_externs
275 .. option:: -lazy\_framework <arg>
278 .. option:: -lazy\_library <arg>
281 .. option:: -mbig-endian, -EB
283 .. option:: --migrate
287 .. option:: -mios-simulator-version-min=<arg>, -miphonesimulator-version-min=<arg>
289 .. option:: -mlinker-version=<arg>
291 .. option:: -mlittle-endian, -EL
293 .. option:: -mllvm <arg>
295 Additional arguments to forward to LLVM's option processing
297 .. option:: -module-dependency-dir <arg>
299 Directory to dump module dependencies to
301 .. option:: -mtvos-simulator-version-min=<arg>, -mappletvsimulator-version-min=<arg>
303 .. option:: -multi\_module
305 .. option:: -multiply\_defined <arg>
308 .. option:: -multiply\_defined\_unused <arg>
311 .. option:: -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg>
313 .. option:: --no-cuda-version-check
315 Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
317 .. option:: -no-integrated-cpp, --no-integrated-cpp
319 .. option:: -no\_dead\_strip\_inits\_and\_terms
321 .. option:: -nobuiltininc
323 Disable builtin #include directories
325 .. option:: -nocudainc
327 .. option:: -nocudalib
329 .. option:: -nodefaultlibs
331 .. option:: -nofixprebinding
335 .. option:: -nomultidefs
337 .. option:: -nopie, -no-pie
339 .. option:: -noprebind
341 .. option:: -noseglinkedit
343 .. option:: -nostartfiles
345 .. option:: -nostdinc, --no-standard-includes
348 .. option:: -nostdinc++
351 Disable standard #include directories for the C++ standard library
353 .. option:: -nostdlib, --no-standard-libraries
356 .. option:: -nostdlib++
359 .. option:: -nostdlibinc
361 .. option:: -o<file>, --output <arg>, --output=<arg>
363 Write output to <file>
365 .. option:: -objcmt-atomic-property
367 Make migration to 'atomic' properties
369 .. option:: -objcmt-migrate-all
371 Enable migration to modern ObjC
373 .. option:: -objcmt-migrate-annotation
375 Enable migration to property and method annotations
377 .. option:: -objcmt-migrate-designated-init
379 Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods
381 .. option:: -objcmt-migrate-instancetype
383 Enable migration to infer instancetype for method result type
385 .. option:: -objcmt-migrate-literals
387 Enable migration to modern ObjC literals
389 .. option:: -objcmt-migrate-ns-macros
391 Enable migration to NS\_ENUM/NS\_OPTIONS macros
393 .. option:: -objcmt-migrate-property
395 Enable migration to modern ObjC property
397 .. option:: -objcmt-migrate-property-dot-syntax
399 Enable migration of setter/getter messages to property-dot syntax
401 .. option:: -objcmt-migrate-protocol-conformance
403 Enable migration to add protocol conformance on classes
405 .. option:: -objcmt-migrate-readonly-property
407 Enable migration to modern ObjC readonly property
409 .. option:: -objcmt-migrate-readwrite-property
411 Enable migration to modern ObjC readwrite property
413 .. option:: -objcmt-migrate-subscripting
415 Enable migration to modern ObjC subscripting
417 .. option:: -objcmt-ns-nonatomic-iosonly
419 Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute
421 .. option:: -objcmt-returns-innerpointer-property
423 Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER
425 .. option:: -objcmt-whitelist-dir-path=<arg>, -objcmt-white-list-dir-path=<arg>
427 Only modify files with a filename contained in the provided directory path
431 .. option:: -p, --profile
433 .. option:: -pagezero\_size<arg>
437 Enable mcount instrumentation
441 .. option:: -pipe, --pipe
443 Use pipes between commands, when possible
448 .. option:: -prebind\_all\_twolevel\_modules
453 .. option:: --print-diagnostic-categories
455 .. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg>
457 Print the full library path of <file>
459 .. option:: -print-ivar-layout
461 Enable Objective-C Ivar layout bitmap print trace
463 .. option:: -print-libgcc-file-name, --print-libgcc-file-name
465 Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang\_rt.builtins.\*.a")
467 .. option:: -print-multi-directory, --print-multi-directory
469 .. option:: -print-multi-lib, --print-multi-lib
471 .. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg>
473 Print the full program path of <name>
475 .. option:: -print-resource-dir, --print-resource-dir
477 Print the resource directory pathname
479 .. option:: -print-search-dirs, --print-search-dirs
481 Print the paths used for finding libraries and programs
483 .. option:: -private\_bundle
485 .. option:: -pthread, -no-pthread
487 Support POSIX threads in generated code
489 .. option:: -pthreads
491 .. option:: -rdynamic
493 .. option:: -read\_only\_relocs <arg>
495 .. option:: -relocatable-pch, --relocatable-pch
497 Whether to build a relocatable precompiled header
501 .. option:: -rewrite-legacy-objc
503 Rewrite Legacy Objective-C source to C++
505 .. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg>
507 Compiler runtime library to use
509 .. option:: -save-stats=<arg>, --save-stats=<arg>, -save-stats (equivalent to -save-stats=cwd), --save-stats (equivalent to -save-stats=cwd)
511 Save llvm statistics.
513 .. option:: -save-temps=<arg>, --save-temps=<arg>, -save-temps (equivalent to -save-temps=cwd), --save-temps (equivalent to -save-temps=cwd)
515 Save intermediate compilation results.
517 .. option:: -sectalign <arg1> <arg2> <arg3>
519 .. option:: -sectcreate <arg1> <arg2> <arg3>
521 .. option:: -sectobjectsymbols <arg1> <arg2>
523 .. option:: -sectorder <arg1> <arg2> <arg3>
525 .. option:: -seg1addr<arg>
527 .. option:: -seg\_addr\_table <arg>
530 .. option:: -seg\_addr\_table\_filename <arg>
533 .. option:: -segaddr <arg1> <arg2>
535 .. option:: -segcreate <arg1> <arg2> <arg3>
537 .. option:: -seglinkedit
539 .. option:: -segprot <arg1> <arg2> <arg3>
541 .. option:: -segs\_read\_<arg>
544 .. option:: -segs\_read\_only\_addr <arg>
548 .. option:: -segs\_read\_write\_addr <arg>
551 .. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg>
553 Serialize compiler diagnostics to a file
555 .. option:: -shared, --shared
557 .. option:: -shared-libgcc
559 .. option:: -shared-libsan, -shared-libasan
561 .. option:: -single\_module
563 .. option:: -specs=<arg>, --specs=<arg>
565 .. option:: -static, --static
567 .. option:: -static-libgcc
569 .. option:: -static-libsan
571 .. option:: -static-libstdc++
573 .. option:: -std-default=<arg>
575 .. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg>
577 C++ standard library to use
579 .. option:: -sub\_library<arg>
582 .. option:: -sub\_umbrella<arg>
585 .. option:: --sysroot=<arg>, --sysroot <arg>
587 .. option:: --target-help
589 .. option:: --target=<arg>, -target <arg>
591 Generate code for the given target
595 Time individual commands
597 .. option:: -traditional, --traditional
599 .. option:: -traditional-cpp, --traditional-cpp
601 Enable some traditional CPP emulation
603 .. option:: -twolevel\_namespace
606 .. option:: -twolevel\_namespace\_hints
609 .. option:: -umbrella <arg>
611 .. option:: -unexported\_symbols\_list <arg>
613 .. option:: -v, --verbose
615 Show commands to run and use verbose output
617 .. option:: --verify-debug-info
619 Verify the binary representation of debug output
621 .. option:: --version
623 Print version information
625 .. option:: -w, --no-warnings
627 Suppress all warnings
629 .. option:: -weak-l<arg>
631 .. option:: -weak\_framework <arg>
634 .. option:: -weak\_library <arg>
638 .. option:: -weak\_reference\_mismatches <arg>
641 .. option:: -whatsloaded
645 .. option:: -working-directory<arg>, -working-directory=<arg>
647 Resolve file paths relative to the specified directory
649 .. option:: -x<language>, --language <arg>, --language=<arg>
651 Treat subsequent input files as having type <language>
657 The action to perform on the input.
659 .. option:: -E, --preprocess
661 Only run the preprocessor
663 .. option:: -S, --assemble
665 Only run preprocess and compilation steps
667 .. option:: -c, --compile
669 Only run preprocess, compile, and assemble steps
671 .. option:: -emit-llvm
673 Use the LLVM representation for assembler and object files
675 .. option:: -fsyntax-only
677 .. option:: -module-file-info
679 Provide information about a particular module file
681 .. option:: --precompile
683 Only precompile the input
685 .. option:: -rewrite-objc
687 Rewrite Objective-C source to C++
689 .. option:: -verify-pch
691 Load and verify that a pre-compiled header file is not stale
696 Flags controlling the behavior of Clang during compilation. These flags have
697 no effect during actions that do not perform compilation.
699 .. option:: -Xassembler <arg>
701 Pass <arg> to the assembler
703 .. option:: -Xclang <arg>
705 Pass <arg> to the clang compiler
707 .. option:: -fclang-abi-compat=<version>
709 Attempt to match the ABI of Clang <version>
711 .. option:: -fcomment-block-commands=<arg>,<arg2>...
713 Treat each comma separated argument in <arg> as a documentation comment block command
715 .. option:: -fdeclspec, -fno-declspec
717 Allow \_\_declspec as a keyword
719 .. option:: -fdepfile-entry=<arg>
721 .. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info
723 .. option:: -fdiagnostics-format=<arg>
725 .. option:: -fdiagnostics-parseable-fixits
727 Print fix-its in machine parseable form
729 .. option:: -fdiagnostics-print-source-range-info
731 Print source range spans in numeric form
733 .. option:: -fdiagnostics-show-category=<arg>
735 .. option:: -fdiscard-value-names, -fno-discard-value-names
737 Discard value names in LLVM IR
739 .. option:: -fexperimental-isel, -fno-experimental-isel
741 Enables the experimental global instruction selector
743 .. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager
745 Enables an experimental new pass manager in LLVM.
747 .. option:: -ffine-grained-bitfield-accesses, -fno-fine-grained-bitfield-accesses
749 Use separate accesses for bitfields with legal widths and alignments.
751 .. option:: -finline-functions, -fno-inline-functions
753 Inline suitable functions
755 .. option:: -finline-hint-functions
757 Inline functions which are (explicitly or implicitly) marked inline
759 .. option:: -fno-crash-diagnostics
761 Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
763 .. option:: -fno-sanitize-blacklist
765 Don't use blacklist file for sanitizers
767 .. option:: -fparse-all-comments
769 .. option:: -fsanitize-address-field-padding=<arg>
771 Level of field padding for AddressSanitizer
773 .. option:: -fsanitize-address-globals-dead-stripping
775 Enable linker dead stripping of globals in AddressSanitizer
777 .. option:: -fsanitize-address-poison-class-member-array-new-cookie, -fno-sanitize-address-poison-class-member-array-new-cookie
779 Enable poisoning array cookies when using class member operator new\[\] in AddressSanitizer
781 .. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope
783 Enable use-after-scope detection in AddressSanitizer
785 .. option:: -fsanitize-blacklist=<arg>
787 Path to blacklist file for sanitizers
789 .. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso
791 Enable control flow integrity (CFI) checks for cross-DSO calls.
793 .. option:: -fsanitize-cfi-icall-generalize-pointers
795 Generalize pointers in CFI indirect call type signature checks
797 .. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>...
799 Specify the type of coverage instrumentation for Sanitizers
801 .. option:: -fsanitize-link-c++-runtime
803 .. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins
805 Enable origins tracking in MemorySanitizer
808 .. option:: -fsanitize-memory-track-origins=<arg>
811 Enable origins tracking in MemorySanitizer
813 .. option:: -fsanitize-memory-use-after-dtor, -fno-sanitize-memory-use-after-dtor
815 Enable use-after-destroy detection in MemorySanitizer
817 .. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime
819 .. option:: -fsanitize-recover, -fno-sanitize-recover
822 .. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>...
825 Enable recovery for specified sanitizers
827 .. option:: -fsanitize-stats, -fno-sanitize-stats
829 Enable sanitizer statistics gathering.
831 .. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics
833 Enable atomic operations instrumentation in ThreadSanitizer (default)
835 .. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit
837 Enable function entry/exit instrumentation in ThreadSanitizer (default)
839 .. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access
841 Enable memory access instrumentation in ThreadSanitizer (default)
843 .. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>...
845 Enable trapping for specified sanitizers
847 .. option:: -fsanitize-undefined-strip-path-components=<number>
849 Strip (or keep only, if negative) a given number of path components when emitting check metadata.
851 .. option:: -fsanitize-undefined-trap-on-error, -fno-sanitize-undefined-trap-on-error
853 .. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>...
855 Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
857 .. option:: --param <arg>, --param=<arg>
859 .. option:: -std=<arg>, --std=<arg>, --std <arg>
861 Language standard to compile for
866 Flags controlling the behavior of the Clang preprocessor.
868 .. option:: -C, --comments
870 Include comments in preprocessed output
872 .. option:: -CC, --comments-in-macros
874 Include comments from within macros in preprocessed output
876 .. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg>
878 Define <macro> to <value> (or 1 if <value> omitted)
880 .. option:: -H, --trace-includes
882 Show header includes and nesting depth
884 .. option:: -P, --no-line-commands
886 Disable linemarker output in -E mode
888 .. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg>
890 Undefine macro <macro>
892 .. option:: -Wp,<arg>,<arg2>...
894 Pass the comma separated arguments in <arg> to the preprocessor
896 .. option:: -Xpreprocessor <arg>
898 Pass <arg> to the preprocessor
900 Include path management
901 -----------------------
903 Flags controlling how ``#include``\s are resolved to files.
905 .. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg>
907 Add directory to include search path
909 .. option:: -I-, --include-barrier
911 Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
913 .. option:: --cuda-path-ignore-env
915 Ignore environment variables to detect CUDA installation
917 .. option:: --cuda-path=<arg>
919 CUDA installation path
921 .. option:: -cxx-isystem<directory>
923 Add directory to the C++ SYSTEM include search path
925 .. option:: -fbuild-session-file=<file>
927 Use the last modification time of <file> as the build session timestamp
929 .. option:: -fbuild-session-timestamp=<time since Epoch in seconds>
931 Time when the current build session started
933 .. option:: -fmodule-file=\[<name>=\]<file>
935 Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
937 .. option:: -fmodules-cache-path=<directory>
939 Specify the module cache path
941 .. option:: -fmodules-disable-diagnostic-validation
943 Disable validation of the diagnostic options when loading the module
945 .. option:: -fmodules-prune-after=<seconds>
947 Specify the interval (in seconds) after which a module file will be considered unused
949 .. option:: -fmodules-prune-interval=<seconds>
951 Specify the interval (in seconds) between attempts to prune the module cache
953 .. option:: -fmodules-user-build-path <directory>
955 Specify the module user build path
957 .. option:: -fmodules-validate-once-per-build-session
959 Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
961 .. option:: -fmodules-validate-system-headers, -fno-modules-validate-system-headers
963 Validate the system headers that a module depends on when loading the module
965 .. option:: -fprebuilt-module-path=<directory>
967 Specify the prebuilt module path
969 .. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg>
971 Add directory to AFTER include search path
973 .. option:: -iframework<arg>
975 Add directory to SYSTEM framework search path
977 .. option:: -iframeworkwithsysroot<directory>
979 Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
981 .. option:: -imacros<file>, --imacros<file>, --imacros=<arg>
983 Include macros from file before parsing
985 .. option:: -include<file>, --include<file>, --include=<arg>
987 Include file before parsing
989 .. option:: -include-pch <file>
991 Include precompiled header file
993 .. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg>
995 Set the -iwithprefix/-iwithprefixbefore prefix
997 .. option:: -iquote<directory>
999 Add directory to QUOTE include search path
1001 .. option:: -isysroot<dir>
1003 Set the system root directory (usually /)
1005 .. option:: -isystem<directory>
1007 Add directory to SYSTEM include search path
1009 .. option:: -isystem-after<directory>
1011 Add directory to end of the SYSTEM include search path
1013 .. option:: -ivfsoverlay<arg>
1015 Overlay the virtual filesystem described by file over the real file system
1017 .. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg>
1019 Set directory to SYSTEM include search path with prefix
1021 .. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg>
1023 Set directory to include search path with prefix
1025 .. option:: -iwithsysroot<directory>
1027 Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
1029 .. option:: --ptxas-path=<arg>
1031 Path to ptxas (used for compiling CUDA code)
1033 .. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg>
1035 Treat all #include paths starting with <prefix> as including a system header.
1037 Dependency file generation
1038 --------------------------
1040 Flags controlling generation of a dependency file for ``make``-like build
1043 .. option:: -M, --dependencies
1045 Like -MD, but also implies -E and writes to stdout by default
1047 .. option:: -MD, --write-dependencies
1049 Write a depfile containing user and system headers
1051 .. option:: -MF<file>
1053 Write depfile output from -MMD, -MD, -MM, or -M to <file>
1055 .. option:: -MG, --print-missing-file-dependencies
1057 Add missing headers to depfile
1059 .. option:: -MJ<arg>
1061 Write a compilation database entry per input
1063 .. option:: -MM, --user-dependencies
1065 Like -MMD, but also implies -E and writes to stdout by default
1067 .. option:: -MMD, --write-user-dependencies
1069 Write a depfile containing user headers
1073 Create phony target for each dependency (other than main file)
1075 .. option:: -MQ<arg>
1077 Specify name of main file output to quote in depfile
1079 .. option:: -MT<arg>
1081 Specify name of main file output in depfile
1085 Use NMake/Jom format for the depfile
1087 Dumping preprocessor state
1088 --------------------------
1090 Flags allowing the state of the preprocessor to be dumped in various ways.
1102 Print macro definitions in -E mode in addition to normal output
1106 Print include directives in -E mode in addition to normal output
1110 Print macro definitions in -E mode instead of normal output
1115 Flags controlling which warnings, errors, and remarks Clang will generate.
1116 See the :doc:`full list of warning and remark flags <DiagnosticsReference>`.
1118 .. option:: -R<remark>
1120 Enable the specified remark
1122 .. option:: -Rpass-analysis=<arg>
1124 Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
1126 .. option:: -Rpass-missed=<arg>
1128 Report missed transformations by optimization passes whose name matches the given POSIX regular expression
1130 .. option:: -Rpass=<arg>
1132 Report transformations performed by optimization passes whose name matches the given POSIX regular expression
1134 .. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg>
1136 Enable the specified warning
1138 .. option:: -Wdeprecated, -Wno-deprecated
1140 Enable warnings for deprecated constructs and define \_\_DEPRECATED
1142 .. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg>
1144 Target-independent compilation options
1145 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1146 .. option:: -Wframe-larger-than=<arg>
1148 .. option:: -fPIC, -fno-PIC
1150 .. option:: -fPIE, -fno-PIE
1152 .. option:: -faccess-control, -fno-access-control
1154 .. option:: -falign-functions, -fno-align-functions
1157 .. option:: -falign-functions=<arg>
1161 .. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation
1164 Enable C++17 aligned allocation functions
1166 .. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders
1168 Treat editor placeholders as valid source code
1170 .. option:: -fallow-unsupported
1172 .. option:: -faltivec, -fno-altivec
1174 .. option:: -fansi-escape-codes
1176 Use ANSI escape codes for diagnostics
1178 .. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables
1180 Use Apple's kernel extensions ABI
1182 .. option:: -fapple-pragma-pack, -fno-apple-pragma-pack
1184 Enable Apple gcc-compatible #pragma pack handling
1186 .. option:: -fapplication-extension, -fno-application-extension
1188 Restrict code to those available for App Extensions
1190 .. option:: -fasm, -fno-asm
1192 .. option:: -fasm-blocks, -fno-asm-blocks
1194 .. option:: -fassociative-math, -fno-associative-math
1196 .. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new
1204 .. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables
1206 .. option:: -fautolink, -fno-autolink
1208 .. option:: -fblocks, -fno-blocks
1210 Enable the 'blocks' language feature
1212 .. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg>
1214 .. option:: -fborland-extensions, -fno-borland-extensions
1216 Accept non-standard constructs supported by the Borland compiler
1218 .. option:: -fbracket-depth=<arg>
1220 .. option:: -fbuiltin, -fno-builtin
1222 .. option:: -fbuiltin-module-map
1224 Load the clang builtins module map file.
1226 .. option:: -fcaret-diagnostics, -fno-caret-diagnostics
1228 .. option:: -fcf-protection=<arg>, -fcf-protection (equivalent to -fcf-protection=full)
1230 Instrument control-flow architecture protection. Options: return, branch, full, none.
1232 .. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg>
1234 .. option:: -fcolor-diagnostics, -fno-color-diagnostics
1236 Use colors in diagnostics
1238 .. option:: -fcommon, -fno-common
1240 .. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg>
1242 .. option:: -fconstant-cfstrings, -fno-constant-cfstrings
1244 .. option:: -fconstant-string-class=<arg>
1246 .. option:: -fconstexpr-backtrace-limit=<arg>
1248 .. option:: -fconstexpr-depth=<arg>
1250 .. option:: -fconstexpr-steps=<arg>
1252 .. option:: -fcoroutines-ts, -fno-coroutines-ts
1254 Enable support for the C++ Coroutines TS
1256 .. option:: -fcoverage-mapping, -fno-coverage-mapping
1258 Generate coverage mapping to enable code coverage analysis
1260 .. option:: -fcreate-profile
1262 .. option:: -fcxx-exceptions, -fno-cxx-exceptions
1264 Enable C++ exceptions
1266 .. option:: -fcxx-modules, -fno-cxx-modules
1268 .. option:: -fdata-sections, -fno-data-sections
1270 Place each data in its own section (ELF Only)
1272 .. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling
1274 Emit extra debug info to make sample profile more accurate.
1276 .. option:: -fdebug-macro, -fno-debug-macro
1278 Emit macro debug information
1280 .. option:: -fdebug-pass-arguments
1282 .. option:: -fdebug-pass-structure
1284 .. option:: -fdebug-prefix-map=<arg>
1286 remap file source paths in debug info
1288 .. option:: -fdebug-types-section, -fno-debug-types-section
1290 Place debug types in their own section (ELF Only)
1292 .. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing
1294 Parse templated function definitions at the end of the translation unit
1296 .. option:: -fdenormal-fp-math=<arg>
1298 .. option:: -fdiagnostics-absolute-paths
1300 Print absolute paths in diagnostics
1302 .. option:: -fdiagnostics-color, -fno-diagnostics-color
1305 .. option:: -fdiagnostics-color=<arg>
1308 .. option:: -fdiagnostics-hotness-threshold=<number>
1310 Prevent optimization remarks from being output if they do not have at least this profile count
1312 .. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness
1314 Enable profile hotness information in diagnostic line
1316 .. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack
1318 Display include stacks for diagnostic notes
1320 .. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option
1322 Print option name with mappable diagnostics
1324 .. option:: -fdiagnostics-show-template-tree
1326 Print a template comparison tree for differing templates
1328 .. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers
1330 Allow '$' in identifiers
1332 .. option:: -fdouble-square-bracket-attributes, -fno-double-square-bracket-attributes
1334 Enable '\[\[\]\]' attributes in all C and C++ language modes
1336 .. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm
1338 .. option:: -fdwarf-exceptions
1340 Use DWARF style exceptions
1342 .. option:: -felide-constructors, -fno-elide-constructors
1344 .. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols
1346 .. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker)
1348 Embed LLVM bitcode (option: off, all, bitcode, marker)
1350 .. option:: -femit-all-decls
1352 Emit all declarations, even if unused
1354 .. option:: -femulated-tls, -fno-emulated-tls
1356 Use emutls functions to access thread\_local variables
1358 .. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg>
1360 .. option:: -ferror-limit=<arg>
1362 .. option:: -fescaping-block-tail-calls, -fno-escaping-block-tail-calls
1364 .. option:: -fexceptions, -fno-exceptions
1366 Enable support for exception handling
1368 .. option:: -fexec-charset=<arg>
1370 .. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg>
1372 .. option:: -ffast-math, -fno-fast-math
1374 Allow aggressive, lossy floating-point optimizations
1376 .. option:: -ffinite-math-only, -fno-finite-math-only
1378 .. option:: -ffor-scope, -fno-for-scope
1380 .. option:: -fforce-enable-int128, -fno-force-enable-int128
1382 Enable support for int128\_t type
1384 .. option:: -ffp-contract=<arg>
1386 Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma, default) \| off (never fuse)
1388 .. option:: -ffreestanding
1390 Assert that the compilation takes place in a freestanding environment
1392 .. option:: -ffunction-sections, -fno-function-sections
1394 Place each function in its own section (ELF Only)
1396 .. option:: -fgnu-inline-asm, -fno-gnu-inline-asm
1398 .. option:: -fgnu-keywords, -fno-gnu-keywords
1400 Allow GNU-extension keywords regardless of language standard
1402 .. option:: -fgnu-runtime
1404 Generate output compatible with the standard GNU Objective-C runtime
1406 .. option:: -fgnu89-inline, -fno-gnu89-inline
1408 Use the gnu89 inline semantics
1410 .. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities
1412 .. option:: -fhonor-nans, -fno-honor-nans
1414 .. option:: -fhosted
1416 .. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps
1418 Implicitly search the file system for module map files.
1420 .. option:: -fimplicit-modules, -fno-implicit-modules
1422 .. option:: -finput-charset=<arg>
1424 .. option:: -finstrument-function-entry-bare
1426 Instrument function entry only, after inlining, without arguments to the instrumentation call
1428 .. option:: -finstrument-functions
1430 Generate calls to instrument function entry and exit
1432 .. option:: -finstrument-functions-after-inlining
1434 Like -finstrument-functions, but insert the calls after inlining
1436 .. option:: -fintegrated-as, -fno-integrated-as, -integrated-as
1438 Enable the integrated assembler
1440 .. option:: -fjump-tables, -fno-jump-tables
1442 .. option:: -flax-vector-conversions, -fno-lax-vector-conversions
1444 .. option:: -flimited-precision=<arg>
1446 .. option:: -flto, -fno-lto
1448 Enable LTO in 'full' mode
1450 .. option:: -flto-jobs=<arg>
1452 Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
1455 .. option:: -flto=<arg>
1458 Set LTO mode to either 'full' or 'thin'
1460 .. option:: -fmacro-backtrace-limit=<arg>
1462 .. option:: -fmath-errno, -fno-math-errno
1464 Require math functions to indicate errors by setting errno
1466 .. option:: -fmax-type-align=<arg>
1468 Specify the maximum alignment to enforce on pointers lacking an explicit alignment
1470 .. option:: -fmerge-all-constants, -fno-merge-all-constants
1472 Allow merging of constants
1474 .. option:: -fmessage-length=<arg>
1476 .. option:: -fmodule-file-deps, -fno-module-file-deps
1478 .. option:: -fmodule-map-file=<file>
1480 Load this module map file
1482 .. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg>
1484 Specify the name of the module to build
1486 .. option:: -fmodules, -fno-modules
1488 Enable the 'modules' language feature
1490 .. option:: -fmodules-decluse, -fno-modules-decluse
1492 Require declaration of modules used within a module
1494 .. option:: -fmodules-ignore-macro=<arg>
1496 Ignore the definition of the given macro when building and loading modules
1498 .. option:: -fmodules-search-all, -fno-modules-search-all
1500 Search even non-imported modules to resolve references
1502 .. option:: -fmodules-strict-decluse
1504 Like -fmodules-decluse but requires all headers to be in modules
1506 .. option:: -fmodules-ts
1508 Enable support for the C++ Modules TS
1510 .. option:: -fms-compatibility, -fno-ms-compatibility
1512 Enable full Microsoft Visual C++ compatibility
1514 .. option:: -fms-compatibility-version=<arg>
1516 Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1518 .. option:: -fms-extensions, -fno-ms-extensions
1520 Accept some non-standard constructs supported by the Microsoft compiler
1522 .. option:: -fms-memptr-rep=<arg>
1524 .. option:: -fms-volatile<arg>
1526 .. option:: -fmsc-version=<arg>
1528 Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1530 .. option:: -fmudflap
1532 .. option:: -fmudflapth
1534 .. option:: -fnested-functions
1536 .. option:: -fnew-alignment=<align>, -fnew-alignment <arg>
1538 Specifies the largest alignment guaranteed by '::operator new(size\_t)'
1540 .. option:: -fnext-runtime
1542 .. option:: -fno-builtin-<arg>
1544 Disable implicit builtin knowledge of a specific function
1546 .. option:: -fdelete-null-pointer-checks, -fno-delete-null-pointer-checks
1548 When enabled, treat null pointer dereference, creation of a reference to null,
1549 or passing a null pointer to a function parameter annotated with the "nonnull"
1550 attribute as undefined behavior. (And, thus the optimizer may assume that any
1551 pointer used in such a way must not have been null and optimize away the
1552 branches accordingly.) On by default.
1554 .. option:: -fno-elide-type
1556 Do not elide types when printing diagnostics
1558 .. option:: -fno-max-type-align
1560 .. option:: -fno-operator-names
1562 Do not treat C++ operator name keywords as synonyms for operators
1564 .. option:: -fno-rtti-data
1566 Control emission of RTTI data
1568 .. option:: -fno-strict-modules-decluse
1570 .. option:: -fno-working-directory
1572 .. option:: -fnoxray-link-deps
1574 .. option:: -fobjc-abi-version=<arg>
1576 .. option:: -fobjc-arc, -fno-objc-arc
1578 Synthesize retain and release calls for Objective-C pointers
1580 .. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions
1582 Use EH-safe code when synthesizing retains and releases in -fobjc-arc
1584 .. option:: -fobjc-exceptions, -fno-objc-exceptions
1586 Enable Objective-C exceptions
1588 .. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type
1590 .. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch
1592 .. option:: -fobjc-link-runtime
1594 .. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi
1596 .. option:: -fobjc-nonfragile-abi-version=<arg>
1598 .. option:: -fobjc-runtime=<arg>
1600 Specify the target Objective-C runtime kind and version
1602 .. option:: -fobjc-sender-dependent-dispatch
1604 .. option:: -fobjc-weak, -fno-objc-weak
1606 Enable ARC-style weak references in Objective-C
1608 .. option:: -fomit-frame-pointer, -fno-omit-frame-pointer
1610 .. option:: -fopenmp, -fno-openmp
1612 Parse OpenMP pragmas and generate parallel code.
1614 .. option:: -fopenmp-simd, -fno-openmp-simd
1616 Emit OpenMP code only for SIMD-based constructs.
1618 .. option:: -fopenmp-version=<arg>
1621 .. option:: -fopenmp=<arg>
1624 .. option:: -foperator-arrow-depth=<arg>
1626 .. option:: -foptimization-record-file=<arg>
1628 Specify the file name of any generated YAML optimization record
1630 .. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls
1632 .. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg>
1634 .. option:: -fpack-struct, -fno-pack-struct
1637 .. option:: -fpack-struct=<arg>
1640 Specify the default maximum struct packing alignment
1642 .. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings
1644 Recognize and construct Pascal-style string literals
1646 .. option:: -fpcc-struct-return
1648 Override the default ABI to return all structs on the stack
1650 .. option:: -fpch-preprocess
1652 .. option:: -fpic, -fno-pic
1654 .. option:: -fpie, -fno-pie
1656 .. option:: -fplt, -fno-plt
1658 Use the PLT to make function calls
1660 .. option:: -fplugin=<dsopath>
1662 Load the named plugin (dynamic shared object)
1664 .. option:: -fpreserve-as-comments, -fno-preserve-as-comments
1666 .. option:: -fprofile-arcs, -fno-profile-arcs
1668 .. option:: -fprofile-dir=<arg>
1670 .. option:: -fprofile-generate, -fno-profile-generate
1672 Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1675 .. option:: -fprofile-generate=<directory>
1678 Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1680 .. option:: -fprofile-instr-generate, -fno-profile-instr-generate
1682 Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)
1685 .. option:: -fprofile-instr-generate=<file>
1688 Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var)
1690 .. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use
1693 .. option:: -fprofile-instr-use=<arg>
1696 Use instrumentation data for profile-guided optimization
1698 .. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate
1700 Specifies that the sample profile is accurate. If the sample
1701 profile is accurate, callsites without profile samples are marked
1702 as cold. Otherwise, treat callsites without profile samples as if
1705 .. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use
1708 .. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg>
1711 Enable sample-based profile guided optimizations
1714 .. option:: -fprofile-use=<pathname>
1717 Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
1719 .. option:: -freciprocal-math, -fno-reciprocal-math
1721 Allow division operations to be reassociated
1723 .. option:: -freg-struct-return
1725 Override the default ABI to return small structs in registers
1727 .. option:: -fregister-global-dtors-with-atexit, -fno-register-global-dtors-with-atexit
1729 Use atexit or \_\_cxa\_atexit to register global destructors
1731 .. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args
1733 Enable C++17 relaxed template template argument matching
1735 .. option:: -freroll-loops, -fno-reroll-loops
1737 Turn on loop reroller
1739 .. option:: -fretain-comments-from-system-headers
1741 .. option:: -frewrite-imports, -fno-rewrite-imports
1743 .. option:: -frewrite-includes, -fno-rewrite-includes
1745 .. option:: -frewrite-map-file <arg>
1748 .. option:: -frewrite-map-file=<arg>
1751 .. option:: -fropi, -fno-ropi
1753 .. option:: -frtti, -fno-rtti
1755 .. option:: -frwpi, -fno-rwpi
1757 .. option:: -fsave-optimization-record, -fno-save-optimization-record
1759 Generate a YAML optimization record file
1761 .. option:: -fseh-exceptions
1763 Use SEH style exceptions
1765 .. option:: -fshort-enums, -fno-short-enums
1767 Allocate to an enum type only as many bytes as it needs for the declared range of possible values
1769 .. option:: -fshort-wchar, -fno-short-wchar
1771 Force wchar\_t to be a short unsigned int
1773 .. option:: -fshow-column, -fno-show-column
1775 .. option:: -fshow-overloads=<arg>
1777 Which overload candidates to show when overload resolution fails: best\|all; defaults to all
1779 .. option:: -fshow-source-location, -fno-show-source-location
1781 .. option:: -fsignaling-math, -fno-signaling-math
1783 .. option:: -fsigned-bitfields
1785 .. option:: -fsigned-char, -fno-signed-char, --signed-char
1787 .. option:: -fsigned-zeros, -fno-signed-zeros
1789 .. option:: -fsized-deallocation, -fno-sized-deallocation
1791 Enable C++14 sized global deallocation functions
1793 .. option:: -fsjlj-exceptions
1795 Use SjLj style exceptions
1797 .. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize
1799 Enable the superword-level parallelism vectorization passes
1801 .. option:: -fspell-checking, -fno-spell-checking
1803 .. option:: -fspell-checking-limit=<arg>
1805 .. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining
1807 Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
1809 .. option:: -fsplit-stack
1811 .. option:: -fstack-protector, -fno-stack-protector
1813 Enable stack protectors for functions potentially vulnerable to stack smashing
1815 .. option:: -fstack-protector-all
1817 Force the usage of stack protectors for all functions
1819 .. option:: -fstack-protector-strong
1821 Use a strong heuristic to apply stack protectors to functions
1823 .. option:: -fstack-size-section, -fno-stack-size-section
1825 Emit section containing metadata on function stack sizes
1827 .. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug
1829 Emit full debug info for all types used by the program
1831 .. option:: -fstrict-aliasing, -fno-strict-aliasing
1833 .. option:: -fstrict-enums, -fno-strict-enums
1835 Enable optimizations based on the strict definition of an enum's value range
1837 .. option:: -fstrict-overflow, -fno-strict-overflow
1839 .. option:: -fstrict-return, -fno-strict-return
1841 Always treat control flow paths that fall off the end of a non-void function as unreachable
1843 .. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers
1845 Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
1847 .. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa
1849 .. option:: -ftabstop=<arg>
1851 .. option:: -ftemplate-backtrace-limit=<arg>
1853 .. option:: -ftemplate-depth-<arg>
1855 .. option:: -ftemplate-depth=<arg>
1857 .. option:: -ftest-coverage
1859 .. option:: -fthinlto-index=<arg>
1861 Perform ThinLTO importing using provided function summary index
1863 .. option:: -fthreadsafe-statics, -fno-threadsafe-statics
1865 .. option:: -ftime-report
1867 .. option:: -ftls-model=<arg>
1869 .. option:: -ftrap-function=<arg>
1871 Issue call to specified function rather than a trap instruction
1873 .. option:: -ftrapping-math, -fno-trapping-math
1877 Trap on integer overflow
1879 .. option:: -ftrapv-handler <arg>
1882 .. option:: -ftrapv-handler=<function name>
1885 Specify the function to be called on overflow
1887 .. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs
1889 Process trigraph sequences
1891 .. option:: -funique-section-names, -fno-unique-section-names
1893 Use unique names for text and data sections (ELF Only)
1895 .. option:: -funit-at-a-time, -fno-unit-at-a-time
1897 .. option:: -funroll-loops, -fno-unroll-loops
1899 Turn on loop unroller
1901 .. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations
1903 .. option:: -funsigned-bitfields
1905 .. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char
1907 .. option:: -funwind-tables, -fno-unwind-tables
1909 .. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit
1911 .. option:: -fuse-init-array, -fno-use-init-array
1913 Use .init\_array instead of .ctors
1915 .. option:: -fuse-ld=<arg>
1917 .. option:: -fuse-line-directives, -fno-use-line-directives
1919 .. option:: -fveclib=<arg>
1921 Use the given vector functions library
1923 .. option:: -fvectorize, -fno-vectorize, -ftree-vectorize
1925 Enable the loop vectorization passes
1927 .. option:: -fverbose-asm, -fno-verbose-asm
1929 .. option:: -fvisibility-inlines-hidden
1931 Give inline C++ member functions hidden visibility by default
1933 .. option:: -fvisibility-ms-compat
1935 Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
1937 .. option:: -fvisibility=<arg>
1939 Set the default symbol visibility for all global declarations
1941 .. option:: -fwhole-program-vtables, -fno-whole-program-vtables
1943 Enables whole-program vtable optimization. Requires -flto
1945 .. option:: -fforce-emit-vtables, -fno-force-emit-vtables
1947 In order to improve devirtualization, forces emitting of vtables even in
1948 modules where it isn't necessary. It causes more inline virtual functions
1951 .. option:: -fwrapv, -fno-wrapv
1953 Treat signed integer overflow as two's complement
1955 .. option:: -fwritable-strings
1957 Store string literals as writable data
1959 .. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents
1961 Determine whether to always emit \_\_xray\_customevent(...) calls even if the function it appears in is not always instrumented.
1963 .. option:: -fxray-always-emit-typedevents, -fno-xray-always-emit-typedevents
1965 Determine whether to always emit \_\_xray\_typedevent(...) calls even if the function it appears in is not always instrumented.
1967 .. option:: -fxray-always-instrument=<arg>
1969 DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
1971 .. option:: -fxray-attr-list=<arg>
1973 Filename defining the list of functions/types for imbuing XRay attributes.
1975 .. option:: -fxray-instruction-threshold<arg>
1978 .. option:: -fxray-instruction-threshold=<arg>
1981 Sets the minimum function size to instrument with XRay
1983 .. option:: -fxray-instrument, -fno-xray-instrument
1985 Generate XRay instrumentation sleds on function entry and exit
1987 .. option:: -fxray-instrumentation-bundle=<arg>
1989 Select which XRay instrumentation points to emit. Options: all, none, function, custom. Default is 'all'.
1991 .. option:: -fxray-link-deps
1993 Tells clang to add the link dependencies for XRay.
1995 .. option:: -fxray-modes=<arg>
1997 List of modes to link in by default into XRay instrumented binaries.
1999 .. option:: -fxray-never-instrument=<arg>
2001 DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
2003 .. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss
2005 .. option:: -fzvector, -fno-zvector, -mzvector
2007 Enable System z vector language extension
2009 .. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic
2011 .. option:: -pedantic-errors, --pedantic-errors
2015 .. option:: -cl-denorms-are-zero
2017 OpenCL only. Allow denormals to be flushed to zero.
2019 .. option:: -cl-fast-relaxed-math
2021 OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_.
2023 .. option:: -cl-finite-math-only
2025 OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
2027 .. option:: -cl-fp32-correctly-rounded-divide-sqrt
2029 OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
2031 .. option:: -cl-kernel-arg-info
2033 OpenCL only. Generate kernel argument metadata.
2035 .. option:: -cl-mad-enable
2037 OpenCL only. Allow use of less precise MAD computations in the generated binary.
2039 .. option:: -cl-no-signed-zeros
2041 OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
2043 .. option:: -cl-opt-disable
2045 OpenCL only. This option disables all optimizations. By default optimizations are enabled.
2047 .. option:: -cl-single-precision-constant
2049 OpenCL only. Treat double precision floating-point constant as single precision constant.
2051 .. option:: -cl-std=<arg>
2053 OpenCL language standard to compile for.
2055 .. option:: -cl-strict-aliasing
2057 OpenCL only. This option is added for compatibility with OpenCL 1.0.
2059 .. option:: -cl-uniform-work-group-size
2061 OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
2063 .. option:: -cl-unsafe-math-optimizations
2065 OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
2067 Target-dependent compilation options
2068 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2069 .. option:: -G<size>, -G=<arg>, -msmall-data-threshold=<arg>
2071 Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
2079 .. option:: -mabi=<arg>
2081 .. option:: -mabicalls, -mno-abicalls
2083 Enable SVR4-style position-independent code (Mips only)
2085 .. option:: -mabs=<arg>
2087 .. option:: -malign-double
2089 Align doubles to two words in structs (x86 only)
2091 .. option:: -march=<arg>
2093 .. option:: -masm=<arg>
2095 .. option:: -mbackchain, -mno-backchain
2097 Link stack frames through backchain on System Z
2099 .. option:: -mcheck-zero-division, -mno-check-zero-division
2101 .. option:: -mcmodel=<arg>
2103 .. option:: -mcompact-branches=<arg>
2105 .. option:: -mconsole<arg>
2107 .. 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), -mv65 (equivalent to -mcpu=hexagonv65)
2109 .. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg>
2111 .. option:: -mdll<arg>
2113 .. option:: -mdouble-float
2115 .. option:: -mdsp, -mno-dsp
2117 .. option:: -mdspr2, -mno-dspr2
2119 .. option:: -mdynamic-no-pic<arg>
2121 .. option:: -meabi <arg>
2123 Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
2125 .. option:: -membedded-data, -mno-embedded-data
2127 Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
2129 .. option:: -mextern-sdata, -mno-extern-sdata
2131 Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
2133 .. option:: -mfentry
2135 Insert calls to fentry at function entry (x86 only)
2137 .. option:: -mfloat-abi=<arg>
2141 Use 32-bit floating point registers (MIPS only)
2145 Use 64-bit floating point registers (MIPS only)
2147 .. option:: -mfpmath=<arg>
2149 .. option:: -mfpu=<arg>
2151 .. option:: -mglobal-merge, -mno-global-merge
2153 Enable merging of globals
2155 .. option:: -mgpopt, -mno-gpopt
2157 Use GP relative accesses for symbols known to be in a small data section (MIPS)
2159 .. option:: -mhard-float
2161 .. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg>
2163 .. option:: -miamcu, -mno-iamcu
2167 .. option:: -mimplicit-float, -mno-implicit-float
2169 .. option:: -mimplicit-it=<arg>
2171 .. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible
2173 (integrated-as) Emit an object file which can be used with an incremental linker
2175 .. option:: -mindirect-jump=<arg>
2177 Change indirect jump instructions to inhibit speculation
2179 .. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg>
2183 .. option:: -mkernel
2185 .. option:: -mldc1-sdc1, -mno-ldc1-sdc1
2187 .. option:: -mlocal-sdata, -mno-local-sdata
2189 Extend the -G behaviour to object local data (MIPS)
2191 .. option:: -mlong-calls, -mno-long-calls
2193 Generate branches with extended addressability, usually via indirect jumps.
2195 .. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg>
2197 Set Mac OS X deployment target
2199 .. option:: -mmadd4, -mno-madd4
2201 Enable the generation of 4-operand madd.s, madd.d and related instructions.
2203 .. option:: -mmcu=<arg>
2205 .. option:: -mmicromips, -mno-micromips
2207 .. option:: -mms-bitfields, -mno-ms-bitfields
2209 Set the default structure layout to be compatible with the Microsoft compiler standard
2211 .. option:: -mmsa, -mno-msa
2213 Enable MSA ASE (MIPS only)
2215 .. option:: -mmt, -mno-mt
2217 Enable MT ASE (MIPS only)
2219 .. option:: -mnan=<arg>
2221 .. option:: -mno-mips16
2223 .. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer
2225 Omit frame pointer setup for leaf functions
2227 .. option:: -moslib=<arg>
2229 .. option:: -mpie-copy-relocations, -mno-pie-copy-relocations
2231 Use copy relocations support for PIE builds
2233 .. option:: -mprefer-vector-width=<arg>
2235 Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
2237 .. option:: -mqdsp6-compat
2239 Enable hexagon-qdsp6 backward compatibility
2244 .. option:: -mrecip=<arg1>,<arg2>...
2247 .. option:: -mred-zone, -mno-red-zone
2249 .. option:: -mregparm=<arg>
2251 .. option:: -mrelax-all, -mno-relax-all
2253 (integrated-as) Relax all machine instructions
2255 .. option:: -mrtd, -mno-rtd
2257 Make StdCall calling convention the default
2259 .. option:: -msingle-float
2261 .. option:: -msoft-float, -mno-soft-float
2263 Use software floating point
2265 .. option:: -mstack-alignment=<arg>
2267 Set the stack alignment
2269 .. option:: -mstack-arg-probe, -mno-stack-arg-probe
2273 .. option:: -mstack-probe-size=<arg>
2275 Set the stack probe size
2277 .. option:: -mstackrealign, -mno-stackrealign
2279 Force realign the stack at entry to every function
2281 .. option:: -mthread-model <arg>
2283 The thread model to use, e.g. posix, single (posix by default)
2285 .. option:: -mthreads<arg>
2287 .. option:: -mthumb, -mno-thumb
2289 .. option:: -mtune=<arg>
2291 .. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg>
2293 .. option:: -municode<arg>
2295 .. option:: -mvx, -mno-vx
2297 .. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings
2299 .. option:: -mwatchos-version-min=<arg>
2301 .. option:: -mwindows<arg>
2305 .. option:: -mxgot, -mno-xgot
2309 .. option:: -ffixed-x18
2311 Reserve the x18 register (AArch64 only)
2313 .. option:: -ffixed-x20
2315 Reserve the x20 register (AArch64 only)
2317 .. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769
2319 Workaround Cortex-A53 erratum 835769 (AArch64 only)
2321 .. option:: -mgeneral-regs-only
2323 Generate code which only uses the general purpose registers (AArch64 only)
2327 .. option:: -mxnack, -mno-xnack
2329 Enable XNACK (AMDGPU only)
2333 .. option:: -ffixed-r9
2335 Reserve the r9 register (ARM only)
2339 Allow use of CRC instructions (ARM only)
2341 .. option:: -mexecute-only, -mno-execute-only, -mpure-code
2343 Disallow generation of data access to code sections (ARM only)
2345 .. option:: -mno-movt
2347 Disallow use of movt/movw pairs (ARM only)
2349 .. option:: -mno-neg-immediates
2351 Disallow converting instructions with negative immediates to their negation or inversion.
2355 Disallow use of CRC instructions (ARM only)
2357 .. option:: -mrestrict-it, -mno-restrict-it
2359 Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
2361 .. option:: -mtp=<arg>
2363 Read thread pointer from coprocessor register (ARM only)
2365 .. option:: -munaligned-access, -mno-unaligned-access
2367 Allow memory accesses to be unaligned (AArch32/AArch64 only)
2371 .. option:: -mieee-rnd-near
2373 .. option:: -mpackets, -mno-packets
2375 Enable generation of instruction packets
2379 .. option:: -mhvx, -mno-hvx
2381 Enable Hexagon Vector eXtensions
2383 .. option:: -mhvx-length=<arg>
2385 Set Hexagon Vector Length
2388 .. option:: -mhvx=<arg>
2391 Enable Hexagon Vector eXtensions
2395 .. option:: -maltivec, -mno-altivec
2397 .. option:: -mcmpb, -mno-cmpb
2399 .. option:: -mcrbits, -mno-crbits
2401 .. option:: -mcrypto, -mno-crypto
2403 .. option:: -mdirect-move, -mno-direct-move
2405 .. option:: -mfloat128, -mno-float128
2407 .. option:: -mfprnd, -mno-fprnd
2409 .. option:: -mhtm, -mno-htm
2411 .. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors
2413 .. option:: -misel, -mno-isel
2415 .. option:: -mlongcall, -mno-longcall
2417 .. option:: -mmfocrf, -mmfcrf, -mno-mfocrf
2419 .. option:: -mpopcntd, -mno-popcntd
2421 .. option:: -mpower8-vector, -mno-power8-vector
2423 .. option:: -mpower9-vector, -mno-power9-vector
2425 .. option:: -mqpx, -mno-qpx
2427 .. option:: -msecure-plt
2429 .. option:: -mvsx, -mno-vsx
2433 .. option:: -mexception-handling, -mno-exception-handling
2435 .. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint
2437 .. option:: -msign-ext, -mno-sign-ext
2439 .. option:: -msimd128, -mno-simd128
2443 .. option:: -m3dnow, -mno-3dnow
2445 .. option:: -m3dnowa, -mno-3dnowa
2447 .. option:: -madx, -mno-adx
2449 .. option:: -maes, -mno-aes
2451 .. option:: -mavx, -mno-avx
2453 .. option:: -mavx2, -mno-avx2
2455 .. option:: -mavx512bitalg, -mno-avx512bitalg
2457 .. option:: -mavx512bw, -mno-avx512bw
2459 .. option:: -mavx512cd, -mno-avx512cd
2461 .. option:: -mavx512dq, -mno-avx512dq
2463 .. option:: -mavx512er, -mno-avx512er
2465 .. option:: -mavx512f, -mno-avx512f
2467 .. option:: -mavx512ifma, -mno-avx512ifma
2469 .. option:: -mavx512pf, -mno-avx512pf
2471 .. option:: -mavx512vbmi, -mno-avx512vbmi
2473 .. option:: -mavx512vbmi2, -mno-avx512vbmi2
2475 .. option:: -mavx512vl, -mno-avx512vl
2477 .. option:: -mavx512vnni, -mno-avx512vnni
2479 .. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq
2481 .. option:: -mbmi, -mno-bmi
2483 .. option:: -mbmi2, -mno-bmi2
2485 .. option:: -mcldemote, -mno-cldemote
2487 .. option:: -mclflushopt, -mno-clflushopt
2489 .. option:: -mclwb, -mno-clwb
2491 .. option:: -mclzero, -mno-clzero
2493 .. option:: -mcx16, -mno-cx16
2495 .. option:: -mf16c, -mno-f16c
2497 .. option:: -mfma, -mno-fma
2499 .. option:: -mfma4, -mno-fma4
2501 .. option:: -mfsgsbase, -mno-fsgsbase
2503 .. option:: -mfxsr, -mno-fxsr
2505 .. option:: -mgfni, -mno-gfni
2507 .. option:: -mlwp, -mno-lwp
2509 .. option:: -mlzcnt, -mno-lzcnt
2511 .. option:: -mmmx, -mno-mmx
2513 .. option:: -mmovbe, -mno-movbe
2515 .. option:: -mmovdiri, -mno-movdiri
2517 .. option:: -mmovdir64b, -mno-movdir64b
2519 .. option:: -mmpx, -mno-mpx
2521 .. option:: -mmwaitx, -mno-mwaitx
2523 .. option:: -mpclmul, -mno-pclmul
2525 .. option:: -mpku, -mno-pku
2527 .. option:: -mpopcnt, -mno-popcnt
2529 .. option:: -mprefetchwt1, -mno-prefetchwt1
2531 .. option:: -mprfchw, -mno-prfchw
2533 .. option:: -mrdpid, -mno-rdpid
2535 .. option:: -mrdrnd, -mno-rdrnd
2537 .. option:: -mrdseed, -mno-rdseed
2539 .. option:: -mretpoline, -mno-retpoline
2541 .. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk
2543 .. option:: -mrtm, -mno-rtm
2545 .. option:: -msahf, -mno-sahf
2547 .. option:: -msgx, -mno-sgx
2549 .. option:: -msha, -mno-sha
2551 .. option:: -mshstk, -mno-shstk
2553 .. option:: -msse, -mno-sse
2555 .. option:: -msse2, -mno-sse2
2557 .. option:: -msse3, -mno-sse3
2559 .. option:: -msse4.1, -mno-sse4.1
2562 .. option:: -msse4.2, -mno-sse4.2, -msse4
2565 .. option:: -msse4a, -mno-sse4a
2567 .. option:: -mssse3, -mno-ssse3
2569 .. option:: -mtbm, -mno-tbm
2571 .. option:: -mvaes, -mno-vaes
2573 .. option:: -mvpclmulqdq, -mno-vpclmulqdq
2575 .. option:: -mwaitpkg, -mno-waitpkg
2577 .. option:: -mwbnoinvd, -mno-wbnoinvd
2579 .. option:: -mx87, -m80387, -mno-x87
2581 .. option:: -mxop, -mno-xop
2583 .. option:: -mxsave, -mno-xsave
2585 .. option:: -mxsavec, -mno-xsavec
2587 .. option:: -mxsaveopt, -mno-xsaveopt
2589 .. option:: -mxsaves, -mno-xsaves
2594 Flags controlling how much optimization should be performed.
2596 .. option:: -O<arg>, -O (equivalent to -O2), --optimize, --optimize=<arg>
2598 .. option:: -Ofast<arg>
2600 Debug information generation
2601 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2603 Flags controlling how much and what kind of debug information should be
2606 Kind and level of debug information
2607 -----------------------------------
2608 .. option:: -g, --debug, --debug=<arg>
2610 Generate source-level debug information
2612 .. option:: -gdwarf-2
2614 Generate source-level debug information with dwarf version 2
2616 .. option:: -gdwarf-3
2618 Generate source-level debug information with dwarf version 3
2620 .. option:: -gdwarf-4, -gdwarf
2622 Generate source-level debug information with dwarf version 4
2624 .. option:: -gdwarf-5
2626 Generate source-level debug information with dwarf version 5
2648 .. option:: -gline-tables-only, -g1, -gmlt
2650 Emit debug line number tables only
2652 .. option:: -gmodules
2654 Generate debug info with external references to clang modules or precompiled headers
2656 Debugger to tune debug information for
2657 ______________________________________
2664 Debug information flags
2665 -----------------------
2666 .. option:: -gcolumn-info, -gno-column-info
2668 .. option:: -gdwarf-aranges
2670 .. option:: -gembed-source, -gno-embed-source
2672 Embed source text in DWARF debug sections
2674 .. option:: -ggnu-pubnames
2676 .. option:: -grecord-gcc-switches, -gno-record-gcc-switches
2678 .. option:: -gsplit-dwarf
2680 .. option:: -gstrict-dwarf, -gno-strict-dwarf
2684 DWARF debug sections compression type
2687 .. option:: -gz=<arg>
2690 DWARF debug sections compression type
2692 Static analyzer flags
2693 =====================
2695 Flags controlling the behavior of the Clang Static Analyzer.
2697 .. option:: -Xanalyzer <arg>
2699 Pass <arg> to the static analyzer
2701 Fortran compilation flags
2702 =========================
2704 Flags that will be passed onto the ``gfortran`` compiler when Clang is given
2707 .. option:: -A<arg>, --assert <arg>, --assert=<arg>
2709 .. option:: -A-<arg>
2715 .. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination
2717 .. option:: -falign-commons, -fno-align-commons
2719 .. option:: -fall-intrinsics, -fno-all-intrinsics
2721 .. option:: -fautomatic, -fno-automatic
2723 .. option:: -fbackslash, -fno-backslash
2725 .. option:: -fbacktrace, -fno-backtrace
2727 .. option:: -fblas-matmul-limit=<arg>
2729 .. option:: -fbounds-check, -fno-bounds-check
2731 .. option:: -fcheck-array-temporaries, -fno-check-array-temporaries
2733 .. option:: -fcheck=<arg>
2735 .. option:: -fcoarray=<arg>
2737 .. option:: -fconvert=<arg>
2739 .. option:: -fcray-pointer, -fno-cray-pointer
2741 .. option:: -fd-lines-as-code, -fno-d-lines-as-code
2743 .. option:: -fd-lines-as-comments, -fno-d-lines-as-comments
2745 .. option:: -fdefault-double-8, -fno-default-double-8
2747 .. option:: -fdefault-integer-8, -fno-default-integer-8
2749 .. option:: -fdefault-real-8, -fno-default-real-8
2751 .. option:: -fdollar-ok, -fno-dollar-ok
2753 .. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized
2755 .. option:: -fdump-fortran-original, -fno-dump-fortran-original
2757 .. option:: -fdump-parse-tree, -fno-dump-parse-tree
2759 .. option:: -fexternal-blas, -fno-external-blas
2761 .. option:: -ff2c, -fno-f2c
2763 .. option:: -ffixed-form, -fno-fixed-form
2765 .. option:: -ffixed-line-length-<arg>
2767 .. option:: -ffpe-trap=<arg>
2769 .. option:: -ffree-form, -fno-free-form
2771 .. option:: -ffree-line-length-<arg>
2773 .. option:: -ffrontend-optimize, -fno-frontend-optimize
2775 .. option:: -fimplicit-none, -fno-implicit-none
2777 .. option:: -finit-character=<arg>
2779 .. option:: -finit-integer=<arg>
2781 .. option:: -finit-local-zero, -fno-init-local-zero
2783 .. option:: -finit-logical=<arg>
2785 .. option:: -finit-real=<arg>
2787 .. option:: -finteger-4-integer-8, -fno-integer-4-integer-8
2789 .. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path
2791 .. option:: -fmax-array-constructor=<arg>
2793 .. option:: -fmax-errors=<arg>
2795 .. option:: -fmax-identifier-length, -fno-max-identifier-length
2797 .. option:: -fmax-stack-var-size=<arg>
2799 .. option:: -fmax-subrecord-length=<arg>
2801 .. option:: -fmodule-private, -fno-module-private
2803 .. option:: -fpack-derived, -fno-pack-derived
2805 .. option:: -fprotect-parens, -fno-protect-parens
2807 .. option:: -frange-check, -fno-range-check
2809 .. option:: -freal-4-real-10, -fno-real-4-real-10
2811 .. option:: -freal-4-real-16, -fno-real-4-real-16
2813 .. option:: -freal-4-real-8, -fno-real-4-real-8
2815 .. option:: -freal-8-real-10, -fno-real-8-real-10
2817 .. option:: -freal-8-real-16, -fno-real-8-real-16
2819 .. option:: -freal-8-real-4, -fno-real-8-real-4
2821 .. option:: -frealloc-lhs, -fno-realloc-lhs
2823 .. option:: -frecord-marker=<arg>
2825 .. option:: -frecursive, -fno-recursive
2827 .. option:: -frepack-arrays, -fno-repack-arrays
2829 .. option:: -fsecond-underscore, -fno-second-underscore
2831 .. option:: -fsign-zero, -fno-sign-zero
2833 .. option:: -fstack-arrays, -fno-stack-arrays
2835 .. option:: -funderscoring, -fno-underscoring
2837 .. option:: -fwhole-file, -fno-whole-file
2839 .. option:: -imultilib <arg>
2843 .. option:: -static-libgfortran
2847 Flags that are passed on to the linker
2849 .. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>
2851 Add directory to library search path
2855 .. option:: -T<script>
2857 Specify <script> as linker script
2859 .. option:: -Tbss<addr>
2861 Set starting address of BSS to <addr>
2863 .. option:: -Tdata<addr>
2865 Set starting address of DATA to <addr>
2867 .. option:: -Ttext<addr>
2869 Set starting address of TEXT to <addr>
2871 .. option:: -Wl,<arg>,<arg2>...
2873 Pass the comma separated arguments in <arg> to the linker
2877 .. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>
2879 Pass <arg> to the linker
2885 .. option:: -e<arg>, --entry
2887 .. option:: -filelist <arg>
2893 .. option:: -rpath <arg>
2899 .. option:: -u<arg>, --force-link <arg>, --force-link=<arg>
2903 undef all system defines
2905 .. option:: -undefined<arg>, --no-undefined
2907 .. option:: -z <arg>
2909 Pass -z <arg> to the linker