..
  -------------------------------------------------------------------
  NOTE: This file is automatically generated by running clang-tblgen
  -gen-opt-docs. Do not edit this file by hand!!
  -------------------------------------------------------------------

=====================================
Clang command line argument reference
=====================================
.. contents::
   :local:

Introduction
============

This page lists the command line arguments currently supported by the
GCC-compatible ``clang`` and ``clang++`` drivers.


.. program:: clang
.. option:: -B<dir>, --prefix <arg>, --prefix=<arg>

Add <dir> to search path for binaries and object files used implicitly

.. option:: -F<arg>

Add directory to framework include search path

.. option:: -ObjC

Treat source input files as Objective-C inputs

.. program:: clang1
.. option:: -ObjC++
.. program:: clang

Treat source input files as Objective-C++ inputs

.. option:: -Qn, -fno-ident

Do not emit metadata containing compiler name and version

.. option:: -Qunused-arguments

Don't emit warning for unused driver arguments

.. option:: -Qy, -fident

Emit metadata containing compiler name and version

.. option:: -Wa,<arg>,<arg2>...

Pass the comma separated arguments in <arg> to the assembler

.. option:: -Wlarge-by-value-copy=<arg>

.. option:: -Xarch\_<arg1> <arg2>

.. option:: -Xcuda-fatbinary <arg>

Pass <arg> to fatbinary invocation

.. option:: -Xcuda-ptxas <arg>

Pass <arg> to the ptxas assembler

.. option:: -Xopenmp-target <arg>

Pass <arg> to the target offloading toolchain.

.. program:: clang1
.. option:: -Xopenmp-target=<triple> <arg>
.. program:: clang

Pass <arg> to the target offloading toolchain identified by <triple>.

.. option:: -Z<arg>

.. option:: -a<arg>, --profile-blocks

.. option:: -all\_load

.. option:: -allowable\_client <arg>

.. option:: --analyze

Run the static analyzer

.. option:: --analyze-auto

.. option:: --analyzer-no-default-checks

.. option:: --analyzer-output<arg>

Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|text).

.. option:: -ansi, --ansi

.. option:: -arch <arg>

.. program:: clang1
.. option:: -arch\_errors\_fatal
.. program:: clang

.. program:: clang2
.. option:: -arch\_only <arg>
.. program:: clang

.. option:: -arcmt-migrate-emit-errors

Emit ARC errors even if the migrator can fix them

.. option:: -arcmt-migrate-report-output <arg>

Output path for the plist report

.. option:: --autocomplete=<arg>

.. option:: -bind\_at\_load

.. option:: -bundle

.. program:: clang1
.. option:: -bundle\_loader <arg>
.. program:: clang

.. option:: -cfguard

Emit tables required for Windows Control Flow Guard.

.. option:: -client\_name<arg>

.. option:: -compatibility\_version<arg>

.. option:: --config <arg>

Specifies configuration file

.. option:: --constant-cfstrings

.. option:: -coverage, --coverage

.. option:: --cuda-compile-host-device

Compile CUDA code for both host and device (default).  Has no effect on non-CUDA compilations.

.. option:: --cuda-device-only

Compile CUDA code for device only

.. option:: --cuda-gpu-arch=<arg>, --no-cuda-gpu-arch=<arg>

CUDA GPU architecture (e.g. sm\_35).  May be specified more than once.

.. option:: --cuda-host-only

Compile CUDA code for host only.  Has no effect on non-CUDA compilations.

.. option:: --cuda-include-ptx=<arg>, --no-cuda-include-ptx=<arg>

Include PTX for the follwing GPU architecture (e.g. sm\_35) or 'all'. May be specified more than once.

.. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug

Enable device-side debug info generation. Disables ptxas optimizations.

.. option:: -current\_version<arg>

.. option:: -dead\_strip

.. option:: -dependency-dot <arg>

Filename to write DOT-formatted header dependencies to

.. option:: -dependency-file <arg>

Filename (or -) to write dependency output to

.. option:: -dumpmachine

.. option:: -dumpversion

.. option:: --dyld-prefix=<arg>, --dyld-prefix <arg>

.. option:: -dylib\_file <arg>

.. option:: -dylinker

.. program:: clang1
.. option:: -dylinker\_install\_name<arg>
.. program:: clang

.. option:: -dynamic

.. option:: -dynamiclib

.. option:: -emit-ast

Emit Clang AST files for source inputs

.. option:: -exported\_symbols\_list <arg>

.. option:: -faligned-new=<arg>

.. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals

Use approximate transcendental functions

.. option:: -fcuda-flush-denormals-to-zero, -fno-cuda-flush-denormals-to-zero

Flush denormal floating point values to zero in CUDA device mode.

.. option:: -fcuda-rdc, -fno-cuda-rdc

Generate relocatable device code, also known as separate compilation mode.

.. option:: -fcuda-short-ptr, -fno-cuda-short-ptr

Use 32-bit pointers for accessing const/local/shared address spaces.

.. option:: -ffixed-r19

Reserve register r19 (Hexagon only)

.. option:: -fheinous-gnu-extensions

.. option:: -flat\_namespace

.. option:: -fopenmp-targets=<arg1>,<arg2>...

Specify comma-separated list of triples OpenMP offloading targets to be supported

.. option:: -force\_cpusubtype\_ALL

.. program:: clang1
.. option:: -force\_flat\_namespace
.. program:: clang

.. program:: clang2
.. option:: -force\_load <arg>
.. program:: clang

.. option:: -framework <arg>

.. option:: -frtlib-add-rpath, -fno-rtlib-add-rpath

Add -rpath with architecture-specific resource directory to the linker flags

.. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg>

Use the gcc toolchain at the given directory

.. option:: -gcodeview

Generate CodeView debug information

.. option:: -headerpad\_max\_install\_names<arg>

.. option:: -help, --help

Display available options

.. option:: --help-hidden

Display help for hidden options

.. option:: --hip-link

Link clang-offload-bundler bundles for HIP

.. option:: -image\_base <arg>

.. option:: -index-header-map

Make the next included directory (-I or -F) an indexer header map

.. option:: -init <arg>

.. option:: -install\_name <arg>

.. option:: -keep\_private\_externs

.. option:: -lazy\_framework <arg>

.. program:: clang1
.. option:: -lazy\_library <arg>
.. program:: clang

.. option:: -mbig-endian, -EB

.. option:: --migrate

Run the migrator

.. option:: -mios-simulator-version-min=<arg>, -miphonesimulator-version-min=<arg>

.. option:: -mlinker-version=<arg>

.. option:: -mlittle-endian, -EL

.. option:: -mllvm <arg>

Additional arguments to forward to LLVM's option processing

.. option:: -module-dependency-dir <arg>

Directory to dump module dependencies to

.. option:: -mtvos-simulator-version-min=<arg>, -mappletvsimulator-version-min=<arg>

.. option:: -multi\_module

.. option:: -multiply\_defined <arg>

.. program:: clang1
.. option:: -multiply\_defined\_unused <arg>
.. program:: clang

.. option:: -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg>

.. option:: --no-cuda-version-check

Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.

.. option:: -no-integrated-cpp, --no-integrated-cpp

.. option:: -no\_dead\_strip\_inits\_and\_terms

.. option:: -nobuiltininc

Disable builtin #include directories

.. option:: -nocudainc

.. option:: -nocudalib

.. option:: -nodefaultlibs

.. option:: -nofixprebinding

.. option:: -nolibc

.. option:: -nomultidefs

.. option:: -nopie, -no-pie

.. option:: -noprebind

.. option:: -noseglinkedit

.. option:: -nostartfiles

.. option:: -nostdinc, --no-standard-includes

.. program:: clang1
.. option:: -nostdinc++
.. program:: clang

Disable standard #include directories for the C++ standard library

.. option:: -nostdlib, --no-standard-libraries

.. program:: clang1
.. option:: -nostdlib++
.. program:: clang

.. option:: -nostdlibinc

.. option:: -o<file>, --output <arg>, --output=<arg>

Write output to <file>

.. option:: -objcmt-atomic-property

Make migration to 'atomic' properties

.. option:: -objcmt-migrate-all

Enable migration to modern ObjC

.. option:: -objcmt-migrate-annotation

Enable migration to property and method annotations

.. option:: -objcmt-migrate-designated-init

Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods

.. option:: -objcmt-migrate-instancetype

Enable migration to infer instancetype for method result type

.. option:: -objcmt-migrate-literals

Enable migration to modern ObjC literals

.. option:: -objcmt-migrate-ns-macros

Enable migration to NS\_ENUM/NS\_OPTIONS macros

.. option:: -objcmt-migrate-property

Enable migration to modern ObjC property

.. option:: -objcmt-migrate-property-dot-syntax

Enable migration of setter/getter messages to property-dot syntax

.. option:: -objcmt-migrate-protocol-conformance

Enable migration to add protocol conformance on classes

.. option:: -objcmt-migrate-readonly-property

Enable migration to modern ObjC readonly property

.. option:: -objcmt-migrate-readwrite-property

Enable migration to modern ObjC readwrite property

.. option:: -objcmt-migrate-subscripting

Enable migration to modern ObjC subscripting

.. option:: -objcmt-ns-nonatomic-iosonly

Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute

.. option:: -objcmt-returns-innerpointer-property

Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER

.. option:: -objcmt-whitelist-dir-path=<arg>, -objcmt-white-list-dir-path=<arg>

Only modify files with a filename contained in the provided directory path

.. option:: -object

.. option:: -p, --profile

.. option:: -pagezero\_size<arg>

.. option:: -pg

Enable mcount instrumentation

.. option:: -pie

.. option:: -pipe, --pipe

Use pipes between commands, when possible

.. option:: -prebind

.. program:: clang1
.. option:: -prebind\_all\_twolevel\_modules
.. program:: clang

.. option:: -preload

.. option:: --print-diagnostic-categories

.. option:: -print-effective-triple, --print-effective-triple

Print the effective target triple

.. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg>

Print the full library path of <file>

.. option:: -print-ivar-layout

Enable Objective-C Ivar layout bitmap print trace

.. option:: -print-libgcc-file-name, --print-libgcc-file-name

Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang\_rt.builtins.\*.a")

.. option:: -print-multi-directory, --print-multi-directory

.. option:: -print-multi-lib, --print-multi-lib

.. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg>

Print the full program path of <name>

.. option:: -print-resource-dir, --print-resource-dir

Print the resource directory pathname

.. option:: -print-search-dirs, --print-search-dirs

Print the paths used for finding libraries and programs

.. option:: -print-target-triple, --print-target-triple

Print the normalized target triple

.. option:: -private\_bundle

.. option:: -pthread, -no-pthread

Support POSIX threads in generated code

.. option:: -pthreads

.. option:: -rdynamic

.. option:: -read\_only\_relocs <arg>

.. option:: -relocatable-pch, --relocatable-pch

Whether to build a relocatable precompiled header

.. option:: -remap

.. option:: -rewrite-legacy-objc

Rewrite Legacy Objective-C source to C++

.. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg>

Compiler runtime library to use

.. option:: -save-stats=<arg>, --save-stats=<arg>, -save-stats (equivalent to -save-stats=cwd), --save-stats (equivalent to -save-stats=cwd)

Save llvm statistics.

.. option:: -save-temps=<arg>, --save-temps=<arg>, -save-temps (equivalent to -save-temps=cwd), --save-temps (equivalent to -save-temps=cwd)

Save intermediate compilation results.

.. option:: -sectalign <arg1> <arg2> <arg3>

.. option:: -sectcreate <arg1> <arg2> <arg3>

.. option:: -sectobjectsymbols <arg1> <arg2>

.. option:: -sectorder <arg1> <arg2> <arg3>

.. option:: -seg1addr<arg>

.. option:: -seg\_addr\_table <arg>

.. program:: clang1
.. option:: -seg\_addr\_table\_filename <arg>
.. program:: clang

.. option:: -segaddr <arg1> <arg2>

.. option:: -segcreate <arg1> <arg2> <arg3>

.. option:: -seglinkedit

.. option:: -segprot <arg1> <arg2> <arg3>

.. option:: -segs\_read\_<arg>

.. program:: clang1
.. option:: -segs\_read\_only\_addr <arg>
.. program:: clang

.. program:: clang2
.. option:: -segs\_read\_write\_addr <arg>
.. program:: clang

.. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg>

Serialize compiler diagnostics to a file

.. option:: -shared, --shared

.. option:: -shared-libgcc

.. option:: -shared-libsan, -shared-libasan

Dynamically link the sanitizer runtime

.. option:: -single\_module

.. option:: -specs=<arg>, --specs=<arg>

.. option:: -static, --static

.. option:: -static-libgcc

.. option:: -static-libsan

Statically link the sanitizer runtime

.. option:: -static-libstdc++

.. option:: -std-default=<arg>

.. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg>

C++ standard library to use

.. option:: -sub\_library<arg>

.. program:: clang1
.. option:: -sub\_umbrella<arg>
.. program:: clang

.. option:: --sysroot=<arg>, --sysroot <arg>

.. option:: --target-help

.. option:: --target=<arg>, -target <arg>

Generate code for the given target

.. option:: -time

Time individual commands

.. option:: -traditional, --traditional

.. option:: -traditional-cpp, --traditional-cpp

Enable some traditional CPP emulation

.. option:: -twolevel\_namespace

.. program:: clang1
.. option:: -twolevel\_namespace\_hints
.. program:: clang

.. option:: -umbrella <arg>

.. option:: -unexported\_symbols\_list <arg>

.. option:: -v, --verbose

Show commands to run and use verbose output

.. option:: --verify-debug-info

Verify the binary representation of debug output

.. option:: --version

Print version information

.. option:: -w, --no-warnings

Suppress all warnings

.. option:: -weak-l<arg>

.. option:: -weak\_framework <arg>

.. program:: clang1
.. option:: -weak\_library <arg>
.. program:: clang

.. program:: clang2
.. option:: -weak\_reference\_mismatches <arg>
.. program:: clang

.. option:: -whatsloaded

.. option:: -whyload

.. option:: -working-directory<arg>, -working-directory=<arg>

Resolve file paths relative to the specified directory

.. option:: -x<language>, --language <arg>, --language=<arg>

Treat subsequent input files as having type <language>

.. option:: -y<arg>

Actions
=======
The action to perform on the input.

.. option:: -E, --preprocess

Only run the preprocessor

.. option:: -S, --assemble

Only run preprocess and compilation steps

.. option:: -c, --compile

Only run preprocess, compile, and assemble steps

.. option:: -emit-llvm

Use the LLVM representation for assembler and object files

.. option:: -fsyntax-only

.. option:: -module-file-info

Provide information about a particular module file

.. option:: --precompile

Only precompile the input

.. option:: -rewrite-objc

Rewrite Objective-C source to C++

.. option:: -verify-pch

Load and verify that a pre-compiled header file is not stale

Compilation flags
=================

Flags controlling the behavior of Clang during compilation. These flags have
no effect during actions that do not perform compilation.

.. option:: -Xassembler <arg>

Pass <arg> to the assembler

.. option:: -Xclang <arg>

Pass <arg> to the clang compiler

.. option:: -fclang-abi-compat=<version>

Attempt to match the ABI of Clang <version>

.. option:: -fcomment-block-commands=<arg>,<arg2>...

Treat each comma separated argument in <arg> as a documentation comment block command

.. option:: -fcomplete-member-pointers, -fno-complete-member-pointers

Require member pointer base types to be complete if they would be significant under the Microsoft ABI

.. option:: -fcrash-diagnostics-dir=<arg>

.. option:: -fdeclspec, -fno-declspec

Allow \_\_declspec as a keyword

.. option:: -fdepfile-entry=<arg>

.. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info

.. option:: -fdiagnostics-format=<arg>

.. option:: -fdiagnostics-parseable-fixits

Print fix-its in machine parseable form

.. option:: -fdiagnostics-print-source-range-info

Print source range spans in numeric form

.. option:: -fdiagnostics-show-category=<arg>

.. option:: -fdiscard-value-names, -fno-discard-value-names

Discard value names in LLVM IR

.. option:: -fexperimental-isel, -fno-experimental-isel

Enables the experimental global instruction selector

.. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager

Enables an experimental new pass manager in LLVM.

.. option:: -ffine-grained-bitfield-accesses, -fno-fine-grained-bitfield-accesses

Use separate accesses for consecutive bitfield runs with legal widths and alignments.

.. option:: -finline-functions, -fno-inline-functions

Inline suitable functions

.. option:: -finline-hint-functions

Inline functions which are (explicitly or implicitly) marked inline

.. option:: -fno-crash-diagnostics

Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash

.. option:: -fno-sanitize-blacklist

Don't use blacklist file for sanitizers

.. option:: -fparse-all-comments

.. option:: -frecord-command-line, -frecord-gcc-switches, -fno-record-command-line, -fno-record-gcc-switches

Generate a section named ".GCC.command.line" containing the clang driver
command-line. After linking, the section may contain multiple command lines,
which will be individually terminated by null bytes. Separate arguments within
a command line are combined with spaces; spaces and backslashes within an
argument are escaped with backslashes. This format differs from the format of
the equivalent section produced by GCC with the -frecord-gcc-switches flag.
This option is currently only supported on ELF targets.

.. option:: -fsanitize-address-field-padding=<arg>

Level of field padding for AddressSanitizer

.. option:: -fsanitize-address-globals-dead-stripping

Enable linker dead stripping of globals in AddressSanitizer

.. option:: -fsanitize-address-use-odr-indicator, -fno-sanitize-address-use-odr-indicator

Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size

.. option:: -fsanitize-address-poison-custom-array-cookie, -fno-sanitize-address-poison-custom-array-cookie

Enable "poisoning" array cookies when allocating arrays with a custom operator new\[\] in Address Sanitizer, preventing accesses to the cookies from user code. An array cookie is a small implementation-defined header added to certain array allocations to record metadata such as the length of the array. Accesses to array cookies from user code are technically allowed by the standard but are more likely to be the result of an out-of-bounds array access.

An operator new\[\] is "custom" if it is not one of the allocation functions provided by the C++ standard library. Array cookies from non-custom allocation functions are always poisoned.

.. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope

Enable use-after-scope detection in AddressSanitizer

.. option:: -fsanitize-blacklist=<arg>

Path to blacklist file for sanitizers

.. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso

Enable control flow integrity (CFI) checks for cross-DSO calls.

.. option:: -fsanitize-cfi-icall-generalize-pointers

Generalize pointers in CFI indirect call type signature checks

.. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>...

Specify the type of coverage instrumentation for Sanitizers

.. option:: -fsanitize-link-c++-runtime

.. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins

Enable origins tracking in MemorySanitizer

.. program:: clang1
.. option:: -fsanitize-memory-track-origins=<arg>
.. program:: clang

Enable origins tracking in MemorySanitizer

.. option:: -fsanitize-memory-use-after-dtor, -fno-sanitize-memory-use-after-dtor

Enable use-after-destroy detection in MemorySanitizer

.. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime

.. option:: -fsanitize-recover, -fno-sanitize-recover

.. program:: clang1
.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>...
.. program:: clang

Enable recovery for specified sanitizers

.. option:: -fsanitize-stats, -fno-sanitize-stats

Enable sanitizer statistics gathering.

.. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics

Enable atomic operations instrumentation in ThreadSanitizer (default)

.. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit

Enable function entry/exit instrumentation in ThreadSanitizer (default)

.. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access

Enable memory access instrumentation in ThreadSanitizer (default)

.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>...

Enable trapping for specified sanitizers

.. option:: -fsanitize-undefined-strip-path-components=<number>

Strip (or keep only, if negative) a given number of path components when emitting check metadata.

.. option:: -fsanitize-undefined-trap-on-error, -fno-sanitize-undefined-trap-on-error

.. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>...

Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks

.. option:: -moutline, -mno-outline

Enable function outlining (AArch64 only)

.. option:: --param <arg>, --param=<arg>

.. option:: -std=<arg>, --std=<arg>, --std <arg>

Language standard to compile for

Preprocessor flags
~~~~~~~~~~~~~~~~~~

Flags controlling the behavior of the Clang preprocessor.

.. option:: -C, --comments

Include comments in preprocessed output

.. option:: -CC, --comments-in-macros

Include comments from within macros in preprocessed output

.. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg>

Define <macro> to <value> (or 1 if <value> omitted)

.. option:: -H, --trace-includes

Show header includes and nesting depth

.. option:: -P, --no-line-commands

Disable linemarker output in -E mode

.. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg>

Undefine macro <macro>

.. option:: -Wp,<arg>,<arg2>...

Pass the comma separated arguments in <arg> to the preprocessor

.. option:: -Xpreprocessor <arg>

Pass <arg> to the preprocessor

Include path management
-----------------------

Flags controlling how ``#include``\s are resolved to files.

.. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg>

Add directory to include search path

.. option:: -I-, --include-barrier

Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path

.. option:: --cuda-path-ignore-env

Ignore environment variables to detect CUDA installation

.. option:: --cuda-path=<arg>

CUDA installation path

.. option:: -cxx-isystem<directory>

Add directory to the C++ SYSTEM include search path

.. option:: -fbuild-session-file=<file>

Use the last modification time of <file> as the build session timestamp

.. option:: -fbuild-session-timestamp=<time since Epoch in seconds>

Time when the current build session started

.. option:: -fmodule-file=\[<name>=\]<file>

Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.

.. option:: -fmodules-cache-path=<directory>

Specify the module cache path

.. option:: -fmodules-disable-diagnostic-validation

Disable validation of the diagnostic options when loading the module

.. option:: -fmodules-prune-after=<seconds>

Specify the interval (in seconds) after which a module file will be considered unused

.. option:: -fmodules-prune-interval=<seconds>

Specify the interval (in seconds) between attempts to prune the module cache

.. option:: -fmodules-user-build-path <directory>

Specify the module user build path

.. option:: -fmodules-validate-once-per-build-session

Don't verify input files for the modules if the module has been successfully validated or loaded during this build session

.. option:: -fmodules-validate-system-headers, -fno-modules-validate-system-headers

Validate the system headers that a module depends on when loading the module

.. option:: -fprebuilt-module-path=<directory>

Specify the prebuilt module path

.. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg>

Add directory to AFTER include search path

.. option:: -iframework<arg>

Add directory to SYSTEM framework search path

.. option:: -iframeworkwithsysroot<directory>

Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot

.. option:: -imacros<file>, --imacros<file>, --imacros=<arg>

Include macros from file before parsing

.. option:: -include<file>, --include<file>, --include=<arg>

Include file before parsing

.. option:: -include-pch <file>

Include precompiled header file

.. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg>

Set the -iwithprefix/-iwithprefixbefore prefix

.. option:: -iquote<directory>

Add directory to QUOTE include search path

.. option:: -isysroot<dir>

Set the system root directory (usually /)

.. option:: -isystem<directory>

Add directory to SYSTEM include search path

.. option:: -isystem-after<directory>

Add directory to end of the SYSTEM include search path

.. option:: -ivfsoverlay<arg>

Overlay the virtual filesystem described by file over the real file system

.. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg>

Set directory to SYSTEM include search path with prefix

.. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg>

Set directory to include search path with prefix

.. option:: -iwithsysroot<directory>

Add directory to SYSTEM include search path, absolute paths are relative to -isysroot

.. option:: --ptxas-path=<arg>

Path to ptxas (used for compiling CUDA code)

.. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg>

Treat all #include paths starting with <prefix> as including a system header.

Dependency file generation
--------------------------

Flags controlling generation of a dependency file for ``make``-like build
systems.

.. option:: -M, --dependencies

Like -MD, but also implies -E and writes to stdout by default

.. option:: -MD, --write-dependencies

Write a depfile containing user and system headers

.. option:: -MF<file>

Write depfile output from -MMD, -MD, -MM, or -M to <file>

.. option:: -MG, --print-missing-file-dependencies

Add missing headers to depfile

.. option:: -MJ<arg>

Write a compilation database entry per input

.. option:: -MM, --user-dependencies

Like -MMD, but also implies -E and writes to stdout by default

.. option:: -MMD, --write-user-dependencies

Write a depfile containing user headers

.. option:: -MP

Create phony target for each dependency (other than main file)

.. option:: -MQ<arg>

Specify name of main file output to quote in depfile

.. option:: -MT<arg>

Specify name of main file output in depfile

.. option:: -MV

Use NMake/Jom format for the depfile

Dumping preprocessor state
--------------------------

Flags allowing the state of the preprocessor to be dumped in various ways.

.. option:: -d

.. program:: clang1
.. option:: -d<arg>
.. program:: clang

.. option:: -dA

.. option:: -dD

Print macro definitions in -E mode in addition to normal output

.. option:: -dI

Print include directives in -E mode in addition to normal output

.. option:: -dM

Print macro definitions in -E mode instead of normal output

Diagnostic flags
~~~~~~~~~~~~~~~~

Flags controlling which warnings, errors, and remarks Clang will generate.
See the :doc:`full list of warning and remark flags <DiagnosticsReference>`.

.. option:: -R<remark>

Enable the specified remark

.. option:: -Rpass-analysis=<arg>

Report transformation analysis from optimization passes whose name matches the given POSIX regular expression

.. option:: -Rpass-missed=<arg>

Report missed transformations by optimization passes whose name matches the given POSIX regular expression

.. option:: -Rpass=<arg>

Report transformations performed by optimization passes whose name matches the given POSIX regular expression

.. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg>

Enable the specified warning

.. option:: -Wdeprecated, -Wno-deprecated

Enable warnings for deprecated constructs and define \_\_DEPRECATED

.. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg>

Target-independent compilation options
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. option:: -Wframe-larger-than=<arg>

.. option:: -fPIC, -fno-PIC

.. option:: -fPIE, -fno-PIE

.. option:: -faccess-control, -fno-access-control

.. option:: -faddrsig, -fno-addrsig

Emit an address-significance table

.. option:: -falign-functions, -fno-align-functions

.. program:: clang1
.. option:: -falign-functions=<arg>
.. program:: clang

.. program:: clang1
.. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation
.. program:: clang

Enable C++17 aligned allocation functions

.. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders

Treat editor placeholders as valid source code

.. option:: -fallow-unsupported

.. option:: -faltivec, -fno-altivec

.. option:: -fansi-escape-codes

Use ANSI escape codes for diagnostics

.. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables

Use Apple's kernel extensions ABI

.. option:: -fapple-pragma-pack, -fno-apple-pragma-pack

Enable Apple gcc-compatible #pragma pack handling

.. option:: -fapplication-extension, -fno-application-extension

Restrict code to those available for App Extensions

.. option:: -fasm, -fno-asm

.. option:: -fasm-blocks, -fno-asm-blocks

.. option:: -fassociative-math, -fno-associative-math

.. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new

.. option:: -fast

.. option:: -fastcp

.. option:: -fastf

.. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables

.. option:: -fautolink, -fno-autolink

.. option:: -fblocks, -fno-blocks

Enable the 'blocks' language feature

.. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg>

.. option:: -fborland-extensions, -fno-borland-extensions

Accept non-standard constructs supported by the Borland compiler

.. option:: -fbracket-depth=<arg>

.. option:: -fbuiltin, -fno-builtin

.. option:: -fbuiltin-module-map

Load the clang builtins module map file.

.. option:: -fc++-static-destructors, -fno-c++-static-destructors

Enable C++ static destructor registration (the default)

.. option:: -fcaret-diagnostics, -fno-caret-diagnostics

.. option:: -fcf-protection=<arg>, -fcf-protection (equivalent to -fcf-protection=full)

Instrument control-flow architecture protection. Options: return, branch, full, none.

.. option:: -fchar8\_t, -fno-char8\_t

Enable C++ builtin type char8\_t

.. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg>

.. option:: -fcolor-diagnostics, -fno-color-diagnostics

Use colors in diagnostics

.. option:: -fcommon, -fno-common

.. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg>

.. option:: -fconstant-cfstrings, -fno-constant-cfstrings

.. option:: -fconstant-string-class=<arg>

.. option:: -fconstexpr-backtrace-limit=<arg>

.. option:: -fconstexpr-depth=<arg>

.. option:: -fconstexpr-steps=<arg>

.. option:: -fcoroutines-ts, -fno-coroutines-ts

Enable support for the C++ Coroutines TS

.. option:: -fcoverage-mapping, -fno-coverage-mapping

Generate coverage mapping to enable code coverage analysis

.. option:: -fcreate-profile

.. option:: -fcxx-exceptions, -fno-cxx-exceptions

Enable C++ exceptions

.. option:: -fcxx-modules, -fno-cxx-modules

.. option:: -fdata-sections, -fno-data-sections

Place each data in its own section (ELF Only)

.. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling

Emit extra debug info to make sample profile more accurate.

.. option:: -fdebug-macro, -fno-debug-macro

Emit macro debug information

.. option:: -fdebug-pass-arguments

.. option:: -fdebug-pass-structure

.. option:: -fdebug-prefix-map=<arg>

remap file source paths in debug info

.. option:: -fdebug-types-section, -fno-debug-types-section

Place debug types in their own section (ELF Only)

.. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing

Parse templated function definitions at the end of the translation unit

.. option:: -fdelete-null-pointer-checks, -fno-delete-null-pointer-checks

Treat usage of null pointers as undefined behavior.

.. option:: -fdenormal-fp-math=<arg>

.. option:: -fdiagnostics-absolute-paths

Print absolute paths in diagnostics

.. option:: -fdiagnostics-color, -fno-diagnostics-color

.. program:: clang1
.. option:: -fdiagnostics-color=<arg>
.. program:: clang

.. option:: -fdiagnostics-hotness-threshold=<number>

Prevent optimization remarks from being output if they do not have at least this profile count

.. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness

Enable profile hotness information in diagnostic line

.. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack

Display include stacks for diagnostic notes

.. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option

Print option name with mappable diagnostics

.. option:: -fdiagnostics-show-template-tree

Print a template comparison tree for differing templates

.. option:: -fdigraphs, -fno-digraphs

Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)

.. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers

Allow '$' in identifiers

.. option:: -fdouble-square-bracket-attributes, -fno-double-square-bracket-attributes

Enable '\[\[\]\]' attributes in all C and C++ language modes

.. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm

.. option:: -fdwarf-exceptions

Use DWARF style exceptions

.. option:: -felide-constructors, -fno-elide-constructors

.. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols

.. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker)

Embed LLVM bitcode (option: off, all, bitcode, marker)

.. option:: -femit-all-decls

Emit all declarations, even if unused

.. option:: -femulated-tls, -fno-emulated-tls

Use emutls functions to access thread\_local variables

.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg>

.. option:: -ferror-limit=<arg>

.. option:: -fescaping-block-tail-calls, -fno-escaping-block-tail-calls

.. option:: -fexceptions, -fno-exceptions

Enable support for exception handling

.. option:: -fexec-charset=<arg>

.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg>

.. option:: -ffast-math, -fno-fast-math

Allow aggressive, lossy floating-point optimizations

.. option:: -ffinite-math-only, -fno-finite-math-only

.. option:: -ffixed-point, -fno-fixed-point

Enable fixed point types

.. option:: -ffor-scope, -fno-for-scope

.. option:: -fforce-emit-vtables, -fno-force-emit-vtables

Emits more virtual tables to improve devirtualization

.. option:: -fforce-enable-int128, -fno-force-enable-int128

Enable support for int128\_t type

.. option:: -ffp-contract=<arg>

Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma, default) \| off (never fuse)

.. option:: -ffreestanding

Assert that the compilation takes place in a freestanding environment

.. option:: -ffunction-sections, -fno-function-sections

Place each function in its own section (ELF Only)

.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm

.. option:: -fgnu-keywords, -fno-gnu-keywords

Allow GNU-extension keywords regardless of language standard

.. option:: -fgnu-runtime

Generate output compatible with the standard GNU Objective-C runtime

.. option:: -fgnu89-inline, -fno-gnu89-inline

Use the gnu89 inline semantics

.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities

.. option:: -fhonor-nans, -fno-honor-nans

.. option:: -fhosted

.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps

Implicitly search the file system for module map files.

.. option:: -fimplicit-modules, -fno-implicit-modules

.. option:: -finput-charset=<arg>

.. option:: -finstrument-function-entry-bare

Instrument function entry only, after inlining, without arguments to the instrumentation call

.. option:: -finstrument-functions

Generate calls to instrument function entry and exit

.. option:: -finstrument-functions-after-inlining

Like -finstrument-functions, but insert the calls after inlining

.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as

Enable the integrated assembler

.. option:: -fjump-tables, -fno-jump-tables

.. option:: -fkeep-static-consts

Keep static const variables even if unused

.. option:: -flax-vector-conversions, -fno-lax-vector-conversions

.. option:: -flimited-precision=<arg>

.. option:: -flto, -fno-lto

Enable LTO in 'full' mode

.. option:: -flto-jobs=<arg>

Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)

.. program:: clang1
.. option:: -flto=<arg>
.. program:: clang

Set LTO mode to either 'full' or 'thin'

.. option:: -fmacro-backtrace-limit=<arg>

.. option:: -fmath-errno, -fno-math-errno

Require math functions to indicate errors by setting errno

.. option:: -fmax-type-align=<arg>

Specify the maximum alignment to enforce on pointers lacking an explicit alignment

.. option:: -fmerge-all-constants, -fno-merge-all-constants

Allow merging of constants

.. option:: -fmessage-length=<arg>

.. option:: -fmodule-file-deps, -fno-module-file-deps

.. option:: -fmodule-map-file=<file>

Load this module map file

.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg>

Specify the name of the module to build

.. option:: -fmodules, -fno-modules

Enable the 'modules' language feature

.. option:: -fmodules-decluse, -fno-modules-decluse

Require declaration of modules used within a module

.. option:: -fmodules-ignore-macro=<arg>

Ignore the definition of the given macro when building and loading modules

.. option:: -fmodules-search-all, -fno-modules-search-all

Search even non-imported modules to resolve references

.. option:: -fmodules-strict-decluse

Like -fmodules-decluse but requires all headers to be in modules

.. option:: -fmodules-ts

Enable support for the C++ Modules TS

.. option:: -fms-compatibility, -fno-ms-compatibility

Enable full Microsoft Visual C++ compatibility

.. option:: -fms-compatibility-version=<arg>

Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))

.. option:: -fms-extensions, -fno-ms-extensions

Accept some non-standard constructs supported by the Microsoft compiler

.. option:: -fms-memptr-rep=<arg>

.. option:: -fms-volatile<arg>

.. option:: -fmsc-version=<arg>

Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))

.. option:: -fmudflap

.. option:: -fmudflapth

.. option:: -fnested-functions

.. option:: -fnew-alignment=<align>, -fnew-alignment <arg>

Specifies the largest alignment guaranteed by '::operator new(size\_t)'

.. option:: -fnext-runtime

.. option:: -fno-builtin-<arg>

Disable implicit builtin knowledge of a specific function

.. option:: -fno-elide-type

Do not elide types when printing diagnostics

.. option:: -fno-max-type-align

.. option:: -fno-operator-names

Do not treat C++ operator name keywords as synonyms for operators

.. option:: -fno-rtti-data

Control emission of RTTI data

.. option:: -fno-strict-modules-decluse

.. option:: -fno-working-directory

.. option:: -fnoxray-link-deps

.. option:: -fobjc-abi-version=<arg>

.. option:: -fobjc-arc, -fno-objc-arc

Synthesize retain and release calls for Objective-C pointers

.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions

Use EH-safe code when synthesizing retains and releases in -fobjc-arc

.. option:: -fobjc-exceptions, -fno-objc-exceptions

Enable Objective-C exceptions

.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type

.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch

.. option:: -fobjc-link-runtime

.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi

.. option:: -fobjc-nonfragile-abi-version=<arg>

.. option:: -fobjc-runtime=<arg>

Specify the target Objective-C runtime kind and version

.. option:: -fobjc-sender-dependent-dispatch

.. option:: -fobjc-weak, -fno-objc-weak

Enable ARC-style weak references in Objective-C

.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer

.. option:: -fopenmp, -fno-openmp

Parse OpenMP pragmas and generate parallel code.

.. option:: -fopenmp-simd, -fno-openmp-simd

Emit OpenMP code only for SIMD-based constructs.

.. option:: -fopenmp-version=<arg>

.. program:: clang1
.. option:: -fopenmp=<arg>
.. program:: clang

.. option:: -foperator-arrow-depth=<arg>

.. option:: -foptimization-record-file=<arg>

Specify the file name of any generated YAML optimization record

.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls

.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg>

.. option:: -fpack-struct, -fno-pack-struct

.. program:: clang1
.. option:: -fpack-struct=<arg>
.. program:: clang

Specify the default maximum struct packing alignment

.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings

Recognize and construct Pascal-style string literals

.. option:: -fpcc-struct-return

Override the default ABI to return all structs on the stack

.. option:: -fpch-preprocess

.. option:: -fpic, -fno-pic

.. option:: -fpie, -fno-pie

.. option:: -fplt, -fno-plt

Use the PLT to make function calls

.. option:: -fplugin=<dsopath>

Load the named plugin (dynamic shared object)

.. option:: -fpreserve-as-comments, -fno-preserve-as-comments

.. option:: -fprofile-arcs, -fno-profile-arcs

.. option:: -fprofile-dir=<arg>

.. option:: -fprofile-generate, -fno-profile-generate

Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var)

.. program:: clang1
.. option:: -fprofile-generate=<directory>
.. program:: clang

Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)

.. option:: -fprofile-instr-generate, -fno-profile-instr-generate

Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)

.. program:: clang1
.. option:: -fprofile-instr-generate=<file>
.. program:: clang

Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var)

.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use

.. program:: clang1
.. option:: -fprofile-instr-use=<arg>
.. program:: clang

Use instrumentation data for profile-guided optimization

.. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate

Specifies that the sample profile is accurate. If the sample
               profile is accurate, callsites without profile samples are marked
               as cold. Otherwise, treat callsites without profile samples as if
               we have no profile

.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use

.. program:: clang1
.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg>
.. program:: clang

Enable sample-based profile guided optimizations

.. program:: clang1
.. option:: -fprofile-use=<pathname>
.. program:: clang

Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.

.. option:: -freciprocal-math, -fno-reciprocal-math

Allow division operations to be reassociated

.. option:: -freg-struct-return

Override the default ABI to return small structs in registers

.. option:: -fregister-global-dtors-with-atexit, -fno-register-global-dtors-with-atexit

Use atexit or \_\_cxa\_atexit to register global destructors

.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args

Enable C++17 relaxed template template argument matching

.. option:: -freroll-loops, -fno-reroll-loops

Turn on loop reroller

.. option:: -fretain-comments-from-system-headers

.. option:: -frewrite-imports, -fno-rewrite-imports

.. option:: -frewrite-includes, -fno-rewrite-includes

.. option:: -frewrite-map-file <arg>

.. program:: clang1
.. option:: -frewrite-map-file=<arg>
.. program:: clang

.. option:: -fropi, -fno-ropi

.. option:: -frtti, -fno-rtti

.. option:: -frwpi, -fno-rwpi

.. option:: -fsave-optimization-record, -fno-save-optimization-record

Generate a YAML optimization record file

.. option:: -fseh-exceptions

Use SEH style exceptions

.. option:: -fshort-enums, -fno-short-enums

Allocate to an enum type only as many bytes as it needs for the declared range of possible values

.. option:: -fshort-wchar, -fno-short-wchar

Force wchar\_t to be a short unsigned int

.. option:: -fshow-column, -fno-show-column

.. option:: -fshow-overloads=<arg>

Which overload candidates to show when overload resolution fails: best\|all; defaults to all

.. option:: -fshow-source-location, -fno-show-source-location

.. option:: -fsignaling-math, -fno-signaling-math

.. option:: -fsigned-bitfields

.. option:: -fsigned-char, -fno-signed-char, --signed-char

.. option:: -fsigned-zeros, -fno-signed-zeros

.. option:: -fsized-deallocation, -fno-sized-deallocation

Enable C++14 sized global deallocation functions

.. option:: -fsjlj-exceptions

Use SjLj style exceptions

.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize

Enable the superword-level parallelism vectorization passes

.. option:: -fspell-checking, -fno-spell-checking

.. option:: -fspell-checking-limit=<arg>

.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining

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

.. option:: -fsplit-stack

.. option:: -fstack-protector, -fno-stack-protector

Enable stack protectors for functions potentially vulnerable to stack smashing

.. option:: -fstack-protector-all

Force the usage of stack protectors for all functions

.. option:: -fstack-protector-strong

Use a strong heuristic to apply stack protectors to functions

.. option:: -fstack-size-section, -fno-stack-size-section

Emit section containing metadata on function stack sizes

.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug

Emit full debug info for all types used by the program

.. option:: -fstrict-aliasing, -fno-strict-aliasing

.. option:: -fstrict-enums, -fno-strict-enums

Enable optimizations based on the strict definition of an enum's value range

.. option:: -fstrict-float-cast-overflow, -fno-strict-float-cast-overflow

Assume that overflowing float-to-int casts are undefined (default)

.. option:: -fstrict-overflow, -fno-strict-overflow

.. option:: -fstrict-return, -fno-strict-return

Always treat control flow paths that fall off the end of a non-void function as unreachable

.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers

Enable optimizations based on the strict rules for overwriting polymorphic C++ objects

.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa

.. option:: -ftabstop=<arg>

.. option:: -ftemplate-backtrace-limit=<arg>

.. option:: -ftemplate-depth-<arg>

.. option:: -ftemplate-depth=<arg>

.. option:: -ftest-coverage

.. option:: -fthinlto-index=<arg>

Perform ThinLTO importing using provided function summary index

.. option:: -fthreadsafe-statics, -fno-threadsafe-statics

.. option:: -ftime-report

.. option:: -ftls-model=<arg>

.. option:: -ftrap-function=<arg>

Issue call to specified function rather than a trap instruction

.. option:: -ftrapping-math, -fno-trapping-math

.. option:: -ftrapv

Trap on integer overflow

.. option:: -ftrapv-handler <arg>

.. program:: clang1
.. option:: -ftrapv-handler=<function name>
.. program:: clang

Specify the function to be called on overflow

.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs

Process trigraph sequences

.. option:: -funique-section-names, -fno-unique-section-names

Use unique names for text and data sections (ELF Only)

.. option:: -funit-at-a-time, -fno-unit-at-a-time

.. option:: -funroll-loops, -fno-unroll-loops

Turn on loop unroller

.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations

.. option:: -funsigned-bitfields

.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char

.. option:: -funwind-tables, -fno-unwind-tables

.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit

.. option:: -fuse-init-array, -fno-use-init-array

Use .init\_array instead of .ctors

.. option:: -fuse-ld=<arg>

.. option:: -fuse-line-directives, -fno-use-line-directives

.. option:: -fveclib=<arg>

Use the given vector functions library

.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize

Enable the loop vectorization passes

.. option:: -fverbose-asm, -fno-verbose-asm

.. option:: -fvisibility-inlines-hidden

Give inline C++ member functions hidden visibility by default

.. option:: -fvisibility-ms-compat

Give global types 'default' visibility and global functions and variables 'hidden' visibility by default

.. option:: -fvisibility=<arg>

Set the default symbol visibility for all global declarations

.. option:: -fwhole-program-vtables, -fno-whole-program-vtables

Enables whole-program vtable optimization. Requires -flto

.. option:: -fwrapv, -fno-wrapv

Treat signed integer overflow as two's complement

.. option:: -fwritable-strings

Store string literals as writable data

.. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents

Determine whether to always emit \_\_xray\_customevent(...) calls even if the function it appears in is not always instrumented.

.. option:: -fxray-always-emit-typedevents, -fno-xray-always-emit-typedevents

Determine whether to always emit \_\_xray\_typedevent(...) calls even if the function it appears in is not always instrumented.

.. option:: -fxray-always-instrument=<arg>

DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.

.. option:: -fxray-attr-list=<arg>

Filename defining the list of functions/types for imbuing XRay attributes.

.. option:: -fxray-instruction-threshold<arg>

.. program:: clang1
.. option:: -fxray-instruction-threshold=<arg>
.. program:: clang

Sets the minimum function size to instrument with XRay

.. option:: -fxray-instrument, -fno-xray-instrument

Generate XRay instrumentation sleds on function entry and exit

.. option:: -fxray-instrumentation-bundle=<arg>

Select which XRay instrumentation points to emit. Options: all, none, function, custom. Default is 'all'.

.. option:: -fxray-link-deps

Tells clang to add the link dependencies for XRay.

.. option:: -fxray-modes=<arg>

List of modes to link in by default into XRay instrumented binaries.

.. option:: -fxray-never-instrument=<arg>

DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.

.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss

.. option:: -fzvector, -fno-zvector, -mzvector

Enable System z vector language extension

.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic

.. option:: -pedantic-errors, --pedantic-errors

OpenCL flags
------------
.. option:: -cl-denorms-are-zero

OpenCL only. Allow denormals to be flushed to zero.

.. option:: -cl-fast-relaxed-math

OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_.

.. option:: -cl-finite-math-only

OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.

.. option:: -cl-fp32-correctly-rounded-divide-sqrt

OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.

.. option:: -cl-kernel-arg-info

OpenCL only. Generate kernel argument metadata.

.. option:: -cl-mad-enable

OpenCL only. Allow use of less precise MAD computations in the generated binary.

.. option:: -cl-no-signed-zeros

OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.

.. option:: -cl-opt-disable

OpenCL only. This option disables all optimizations. By default optimizations are enabled.

.. option:: -cl-single-precision-constant

OpenCL only. Treat double precision floating-point constant as single precision constant.

.. option:: -cl-std=<arg>

OpenCL language standard to compile for.

.. option:: -cl-strict-aliasing

OpenCL only. This option is added for compatibility with OpenCL 1.0.

.. option:: -cl-uniform-work-group-size

OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel

.. option:: -cl-unsafe-math-optimizations

OpenCL only. Allow unsafe floating-point optimizations.  Also implies -cl-no-signed-zeros and -cl-mad-enable.

Target-dependent compilation options
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. option:: -G<size>, -G=<arg>, -msmall-data-threshold=<arg>

Put objects of at most <size> bytes into small data section (MIPS / Hexagon)

.. option:: -m16

.. option:: -m32

.. option:: -m64

.. option:: -mabi=<arg>

.. option:: -malign-double

Align doubles to two words in structs (x86 only)

.. option:: -march=<arg>

.. option:: -masm=<arg>

.. option:: -mbackchain, -mno-backchain

Link stack frames through backchain on System Z

.. option:: -mcmodel=<arg>

.. option:: -mconsole<arg>

.. option:: -mcpu=<arg>, -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)

.. option:: -mcrc, -mno-crc

Allow use of CRC instructions (ARM/Mips only)

.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg>

.. option:: -mdll<arg>

.. option:: -mdynamic-no-pic<arg>

.. option:: -meabi <arg>

Set EABI type, e.g. 4, 5 or gnu (default depends on triple)

.. option:: -mfentry

Insert calls to fentry at function entry (x86 only)

.. option:: -mfloat-abi=<arg>

.. option:: -mfpmath=<arg>

.. option:: -mfpu=<arg>

.. option:: -mglobal-merge, -mno-global-merge

Enable merging of globals

.. option:: -mhard-float

.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg>

.. option:: -miamcu, -mno-iamcu

Use Intel MCU ABI

.. option:: -mimplicit-float, -mno-implicit-float

.. option:: -mimplicit-it=<arg>

.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible

(integrated-as) Emit an object file which can be used with an incremental linker

.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg>

.. option:: -mkernel

.. option:: -mlong-calls, -mno-long-calls

Generate branches with extended addressability, usually via indirect jumps.

.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg>

Set Mac OS X deployment target

.. option:: -mmcu=<arg>

.. option:: -mms-bitfields, -mno-ms-bitfields

Set the default structure layout to be compatible with the Microsoft compiler standard

.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer

Omit frame pointer setup for leaf functions

.. option:: -moslib=<arg>

.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations

Use copy relocations support for PIE builds

.. option:: -mprefer-vector-width=<arg>

Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.

.. option:: -mqdsp6-compat

Enable hexagon-qdsp6 backward compatibility

.. option:: -mrecip

.. program:: clang1
.. option:: -mrecip=<arg1>,<arg2>...
.. program:: clang

.. option:: -mred-zone, -mno-red-zone

.. option:: -mregparm=<arg>

.. option:: -mrelax-all, -mno-relax-all

(integrated-as) Relax all machine instructions

.. option:: -mretpoline, -mno-retpoline

.. option:: -mrtd, -mno-rtd

Make StdCall calling convention the default

.. option:: -msign-return-address=<arg>

Select return address signing scope

.. option:: -msoft-float, -mno-soft-float

Use software floating point

.. option:: -mstack-alignment=<arg>

Set the stack alignment

.. option:: -mstack-arg-probe, -mno-stack-arg-probe

Enable stack probes

.. option:: -mstack-probe-size=<arg>

Set the stack probe size

.. option:: -mstackrealign, -mno-stackrealign

Force realign the stack at entry to every function

.. option:: -mthread-model <arg>

The thread model to use, e.g. posix, single (posix by default)

.. option:: -mthreads<arg>

.. option:: -mthumb, -mno-thumb

.. option:: -mtune=<arg>

.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg>

.. option:: -municode<arg>

.. option:: -mvx, -mno-vx

.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings

.. option:: -mwatchos-version-min=<arg>

.. option:: -mwindows<arg>

.. option:: -mx32

AARCH64
-------
.. option:: -ffixed-x1

Reserve the x1 register (AArch64 only)

.. option:: -ffixed-x2

Reserve the x2 register (AArch64 only)

.. option:: -ffixed-x3

Reserve the x3 register (AArch64 only)

.. option:: -ffixed-x4

Reserve the x4 register (AArch64 only)

.. option:: -ffixed-x5

Reserve the x5 register (AArch64 only)

.. option:: -ffixed-x6

Reserve the x6 register (AArch64 only)

.. option:: -ffixed-x7

Reserve the x7 register (AArch64 only)

.. option:: -ffixed-x18

Reserve the x18 register (AArch64 only)

.. option:: -ffixed-x20

Reserve the x20 register (AArch64 only)

.. option:: -fcall-saved-x8

Make the x8 register call-saved (AArch64 only)

.. option:: -fcall-saved-x9

Make the x9 register call-saved (AArch64 only)

.. option:: -fcall-saved-x10

Make the x10 register call-saved (AArch64 only)

.. option:: -fcall-saved-x11

Make the x11 register call-saved (AArch64 only)

.. option:: -fcall-saved-x12

Make the x12 register call-saved (AArch64 only)

.. option:: -fcall-saved-x13

Make the x13 register call-saved (AArch64 only)

.. option:: -fcall-saved-x14

Make the x14 register call-saved (AArch64 only)

.. option:: -fcall-saved-x15

Make the x15 register call-saved (AArch64 only)

.. option:: -fcall-saved-x18

Make the x18 register call-saved (AArch64 only)

.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769

Workaround Cortex-A53 erratum 835769 (AArch64 only)

.. option:: -mgeneral-regs-only

Generate code which only uses the general purpose registers (AArch64 only)

AMDGPU
------
.. option:: -mxnack, -mno-xnack

Enable XNACK (AMDGPU only)

ARM
---
.. option:: -ffixed-r9

Reserve the r9 register (ARM only)

.. option:: -mexecute-only, -mno-execute-only, -mpure-code

Disallow generation of data access to code sections (ARM only)

.. option:: -mno-movt

Disallow use of movt/movw pairs (ARM only)

.. option:: -mno-neg-immediates

Disallow converting instructions with negative immediates to their negation or inversion.

.. option:: -mnocrc

Disallow use of CRC instructions (ARM only)

.. option:: -mrestrict-it, -mno-restrict-it

Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.

.. option:: -mtp=<arg>

Read thread pointer from coprocessor register (ARM only)

.. option:: -munaligned-access, -mno-unaligned-access

Allow memory accesses to be unaligned (AArch32/AArch64 only)

Hexagon
-------
.. option:: -mieee-rnd-near

.. option:: -mmemops, -mno-memops

Enable generation of memop instructions

.. option:: -mnvj, -mno-nvj

Enable generation of new-value jumps

.. option:: -mnvs, -mno-nvs

Enable generation of new-value stores

.. option:: -mpackets, -mno-packets

Enable generation of instruction packets

Hexagon
-------
.. option:: -mhvx, -mno-hvx

Enable Hexagon Vector eXtensions

.. option:: -mhvx-length=<arg>

Set Hexagon Vector Length

.. program:: clang1
.. option:: -mhvx=<arg>
.. program:: clang

Enable Hexagon Vector eXtensions

MIPS
----
.. option:: -mabicalls, -mno-abicalls

Enable SVR4-style position-independent code (Mips only)

.. option:: -mabs=<arg>

.. option:: -mcheck-zero-division, -mno-check-zero-division

.. option:: -mcompact-branches=<arg>

.. option:: -mdouble-float

.. option:: -mdsp, -mno-dsp

.. option:: -mdspr2, -mno-dspr2

.. option:: -membedded-data, -mno-embedded-data

Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)

.. option:: -mextern-sdata, -mno-extern-sdata

Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)

.. option:: -mfp32

Use 32-bit floating point registers (MIPS only)

.. option:: -mfp64

Use 64-bit floating point registers (MIPS only)

.. option:: -mginv, -mno-ginv

.. option:: -mgpopt, -mno-gpopt

Use GP relative accesses for symbols known to be in a small data section (MIPS)

.. option:: -mindirect-jump=<arg>

Change indirect jump instructions to inhibit speculation

.. option:: -mips16

.. option:: -mldc1-sdc1, -mno-ldc1-sdc1

.. option:: -mlocal-sdata, -mno-local-sdata

Extend the -G behaviour to object local data (MIPS)

.. option:: -mmadd4, -mno-madd4

Enable the generation of 4-operand madd.s, madd.d and related instructions.

.. option:: -mmicromips, -mno-micromips

.. option:: -mmsa, -mno-msa

Enable MSA ASE (MIPS only)

.. option:: -mmt, -mno-mt

Enable MT ASE (MIPS only)

.. option:: -mnan=<arg>

.. option:: -mno-mips16

.. option:: -msingle-float

.. option:: -mvirt, -mno-virt

.. option:: -mxgot, -mno-xgot

PowerPC
-------
.. option:: -maltivec, -mno-altivec

.. option:: -mcmpb, -mno-cmpb

.. option:: -mcrbits, -mno-crbits

.. option:: -mcrypto, -mno-crypto

.. option:: -mdirect-move, -mno-direct-move

.. option:: -mfloat128, -mno-float128

.. option:: -mfprnd, -mno-fprnd

.. option:: -mhtm, -mno-htm

.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors

.. option:: -misel, -mno-isel

.. option:: -mlongcall, -mno-longcall

.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf

.. option:: -mpopcntd, -mno-popcntd

.. option:: -mpower8-vector, -mno-power8-vector

.. option:: -mpower9-vector, -mno-power9-vector

.. option:: -mqpx, -mno-qpx

.. option:: -msecure-plt

.. option:: -mvsx, -mno-vsx

WebAssembly
-----------
.. option:: -mexception-handling, -mno-exception-handling

.. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint

.. option:: -msign-ext, -mno-sign-ext

.. option:: -msimd128, -mno-simd128

X86
---
.. option:: -m3dnow, -mno-3dnow

.. option:: -m3dnowa, -mno-3dnowa

.. option:: -madx, -mno-adx

.. option:: -maes, -mno-aes

.. option:: -mavx, -mno-avx

.. option:: -mavx2, -mno-avx2

.. option:: -mavx512bitalg, -mno-avx512bitalg

.. option:: -mavx512bw, -mno-avx512bw

.. option:: -mavx512cd, -mno-avx512cd

.. option:: -mavx512dq, -mno-avx512dq

.. option:: -mavx512er, -mno-avx512er

.. option:: -mavx512f, -mno-avx512f

.. option:: -mavx512ifma, -mno-avx512ifma

.. option:: -mavx512pf, -mno-avx512pf

.. option:: -mavx512vbmi, -mno-avx512vbmi

.. option:: -mavx512vbmi2, -mno-avx512vbmi2

.. option:: -mavx512vl, -mno-avx512vl

.. option:: -mavx512vnni, -mno-avx512vnni

.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq

.. option:: -mbmi, -mno-bmi

.. option:: -mbmi2, -mno-bmi2

.. option:: -mcldemote, -mno-cldemote

.. option:: -mclflushopt, -mno-clflushopt

.. option:: -mclwb, -mno-clwb

.. option:: -mclzero, -mno-clzero

.. option:: -mcx16, -mno-cx16

.. option:: -mf16c, -mno-f16c

.. option:: -mfma, -mno-fma

.. option:: -mfma4, -mno-fma4

.. option:: -mfsgsbase, -mno-fsgsbase

.. option:: -mfxsr, -mno-fxsr

.. option:: -mgfni, -mno-gfni

.. option:: -minvpcid, -mno-invpcid

.. option:: -mlwp, -mno-lwp

.. option:: -mlzcnt, -mno-lzcnt

.. option:: -mmmx, -mno-mmx

.. option:: -mmovbe, -mno-movbe

.. option:: -mmovdir64b, -mno-movdir64b

.. option:: -mmovdiri, -mno-movdiri

.. option:: -mmpx, -mno-mpx

.. option:: -mmwaitx, -mno-mwaitx

.. option:: -mpclmul, -mno-pclmul

.. option:: -mpconfig, -mno-pconfig

.. option:: -mpku, -mno-pku

.. option:: -mpopcnt, -mno-popcnt

.. option:: -mprefetchwt1, -mno-prefetchwt1

.. option:: -mprfchw, -mno-prfchw

.. option:: -mptwrite, -mno-ptwrite

.. option:: -mrdpid, -mno-rdpid

.. option:: -mrdrnd, -mno-rdrnd

.. option:: -mrdseed, -mno-rdseed

.. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk

.. option:: -mrtm, -mno-rtm

.. option:: -msahf, -mno-sahf

.. option:: -msgx, -mno-sgx

.. option:: -msha, -mno-sha

.. option:: -mshstk, -mno-shstk

.. option:: -msse, -mno-sse

.. option:: -msse2, -mno-sse2

.. option:: -msse3, -mno-sse3

.. option:: -msse4.1, -mno-sse4.1

.. program:: clang1
.. option:: -msse4.2, -mno-sse4.2, -msse4
.. program:: clang

.. option:: -msse4a, -mno-sse4a

.. option:: -mssse3, -mno-ssse3

.. option:: -mtbm, -mno-tbm

.. option:: -mvaes, -mno-vaes

.. option:: -mvpclmulqdq, -mno-vpclmulqdq

.. option:: -mwaitpkg, -mno-waitpkg

.. option:: -mwbnoinvd, -mno-wbnoinvd

.. option:: -mx87, -m80387, -mno-x87

.. option:: -mxop, -mno-xop

.. option:: -mxsave, -mno-xsave

.. option:: -mxsavec, -mno-xsavec

.. option:: -mxsaveopt, -mno-xsaveopt

.. option:: -mxsaves, -mno-xsaves

RISCV
-----
.. option:: -mrelax, -mno-relax

Enable linker relaxation

Optimization level
~~~~~~~~~~~~~~~~~~

Flags controlling how much optimization should be performed.

.. option:: -O<arg>, -O (equivalent to -O2), --optimize, --optimize=<arg>

.. option:: -Ofast<arg>

Debug information generation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Flags controlling how much and what kind of debug information should be
generated.

Kind and level of debug information
-----------------------------------
.. option:: -g, --debug, --debug=<arg>

Generate source-level debug information

.. option:: -gdwarf-2

Generate source-level debug information with dwarf version 2

.. option:: -gdwarf-3

Generate source-level debug information with dwarf version 3

.. option:: -gdwarf-4, -gdwarf

Generate source-level debug information with dwarf version 4

.. option:: -gdwarf-5

Generate source-level debug information with dwarf version 5

.. option:: -gfull

.. option:: -gused

Debug level
___________
.. option:: -g0

.. option:: -g2

.. option:: -g3

.. option:: -ggdb0

.. option:: -ggdb1

.. option:: -ggdb2

.. option:: -ggdb3

.. option:: -gline-tables-only, -g1, -gmlt

Emit debug line number tables only

.. option:: -gmodules

Generate debug info with external references to clang modules or precompiled headers

Debugger to tune debug information for
______________________________________
.. option:: -ggdb

.. option:: -glldb

.. option:: -gsce

Debug information flags
-----------------------
.. option:: -gcolumn-info, -gno-column-info

.. option:: -gdwarf-aranges

.. option:: -gembed-source, -gno-embed-source

Embed source text in DWARF debug sections

.. option:: -ggnu-pubnames, -gno-gnu-pubnames

.. option:: -gpubnames, -gno-pubnames

.. option:: -grecord-command-line, -grecord-gcc-switches, -gno-record-command-line, -gno-record-gcc-switches

.. option:: -gsplit-dwarf

.. option:: -gstrict-dwarf, -gno-strict-dwarf

.. option:: -gz

DWARF debug sections compression type

.. program:: clang1
.. option:: -gz=<arg>
.. program:: clang

DWARF debug sections compression type

Static analyzer flags
=====================

Flags controlling the behavior of the Clang Static Analyzer.

.. option:: -Xanalyzer <arg>

Pass <arg> to the static analyzer

Fortran compilation flags
=========================

Flags that will be passed onto the ``gfortran`` compiler when Clang is given
a Fortran input.

.. option:: -A<arg>, --assert <arg>, --assert=<arg>

.. option:: -A-<arg>

.. option:: -J<arg>

.. option:: -cpp

.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination

.. option:: -falign-commons, -fno-align-commons

.. option:: -fall-intrinsics, -fno-all-intrinsics

.. option:: -fautomatic, -fno-automatic

.. option:: -fbackslash, -fno-backslash

.. option:: -fbacktrace, -fno-backtrace

.. option:: -fblas-matmul-limit=<arg>

.. option:: -fbounds-check, -fno-bounds-check

.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries

.. option:: -fcheck=<arg>

.. option:: -fcoarray=<arg>

.. option:: -fconvert=<arg>

.. option:: -fcray-pointer, -fno-cray-pointer

.. option:: -fd-lines-as-code, -fno-d-lines-as-code

.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments

.. option:: -fdefault-double-8, -fno-default-double-8

.. option:: -fdefault-integer-8, -fno-default-integer-8

.. option:: -fdefault-real-8, -fno-default-real-8

.. option:: -fdollar-ok, -fno-dollar-ok

.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized

.. option:: -fdump-fortran-original, -fno-dump-fortran-original

.. option:: -fdump-parse-tree, -fno-dump-parse-tree

.. option:: -fexternal-blas, -fno-external-blas

.. option:: -ff2c, -fno-f2c

.. option:: -ffixed-form, -fno-fixed-form

.. option:: -ffixed-line-length-<arg>

.. option:: -ffpe-trap=<arg>

.. option:: -ffree-form, -fno-free-form

.. option:: -ffree-line-length-<arg>

.. option:: -ffrontend-optimize, -fno-frontend-optimize

.. option:: -fimplicit-none, -fno-implicit-none

.. option:: -finit-character=<arg>

.. option:: -finit-integer=<arg>

.. option:: -finit-local-zero, -fno-init-local-zero

.. option:: -finit-logical=<arg>

.. option:: -finit-real=<arg>

.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8

.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path

.. option:: -fmax-array-constructor=<arg>

.. option:: -fmax-errors=<arg>

.. option:: -fmax-identifier-length, -fno-max-identifier-length

.. option:: -fmax-stack-var-size=<arg>

.. option:: -fmax-subrecord-length=<arg>

.. option:: -fmodule-private, -fno-module-private

.. option:: -fpack-derived, -fno-pack-derived

.. option:: -fprotect-parens, -fno-protect-parens

.. option:: -frange-check, -fno-range-check

.. option:: -freal-4-real-10, -fno-real-4-real-10

.. option:: -freal-4-real-16, -fno-real-4-real-16

.. option:: -freal-4-real-8, -fno-real-4-real-8

.. option:: -freal-8-real-10, -fno-real-8-real-10

.. option:: -freal-8-real-16, -fno-real-8-real-16

.. option:: -freal-8-real-4, -fno-real-8-real-4

.. option:: -frealloc-lhs, -fno-realloc-lhs

.. option:: -frecord-marker=<arg>

.. option:: -frecursive, -fno-recursive

.. option:: -frepack-arrays, -fno-repack-arrays

.. option:: -fsecond-underscore, -fno-second-underscore

.. option:: -fsign-zero, -fno-sign-zero

.. option:: -fstack-arrays, -fno-stack-arrays

.. option:: -funderscoring, -fno-underscoring

.. option:: -fwhole-file, -fno-whole-file

.. option:: -imultilib <arg>

.. option:: -nocpp

.. option:: -static-libgfortran

Linker flags
============
Flags that are passed on to the linker

.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>

Add directory to library search path

.. option:: -Mach

.. option:: -T<script>

Specify <script> as linker script

.. option:: -Tbss<addr>

Set starting address of BSS to <addr>

.. option:: -Tdata<addr>

Set starting address of DATA to <addr>

.. option:: -Ttext<addr>

Set starting address of TEXT to <addr>

.. option:: -Wl,<arg>,<arg2>...

Pass the comma separated arguments in <arg> to the linker

.. option:: -X

.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>

Pass <arg> to the linker

.. program:: clang1
.. option:: -Z
.. program:: clang

.. option:: -e<arg>, --entry

.. option:: -filelist <arg>

.. option:: --hip-device-lib-path=<arg>

HIP device library path

.. option:: --hip-device-lib=<arg>

HIP device library

.. option:: -l<arg>

.. option:: -r

.. option:: -rpath <arg>

.. option:: -s

.. option:: -t

.. option:: -u<arg>, --force-link <arg>, --force-link=<arg>

.. option:: -undef

undef all system defines

.. option:: -undefined<arg>, --no-undefined

.. option:: -z <arg>

Pass -z <arg> to the linker

