..
  -------------------------------------------------------------------
  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<prefix>, --prefix <arg>, --prefix=<arg>

Search $prefix/$triple-$file and $prefix$file for executables, libraries, includes, and data files used by the compiler. $prefix may or may not be a directory

.. 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>

.. program:: clang1
.. option:: -Xarch\_device <arg>
.. program:: clang

Pass <arg> to the CUDA/HIP device compilation

.. program:: clang2
.. option:: -Xarch\_host <arg>
.. program:: clang

Pass <arg> to the CUDA/HIP host compilation

.. 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:: --analyzer-no-default-checks

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

Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|sarif\|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:: -client\_name<arg>

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

.. option:: --config <arg>

Specifies configuration file

.. option:: --constant-cfstrings

.. 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-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 following 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:: -dsym-dir<dir>

Directory to output dSYM's (if any) 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:: --emit-static-lib

Enable linker job to emit a static library.

.. option:: -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang

Trivial automatic variable initialization to zero is only here for benchmarks, it'll eventually be removed, and I'm OK with that because I'm only using it to benchmark

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

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

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

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

.. 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:: -fsanitize-system-blacklist=<arg>

Path to system blacklist file for sanitizers

.. option:: -fsystem-module

Build this module as a system module. Only used with -emit-module

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

Search for GCC installation in the specified directory on targets which commonly use GCC. The directory usually contains 'lib{,32,64}/gcc{,-cross}/$triple' and 'include'. If specified, sysroot is skipped for GCC detection. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation

.. option:: -gcodeview

Generate CodeView debug information

.. option:: -gcodeview-ghash, -gno-codeview-ghash

Emit type record hashes in a .debug$H section

.. option:: -ginline-line-tables, -gno-inline-line-tables

.. option:: --gpu-instrument-lib=<arg>

Instrument device library for HIP, which is a LLVM bitcode containing \_\_cyg\_profile\_func\_enter and \_\_cyg\_profile\_func\_exit

.. option:: --gpu-max-threads-per-block=<arg>

Default max threads per block for kernel launch bounds for HIP

.. 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:: --hip-version=<arg>

HIP version in the format of major.minor.patch

.. option:: -ibuiltininc

Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it

.. 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:: -interface-stub-version=<arg>

.. option:: -keep\_private\_externs

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

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

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

.. option:: -mbranch-protection=<arg>

Enforce targets of indirect branches and function returns

.. option:: -mharden-sls=<arg>

Select straight-line speculation hardening scope

.. 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:: -nodefaultlibs

.. option:: -nofixprebinding

.. option:: -nogpuinc, -nocudainc

.. option:: -nogpulib, -nocudalib

Do not link device library for CUDA/HIP device compilation

.. option:: -nolibc

.. option:: -nomultidefs

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

.. option:: -noprebind

.. option:: -noprofilelib

.. option:: -noseglinkedit

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

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

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

.. option:: -nostdlib++

.. 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:: --offload-arch=<arg>, --cuda-gpu-arch=<arg>, --no-offload-arch=<arg>

CUDA offloading device architecture (e.g. sm\_35), or HIP offloading target ID in the form of a device architecture followed by target ID features delimited by a colon. Each target ID feature is a pre-defined string followed by a plus or minus sign (e.g. gfx908:xnack+:sram-ecc-).  May be specified more than once.

.. option:: -p, --profile

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

.. option:: -pg

Enable mcount instrumentation

.. 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:: -print-targets, --print-targets

Print the registered targets

.. option:: -private\_bundle

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

Support POSIX threads in generated code

.. option:: -pthreads

.. 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-libgcc

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

Dynamically link the sanitizer runtime

.. option:: -single\_module

.. option:: -static-libgcc

.. option:: -static-libsan

Statically link the sanitizer runtime

.. option:: -static-libstdc++

.. option:: -static-openmp

Use the static host OpenMP runtime while linking.

.. 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:: -unwindlib=<arg>, --unwindlib=<arg>

Unwind library to use

.. 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-interface-stubs

Generate Interface Stub Files.

.. option:: -emit-llvm

Use the LLVM representation for assembler and object files

.. option:: -emit-merged-ifs

Generate Interface Stub Files, emit merged text not binary.

.. 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-new-pass-manager, -fno-experimental-new-pass-manager

Enables an experimental new pass manager in LLVM.

.. option:: -fexperimental-strict-floating-point

Enables experimental strict floating point 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:: -fglobal-isel, -fexperimental-isel, -fno-global-isel

Enables the global instruction selector

.. 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, -fno-record-command-line, -frecord-gcc-switches

.. 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-poison-custom-array-cookie, -fno-sanitize-address-poison-custom-array-cookie

Enable poisoning array cookies when using custom operator new\[\] in AddressSanitizer

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

Enable use-after-scope detection 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-destructor-kind=<arg>

Set the kind of module destructors emitted by AddressSanitizer instrumentation.
These destructors are emitted to unregister instrumented global variables when
code is unloaded (e.g. via `dlclose()`).

Valid options are:

* ``global`` - Emit module destructors that are called via a platform specific array (see `llvm.global_dtors`).
* ``none`` - Do not emit module destructors.

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

Path to blacklist file for sanitizers

.. option:: -fsanitize-cfi-canonical-jump-tables, -fno-sanitize-cfi-canonical-jump-tables

Make the jump table addresses canonical in the symbol table

.. 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-allowlist=<arg>, -fsanitize-coverage-whitelist=<arg>

Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones

.. option:: -fsanitize-coverage-blocklist=<arg>, -fsanitize-coverage-blacklist=<arg>

Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones

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

Specify the type of coverage instrumentation for Sanitizers

.. option:: -fsanitize-hwaddress-abi=<arg>

Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.

.. option:: -fsanitize-link-c++-runtime, -fno-sanitize-link-c++-runtime

.. option:: -fsanitize-link-runtime, -fno-sanitize-link-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=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>..., -fsanitize-recover (equivalent to -fsanitize-recover=all)

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>..., -fsanitize-trap (equivalent to -fsanitize-trap=all), -fsanitize-undefined-trap-on-error (equivalent to -fsanitize-trap=undefined)

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=<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:: -print-supported-cpus, --print-supported-cpus, -mcpu=?, -mtune=?

Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)

.. 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

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

remap file source paths in predefined preprocessor macros

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. For C++ input, if
there are multiple -I options, these directories are searched
in the order they are given before the standard system directories
are searched. If the same directory is in the SYSTEM include search
paths, for example if also specified with -isystem, the -I option
will be ignored

.. 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:: --libomptarget-nvptx-bc-path=<arg>

Path to libomptarget-nvptx bitcode library

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

Path to ptxas (used for compiling CUDA code)

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

ROCm installation path, used for finding and automatically linking required bitcode libraries.

.. program:: clang1
.. option:: -stdlib++-isystem<directory>
.. program:: clang

Use directory as the C++ standard library include path

.. 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:: -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:: -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-link-rtlib

Force linking the clang builtins runtime library

.. 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:: -fbasic-block-sections=<arg>

Generate labels for each basic block or place each basic block or a subset of basic blocks in its own section.

.. 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

.. 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:: -fcf-runtime-abi=<arg>

.. 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

Enable colors in diagnostics

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

Place uninitialized global variables in a common block

.. 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:: -fconvergent-functions

Assume functions may be convergent

.. 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:: -fcs-profile-generate

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

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

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

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

Use approximate transcendental functions

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

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

.. 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

.. option:: -fdebug-compilation-dir <arg>, -fdebug-compilation-dir=<arg>

The compilation directory to embed in the debug info.

.. option:: -fdebug-default-version=<arg>

Default DWARF version to use, if a -g option caused DWARF debug info to be produced

.. 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-ranges-base-address, -fno-debug-ranges-base-address

Use DWARF base address selection entries in .debug\_ranges

.. 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 (default)

.. 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:: -feliminate-unused-debug-types, -fno-eliminate-unused-debug-types

Do not emit  debug info for defined but unused types

.. 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:: -fenable-matrix

Enable matrix data type and related builtin functions

.. 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:: -fexperimental-new-constant-interpreter

Enable the experimental new constant interpreter

.. option:: -fexperimental-relative-c++-abi-vtables, -fno-experimental-relative-c++-abi-vtables

Use the experimental C++ class ABI for classes with virtual tables

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

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

Allow aggressive, lossy floating-point optimizations

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

remap file source paths in debug info and predefined preprocessor macros

.. 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-dwarf-frame, -fno-force-dwarf-frame

Always emit a debug frame section

.. 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) \| off (never fuse). Default is 'fast' for CUDA/HIP and 'on' otherwise.

.. option:: -ffp-exception-behavior=<arg>

Specifies the exception behavior of floating-point operations.

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

Controls the semantics of floating-point calculations.

.. 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

.. 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:: -fgnuc-version=<arg>

Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)

.. option:: -fgpu-allow-device-init, -fno-gpu-allow-device-init

Allow device side init function in HIP

.. option:: -fgpu-defer-diag, -fno-gpu-defer-diag

Defer host/device related diagnostic messages for CUDA/HIP

.. option:: -fgpu-rdc, -fcuda-rdc, -fno-gpu-rdc

Generate relocatable device code, also known as separate compilation mode

.. option:: -fhip-new-launch-api, -fno-hip-new-launch-api

Use new kernel launching API for HIP

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

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

.. option:: -fhosted

.. option:: -fignore-exceptions

Enable support for ignoring exception handling constructs

.. 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:: -fintegrated-cc1, -fno-integrated-cc1

Run cc1 in-process

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

Use jump tables for lowering switches

.. option:: -fkeep-static-consts, -fno-keep-static-consts

Keep static const variables if unused

.. option:: -flax-vector-conversions=<arg>, -flax-vector-conversions (equivalent to -flax-vector-conversions=integer), -fno-lax-vector-conversions (equivalent to -flax-vector-conversions=none)

Enable implicit vector bit-casts

.. 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-tokens=<arg>

Max total number of preprocessed tokens for -Wmax-tokens.

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

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

.. option:: -fmemory-profile, -fno-memory-profile

Enable heap memory profiling

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

Allow merging of constants

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

Format message diagnostics so that they fit within N columns

.. 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:: -fmodules-validate-input-files-content

Validate PCM input files based on content if mtime differs

.. 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

.. 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-access-control, -fno-no-access-control

.. 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-strict-modules-decluse

.. option:: -fno-temp-file

Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes

.. option:: -fno-working-directory

.. option:: -fno\_modules-validate-input-files-content

.. program:: clang1
.. option:: -fno\_pch-validate-input-files-content
.. program:: clang

.. 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-convert-messages-to-runtime-calls, -fno-objc-convert-messages-to-runtime-calls

.. 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=<file>

Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.

.. option:: -foptimization-record-passes=<regex>

Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)

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

.. option:: -forder-file-instrumentation

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

.. 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:: -fpass-plugin=<dsopath>

Load pass plugin from a dynamic shared object file (only with new pass manager).

.. option:: -fpatchable-function-entry=<N,M>

Generate M NOPs before function entry and N-M NOPs after function entry

.. option:: -fpcc-struct-return

Override the default ABI to return all structs on the stack

.. option:: -fpch-codegen, -fno-pch-codegen

Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH

.. option:: -fpch-debuginfo, -fno-pch-debuginfo

Generate debug info for types in an object file built from this PCH and do not generate them elsewhere

.. option:: -fpch-instantiate-templates, -fno-pch-instantiate-templates

Instantiate templates already while building a PCH

.. option:: -fpch-preprocess

.. option:: -fpch-validate-input-files-content

Validate PCH input files based on content if mtime differs

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

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

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

.. 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-exclude-files=<arg>

Instrument only functions from files where names don't match all the regexes separated by a semi-colon

.. option:: -fprofile-filter-files=<arg>

Instrument only functions from files where names match any regex separated by a semi-colon

.. 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-remapping-file=<file>, -fprofile-remapping-file <arg>

Use the remappings described in <file> to match the profile data against names in the program

.. 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

.. option:: -fprofile-update=<method>

Set update method of profile counters (atomic,prefer-atomic,single)

.. 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>.

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

Filename defining the list of functions/files to instrument. The file uses the sanitizer special case list format.

.. 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

Generate read-only position independent code (ARM only)

.. option:: -frounding-math, -fno-rounding-math

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

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

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

Generate read-write position independent code (ARM only)

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

Generate a YAML optimization record file

.. program:: clang1
.. option:: -fsave-optimization-record=<format>
.. program:: clang

Generate an optimization record file in a specific format

.. option:: -fseh-exceptions

Use SEH style exceptions

.. option:: -fsemantic-interposition, -fno-semantic-interposition

.. 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

char is signed

.. 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-lto-unit, -fno-split-lto-unit

Enables splitting of the LTO unit

.. option:: -fsplit-machine-functions, -fno-split-machine-functions

Enable late function splitting using profile information (x86 ELF)

.. option:: -fsplit-stack

.. option:: -fstack-clash-protection, -fno-stack-clash-protection

Enable stack clash protection

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

Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.

.. option:: -fstack-protector-all

Enable stack protectors for all functions

.. option:: -fstack-protector-strong

Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable

.. 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

.. 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:: -fsymbol-partition=<arg>

.. option:: -ftabstop=<arg>

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

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

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

.. option:: -ftest-coverage, -fno-test-coverage

.. option:: -fthin-link-bitcode=<arg>

Write minimized bitcode to <file> for the ThinLTO thin link only

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

Perform ThinLTO importing using provided function summary index

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

.. option:: -ftime-report

.. option:: -ftime-trace


Turn on time profiler. Generates JSON file based on output filename. Results
can be analyzed with chrome://tracing or `Speedscope App
<https://www.speedscope.app>`_ for flamegraph visualization.

.. option:: -ftime-trace-granularity=<arg>

Minimum time granularity (in microseconds) traced by time profiler

.. 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:: -ftrivial-auto-var-init-stop-after=<arg>

Stop initializing trivial automatic stack variables after the specified number of instances

.. option:: -ftrivial-auto-var-init=<arg>

Initialize trivial automatic stack variables: uninitialized (default) \| pattern

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

Use unique names for basic block sections (ELF Only)

.. option:: -funique-internal-linkage-names, -fno-unique-internal-linkage-names

Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path

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

.. 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

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

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

Use #line in preprocessed output

.. option:: -fvalidate-ast-input-files-content

Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical

.. option:: -fveclib=<arg>

Use the given vector functions library

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

Enable the loop vectorization passes

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

Generate verbose assembly output

.. option:: -fvirtual-function-elimination, -fno-virtual-function-elimination

Enables dead virtual function elimination optimization. Requires -flto=full

.. option:: -fvisibility-global-new-delete-hidden

Give global C++ operator new and delete declarations hidden visibility

.. option:: -fvisibility-inlines-hidden

Give inline C++ member functions hidden visibility by default

.. option:: -fvisibility-inlines-hidden-static-local-var, -fno-visibility-inlines-hidden-static-local-var

When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given 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:: -fwasm-exceptions

Use WebAssembly style exceptions

.. 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

Always emit \_\_xray\_customevent(...) calls even if the containing function is not always instrumented

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

Always emit \_\_xray\_typedevent(...) calls even if the containing function 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-function-groups=<arg>

Only instrument 1 of N groups

.. option:: -fxray-function-index, -fno-xray-function-index

.. option:: -fxray-ignore-loops, -fno-xray-ignore-loops

Don't instrument functions with loops unless they also meet the minimum function size

.. 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-entry, function-exit, function, custom. Default is 'all'.  'function' includes both 'function-entry' and 'function-exit'.

.. 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:: -fxray-selected-function-group=<arg>

When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1

.. 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.

SYCL flags
----------
.. option:: -fsycl, -fno-sycl

Enable SYCL kernels compilation for device

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

SYCL language standard to compile for.

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

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

.. option:: -ffixed-x1

Reserve the x1 register (AArch64/RISC-V only)

.. option:: -ffixed-x10

Reserve the x10 register (AArch64/RISC-V only)

.. option:: -ffixed-x11

Reserve the x11 register (AArch64/RISC-V only)

.. option:: -ffixed-x12

Reserve the x12 register (AArch64/RISC-V only)

.. option:: -ffixed-x13

Reserve the x13 register (AArch64/RISC-V only)

.. option:: -ffixed-x14

Reserve the x14 register (AArch64/RISC-V only)

.. option:: -ffixed-x15

Reserve the x15 register (AArch64/RISC-V only)

.. option:: -ffixed-x16

Reserve the x16 register (AArch64/RISC-V only)

.. option:: -ffixed-x17

Reserve the x17 register (AArch64/RISC-V only)

.. option:: -ffixed-x18

Reserve the x18 register (AArch64/RISC-V only)

.. option:: -ffixed-x19

Reserve the x19 register (AArch64/RISC-V only)

.. option:: -ffixed-x2

Reserve the x2 register (AArch64/RISC-V only)

.. option:: -ffixed-x20

Reserve the x20 register (AArch64/RISC-V only)

.. option:: -ffixed-x21

Reserve the x21 register (AArch64/RISC-V only)

.. option:: -ffixed-x22

Reserve the x22 register (AArch64/RISC-V only)

.. option:: -ffixed-x23

Reserve the x23 register (AArch64/RISC-V only)

.. option:: -ffixed-x24

Reserve the x24 register (AArch64/RISC-V only)

.. option:: -ffixed-x25

Reserve the x25 register (AArch64/RISC-V only)

.. option:: -ffixed-x26

Reserve the x26 register (AArch64/RISC-V only)

.. option:: -ffixed-x27

Reserve the x27 register (AArch64/RISC-V only)

.. option:: -ffixed-x28

Reserve the x28 register (AArch64/RISC-V only)

.. option:: -ffixed-x29

Reserve the x29 register (AArch64/RISC-V only)

.. option:: -ffixed-x3

Reserve the x3 register (AArch64/RISC-V only)

.. option:: -ffixed-x30

Reserve the x30 register (AArch64/RISC-V only)

.. option:: -ffixed-x31

Reserve the x31 register (AArch64/RISC-V only)

.. option:: -ffixed-x4

Reserve the x4 register (AArch64/RISC-V only)

.. option:: -ffixed-x5

Reserve the x5 register (AArch64/RISC-V only)

.. option:: -ffixed-x6

Reserve the x6 register (AArch64/RISC-V only)

.. option:: -ffixed-x7

Reserve the x7 register (AArch64/RISC-V only)

.. option:: -ffixed-x8

Reserve the x8 register (AArch64/RISC-V only)

.. option:: -ffixed-x9

Reserve the x9 register (AArch64/RISC-V only)

.. option:: -m16

.. option:: -m32

.. option:: -m64

.. option:: -mabi=<arg>

.. option:: -maix-struct-return

Return all structs in memory (PPC32 only)

.. option:: -malign-branch-boundary=<arg>

Specify the boundary's size to align branches

.. option:: -malign-branch=<arg1>,<arg2>...

Specify types of branches to align

.. 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:: -mbranches-within-32B-boundaries

Align selected branches (fused, jcc, jmp) within 32-byte boundary

.. option:: -mcmodel=<arg>, -mcmodel=medany (equivalent to -mcmodel=medium), -mcmodel=medlow (equivalent to -mcmodel=small)

.. option:: -mcode-object-v3, -mno-code-object-v3

Legacy option to specify code object ABI V2 (-mnocode-object-v3) or V3 (-mcode-object-v3) (AMDGPU only)

.. option:: -mcode-object-version=<version>

Specify code object ABI version. Defaults to 4. (AMDGPU only)

.. option:: -mconsole<arg>

.. program:: clang1
.. 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), -mv66 (equivalent to -mcpu=hexagonv66), -mv67 (equivalent to -mcpu=hexagonv67), -mv67t (equivalent to -mcpu=hexagonv67t)
.. program:: clang

.. 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:: -mdouble=<arg>

Force double to be 32 bits or 64 bits

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

.. option:: -meabi <arg>

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

.. option:: -menable-experimental-extensions

Enable use of experimental RISC-V extensions.

.. option:: -mfentry

Insert calls to fentry at function entry (x86/SystemZ 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:: -mhwmult=<arg>

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

Use Intel MCU ABI

.. option:: -mignore-xcoff-visibility

Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file

.. 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:: -mlvi-cfi, -mno-lvi-cfi

Enable only control-flow mitigations for Load Value Injection (LVI)

.. option:: -mlvi-hardening, -mno-lvi-hardening

Enable all mitigations for Load Value Injection (LVI)

.. 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:: -mnop-mcount

Generate mcount/\_\_fentry\_\_ calls as nops. To activate they need to be patched in.

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

Omit frame pointer setup for leaf functions

.. option:: -moslib=<arg>

.. option:: -mpacked-stack, -mno-packed-stack

Use packed stack layout (SystemZ only).

.. option:: -mpad-max-prefix-size=<arg>

Specify maximum number of prefixes to use for padding

.. 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:: -mrecord-mcount

Generate a \_\_mcount\_loc section entry for each \_\_fentry\_\_ call.

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

.. option:: -mregparm=<arg>

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

Enable linker relaxation

.. 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:: -mseses, -mno-seses

Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations

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

Select return address signing scope

.. option:: -msim

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

Use software floating point

.. option:: -mspeculative-load-hardening, -mno-speculative-load-hardening

.. 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:: -mstack-protector-guard-offset=<arg>

Use the given offset for addressing the stack-protector guard

.. option:: -mstack-protector-guard-reg=<arg>

Use the given reg for addressing the stack-protector guard

.. option:: -mstack-protector-guard=<arg>

Use the given guard (global, tls) for addressing the stack-protector guard

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

Force realign the stack at entry to every function

.. option:: -msvr4-struct-return

Return small structs in registers (PPC32 only)

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

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

.. option:: -mthreads<arg>

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

.. option:: -mtls-direct-seg-refs, -mno-tls-direct-seg-refs

Enable direct TLS access through segment registers (default)

.. option:: -mtls-size=<arg>

Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) \| 24 (for 16MB, default) \| 32 (for 4GB) \| 48 (for 256TB, needs -mcmodel=large)

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

Only supported on X86 and RISC-V. Otherwise accepted for compatibility with GCC.

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

.. option:: -municode<arg>

.. option:: -mabi=vec-extabi, -mabi=vec-default

Only supported on AIX. Specify usage of the extended vector ABI on AIX and of non-volatile vector registers. Defaults to '-mabi=default' when Altivec is enabled.

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

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

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

.. option:: -mwavefrontsize64, -mno-wavefrontsize64

Specify wavefront size 64 mode (AMDGPU only)

.. option:: -mwindows<arg>

.. option:: -mx32

AARCH64
-------
.. 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:: -fcall-saved-x8

Make the x8 register call-saved (AArch64 only)

.. option:: -fcall-saved-x9

Make the x9 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)

.. option:: -mmark-bti-property

Add .note.gnu.property with BTI to assembly files (AArch64 only)

.. option:: -msve-vector-bits=<arg>

Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)

AMDGPU
------
.. option:: -mcumode, -mno-cumode

Specify CU (-mcumode) or WGP (-mno-cumode) wavefront execution mode (AMDGPU only)

.. option:: -msram-ecc, -mno-sram-ecc

Specify SRAM ECC mode (AMDGPU only)

.. option:: -mtgsplit, -mno-tgsplit

Enable threadgroup split execution mode (AMDGPU only)

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

Specify XNACK mode (AMDGPU only)

ARM
---
.. option:: -faapcs-bitfield-load

Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).

.. option:: -faapcs-bitfield-width, -fno-aapcs-bitfield-width

Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).

.. option:: -ffixed-r9

Reserve the r9 register (ARM only)

.. option:: -mcmse

Allow use of CMSE (Armv8-M Security Extensions)

.. 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>

Thread pointer access method (AArch32/AArch64 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:: -mefpu2

.. 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:: -mmma, -mno-mma

.. option:: -mpaired-vector-memops, -mno-paired-vector-memops

.. option:: -mpcrel, -mno-pcrel

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

.. option:: -mpower10-vector, -mno-power10-vector

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

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

.. option:: -msecure-plt

.. option:: -mspe, -mno-spe

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

WebAssembly
-----------
.. option:: -matomics, -mno-atomics

.. option:: -mbulk-memory, -mno-bulk-memory

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

.. option:: -mmultivalue, -mno-multivalue

.. option:: -mmutable-globals, -mno-mutable-globals

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

.. option:: -mreference-types, -mno-reference-types

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

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

.. option:: -mtail-call, -mno-tail-call

.. option:: -munimplemented-simd128, -mno-unimplemented-simd128

WebAssembly Driver
------------------
.. option:: -mexec-model=<arg>

Execution model (WebAssembly only)

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

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

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

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

.. option:: -mamx-bf16, -mno-amx-bf16

.. option:: -mamx-int8, -mno-amx-int8

.. option:: -mamx-tile, -mno-amx-tile

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

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

.. option:: -mavx512bf16, -mno-avx512bf16

.. 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:: -mavx512vp2intersect, -mno-avx512vp2intersect

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

.. option:: -mavxvnni, -mno-avxvnni

.. 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:: -menqcmd, -mno-enqcmd

.. 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:: -mhreset, -mno-hreset

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

.. option:: -mkl, -mno-kl

.. 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:: -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:: -mserialize, -mno-serialize

.. 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:: -mtsxldtrk, -mno-tsxldtrk

.. option:: -muintr, -mno-uintr

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

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

.. option:: -mvzeroupper, -mno-vzeroupper

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

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

.. option:: -mwidekl, -mno-widekl

.. 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:: -msave-restore, -mno-save-restore

Enable using library calls for save and restore

Long double flags
-----------------
Selects the long double implementation

.. option:: -mlong-double-128

Force long double to be 128 bits

.. option:: -mlong-double-64

Force long double to be 64 bits

.. option:: -mlong-double-80

Force long double to be 80 bits, padded to 128 bits for storage

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

Flags controlling how much optimization should be performed.

.. option:: -O<arg>, -O (equivalent to -O1), --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

Generate source-level debug information with the default dwarf version

.. 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

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-directives-only

Emit debug line info directives only

.. 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, -gno-record-command-line, -grecord-gcc-switches

.. option:: -gsplit-dwarf

.. program:: clang1
.. option:: -gsplit-dwarf=<arg>
.. program:: clang

Set DWARF fission mode to either 'split' or 'single'

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

.. option:: -gz=<arg>, -gz (equivalent to -gz=zlib)

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:: -coverage, --coverage

.. option:: -e<arg>, --entry

.. option:: -filelist <arg>

.. option:: --hip-device-lib=<arg>

HIP device library

.. option:: -l<arg>

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

.. option:: -nostartfiles

.. program:: clang1
.. option:: -nostdlib, --no-standard-libraries
.. program:: clang

.. option:: -pie

.. option:: -r

.. option:: -rdynamic

.. option:: --rocm-device-lib-path=<arg>, --hip-device-lib-path=<arg>

ROCm device library path. Alternative to rocm-path.

.. option:: -rpath <arg>

.. option:: -s

.. option:: -shared, --shared

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

.. option:: -static, --static

.. option:: -static-pie

.. 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
