..
  -------------------------------------------------------------------
  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$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file

.. 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:: -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\|sarif-html\|text).

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

Manually specify the CUDA feature to use

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

An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.

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

.. option:: -darwin-target-variant <arg>

Generate code for an additional runtime variant of the deployment target

.. option:: -darwin-target-variant-triple <arg>

Specify the darwin target variant triple

.. 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:: --end-no-unused-arguments

Start emitting warnings for unused driver arguments

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

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

.. option:: -fautomatic

.. option:: -ffixed-r19

Reserve register r19 (Hexagon only)

.. option:: -fgpu-default-stream=<arg>

Specify default stream. The default value is 'legacy'. (HIP only). <arg> must be 'legacy' or 'per-thread'.

.. option:: -fgpu-flush-denormals-to-zero, -fcuda-flush-denormals-to-zero, -fno-gpu-flush-denormals-to-zero

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

.. 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:: -fplugin-arg-<name>-<arg>

Pass <arg> to plugin <name>

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

Path to system ignorelist file for sanitizers

.. option:: -fshow-skipped-includes

#include files may be "skipped" due to include guard optimization
             or #pragma once. This flag makes -H show also such includes.

.. option:: -fsystem-module

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

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

Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) \| 'random' (ID's generated as random numbers) \| 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=\[ID\]' if it is specified.

.. option:: --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:: -gen-reproducer=<arg>, -fno-crash-diagnostics (equivalent to -gen-reproducer=off)

Emit reproducer on (option: off, crash (default), error, always)

.. 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, /help<arg>, -help<arg>, --help<arg>

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:: -menable-unsafe-fp-math

Allow unsafe floating-point math optimizations which may decrease precision

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

Select straight-line speculation hardening scope (ARM/AArch64/X86 only). <arg> must be: all, none, retbr(ARM/AArch64), blr(ARM/AArch64), comdat(ARM/AArch64), nocomdat(ARM/AArch64), return(X86), indirect-jmp(X86)

.. 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:: -mmlir <arg>

Additional arguments to forward to MLIR'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-hip-rt

Do not link against HIP runtime libraries

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

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

.. option:: -nobuiltininc

Disable builtin #include directories

.. option:: -nodefaultlibs

.. option:: -nodriverkitlib

.. option:: -nofixprebinding

.. option:: -nogpuinc, -nocudainc

Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers

.. option:: -nogpulib, -nocudalib

Do not link device library for CUDA/HIP device compilation

.. option:: -nohipwrapperinc

Do not include the default HIP wrapper headers and include paths

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

.. program:: clang1
.. option:: -o<file>, /Fo<arg>, -Fo<arg>, --output <arg>, --output=<arg>
.. program:: clang

Write output to <file>

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

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

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

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

Set the output <file> for debug infos

.. 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+:sramecc-).  May be specified more than once.

.. option:: --offload-device-only, --cuda-device-only

Only compile for the offloading device.

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

Only compile for the offloading host.

.. option:: --offload-host-only, --cuda-host-only

Only compile for the offloading host.

.. option:: --offload=<arg1>,<arg2>...

Specify comma-separated list of offloading target triples (CUDA and HIP only)

.. 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-diagnostic-options, --print-diagnostic-options

Print all of Clang's warning options

.. 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-multiarch, --print-multiarch

Print the multiarch target triple

.. 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-rocm-search-dirs, --print-rocm-search-dirs

Print the paths used for finding ROCm installation

.. option:: -print-runtime-dir, --print-runtime-dir

Print the directory pathname containing clangs runtime libraries

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

.. 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:: --start-no-unused-arguments

Don't emit warnings about unused arguments for the following arguments

.. 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. <arg> must be 'libc++', 'libstdc++' or 'platform'.

.. 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. <arg> must be 'libgcc', 'unwindlib' or 'platform'.

.. 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:: -why\_load, -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:: -extract-api

Extract API information

.. option:: -fdriver-only

Only run the driver.

.. 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:: -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:: -ansi, --ansi

.. option:: -fc++-abi=<arg>

C++ ABI to use. This will override the target C++ ABI.

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

Attempt to match the ABI of Clang <version>. <version> must be '<major>.<minor>' or 'latest'.

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

Put crash-report files in <dir>

.. option:: -fcrash-diagnostics=<arg>, -fcrash-diagnostics (equivalent to -fcrash-diagnostics=compiler)

Set level of crash diagnostic reporting, (option: off, compiler, all)

.. 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-relative-c++-abi-vtables, -fno-experimental-relative-c++-abi-vtables

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

.. 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-legacy-pass-manager, -fexperimental-new-pass-manager

.. option:: -fno-sanitize-ignorelist, -fno-sanitize-blacklist

Don't use ignorelist file for sanitizers

.. option:: -fparse-all-comments

.. option:: -frandomize-layout-seed-file=<file>

File holding the seed used by the randomize structure layout feature

.. option:: -frandomize-layout-seed=<seed>

The seed used by the randomize structure layout feature

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

.. option:: -fsanitize-address-destructor=<arg>

Set destructor type used in ASan instrumentation. <arg> must be 'none' or 'global'.

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

Level of field padding for AddressSanitizer

.. option:: -fsanitize-address-globals-dead-stripping, -fno-sanitize-address-globals-dead-stripping

Enable linker dead stripping of globals in AddressSanitizer

.. option:: -fsanitize-address-outline-instrumentation, -fno-sanitize-address-outline-instrumentation

Always generate function calls for address sanitizer instrumentation

.. 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-return=<mode>

Select the mode of detecting stack use-after-return in AddressSanitizer. <mode> must be 'never', 'runtime' or 'always'.

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

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

.. option:: -fsanitize-coverage-ignorelist=<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-hwaddress-experimental-aliasing, -fno-sanitize-hwaddress-experimental-aliasing

Enable aliasing mode in HWAddressSanitizer

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

Path to ignorelist file for sanitizers

.. 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-memtag-mode=<arg>

Set default MTE mode to 'sync' (default) or 'async'

.. 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:: -moutline-atomics, -mno-outline-atomics

Generate local calls to out-of-line atomic operations

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

.. program:: clang2
.. option:: -D<macro>=<value>, --D<arg>, /D<arg>, -D<arg>, --define-macro <arg>, --define-macro=<arg>
.. program:: clang

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

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

Show header includes and nesting depth

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

Disable linemarker output in -E mode

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

Undefine macro <macro>

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

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

.. option:: -Xpreprocessor <arg>

Pass <arg> to the preprocessor

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

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

.. program:: clang3
.. option:: -I<dir>, /I<dir>, -I<dir>, --include-directory <arg>, --include-directory=<arg>
.. program:: clang

Add directory to include search path. For C++ inputs, 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:: --amdgpu-arch-tool=<arg>

Tool used for detecting AMD GPU arch in the system.

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

HIP runtime installation path, used for finding HIP version and adding HIP include 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-amdgpu-bc-path=<arg>, --libomptarget-amdgcn-bc-path=<arg>

Path to libomptarget-amdgcn bitcode library

.. 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:: -Wframe-larger-than=<arg>, -Wframe-larger-than

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

Target-independent compilation options
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. option:: -fPIC, -fno-PIC

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

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

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

Emit an address-significance table

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

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

.. option:: -falign-loops=<N>

N must be a power of two. Align loops to the boundary

.. 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:: -faltivec-src-compat=<arg>

Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'. <arg> must be 'mixed', 'gcc' or 'xl'.

.. 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:: -fapprox-func, -fno-approx-func

Allow certain math function calls to be replaced with an approximately equivalent calculation

.. 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:: -fasync-exceptions, -fno-async-exceptions

Enable EH Asynchronous exceptions

.. 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. <arg> must be 'all', 'labels', 'none' or 'list='.

.. option:: -fbinutils-version=<major.minor>

Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.

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

.. program:: clang1
.. option:: -fc++-static-destructors, -fno-c++-static-destructors
.. program:: clang

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

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

Instrument control-flow architecture protection. <arg> must be 'return', 'branch', 'full' or 'none'.

.. option:: -fcf-runtime-abi=<arg>

 <arg> must be 'unspecified', 'standalone', 'objc', 'swift', 'swift-5.0', 'swift-4.2' or 'swift-4.1'.

.. 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, -fdiagnostics-color, -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-compilation-dir=<arg>

The compilation directory to embed in the coverage mapping.

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

Generate coverage mapping to enable code coverage analysis

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

remap file source paths in coverage mapping

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

Enable modules for C++

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

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

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

Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary

.. option:: -fdiagnostics-misexpect-tolerance=<value>

Prevent misexpect diagnostics from being output if the profile counts are within N% of the expected. 

.. 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:: -fdirect-access-external-data, -fno-direct-access-external-data

Don't use GOT indirection to reference external data symbols

.. option:: -fdirectives-only, -fno-directives-only

.. 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> must be 'off', 'all', 'bitcode' or 'marker'.

.. option:: -fembed-offload-object=<arg>

Embed Offloading device-side binary into host object file as a section.

.. option:: -femit-all-decls

Emit all declarations, even if unused

.. option:: -femit-dwarf-unwind=<arg>

When to emit DWARF unwind (EH frame) info. <arg> must be 'always', 'no-compact-unwind' or 'default'.

.. 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-library, -fno-experimental-library

Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes

.. option:: -fexperimental-new-constant-interpreter

Enable the experimental new constant interpreter

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

.. option:: -fextend-arguments=<arg>

Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions. <arg> must be '32' or '64'.

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

Allow aggressive, lossy floating-point optimizations

.. option:: -ffile-compilation-dir=<arg>

The compilation directory to embed in the debug info and coverage mapping.

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

remap file source paths in debug info, predefined preprocessor macros and \_\_builtin\_FILE(). Implies -ffile-reproducible.

.. option:: -ffile-reproducible, -fno-file-reproducible

Use the target's platform-specific path separator character when expanding the \_\_FILE\_\_ macro

.. option:: -ffinite-loops, -fno-finite-loops

Assume all loops are finite.

.. 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 (fuses across statements disregarding pragmas) \| on (only fuses in the same statement unless dictated by pragmas) \| off (never fuses) \| fast-honor-pragmas (fuses across statements unless diectated by pragmas). Default is 'fast' for CUDA, 'fast-honor-pragmas' for HIP, and 'on' otherwise. <arg> must be 'fast', 'on', 'off' or 'fast-honor-pragmas'.

.. option:: -ffp-eval-method=<arg>

Specifies the evaluation method to use for floating-point arithmetic. <arg> must be 'source', 'double' or 'extended'.

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

Specifies the exception behavior of floating-point operations. <arg> must be 'ignore', 'maytrap' or 'strict'.

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

.. 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:: -fgpu-sanitize, -fno-gpu-sanitize

Enable sanitizer for AMDGPU target

.. option:: -fhip-fp32-correctly-rounded-divide-sqrt, -fno-hip-fp32-correctly-rounded-divide-sqrt

Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)

.. option:: -fhip-kernel-arg-name, -fno-hip-kernel-arg-name

Specify that kernel argument names are preserved (HIP only)

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

Specify the default character set for source files

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

Use internal machine object code emitter.

.. option:: -fjmc, -fno-jmc

Enable just-my-code debugging

.. 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. <arg> must be 'none', 'integer' or 'all'.

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

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

.. option:: -flto=<arg>, -flto (equivalent to -flto=full), -flto=auto (equivalent to -flto=full), -flto=jobserver (equivalent to -flto=full)

Set LTO mode. <arg> must be 'thin' or 'full'.

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

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

remap file source paths in predefined preprocessor macros and \_\_builtin\_FILE(). Implies -ffile-reproducible.

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

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

Enable heap memory profiling and dump results into <directory>

.. 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:: -fminimize-whitespace, -fno-minimize-whitespace

Minimize whitespace when emitting preprocessor output

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

.. option:: -fmodule-header

Build a C++20 Header Unit from a header.

.. program:: clang1
.. option:: -fmodule-header=<kind>
.. program:: clang

Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.

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

Load this module map file

.. option:: -fmodule-name=<name>, -fmodule-implementation-of <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-hotpatch

Ensure that all functions can be hotpatched at runtime

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

 <arg> must be 'single', 'multiple' or 'virtual'.

.. 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:: -fnew-infallible, -fno-new-infallible

Enable treating throwing global C++ operator new as always returning valid memory (annotates with \_\_attribute\_\_((returns\_nonnull)) and throw()). This is detectable in source.

.. option:: -fnext-runtime

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

Disable implicit builtin knowledge of a specific function

.. option:: -fno-elide-type

Do not elide types when printing diagnostics

.. option:: -fno-knr-functions

Disable support for K&R C function declarations

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

.. 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-disable-direct-methods-for-testing

Ignore attribute objc\_direct so that direct methods can be tested

.. option:: -fobjc-encode-cxx-class-template-spec, -fno-objc-encode-cxx-class-template-spec

Fully encode c++ class template specialization

.. 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:: -foffload-lto=<arg>, -foffload-lto (equivalent to -foffload-lto=full)

Set LTO mode for offload compilation. <arg> must be 'thin' or 'full'.

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

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

Parse OpenMP pragmas and generate parallel code.

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

Enable all Clang extensions for OpenMP directives and clauses

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

Set rpath on OpenMP executables

.. option:: -fopenmp-new-driver

Use the new driver for OpenMP offloading.

.. option:: -fopenmp-offload-mandatory

Do not create a host fallback if offloading to the device fails.

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

Emit OpenMP code only for SIMD-based constructs.

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

Enable debugging in the OpenMP offloading device RTL

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

Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.

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

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

.. option:: -foperator-names, -fno-operator-names

.. 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:: -fprebuilt-implicit-modules, -fno-prebuilt-implicit-modules

Look up implicit modules in the prebuilt module path

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

.. option:: -fproc-stat-report<arg>

Print subprocess statistics

.. program:: clang1
.. option:: -fproc-stat-report=<arg>
.. program:: clang

Save subprocess statistics to the given file

.. 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-function-groups=<N>

Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group

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

Filename defining the list of functions/files to instrument

.. option:: -fprofile-remapping-file=<file>

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-selected-function-group=<i>

Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive

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

Set update method of profile counters. <method> must be 'atomic', 'prefer-atomic' or '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>.

.. option:: -fprotect-parens, -fno-protect-parens

Determines whether the optimizer honors parentheses when floating-point expressions are evaluated

.. option:: -fpseudo-probe-for-profiling, -fno-pseudo-probe-for-profiling

Emit pseudo probes for sample profiling

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

.. 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:: -fsanitize-memory-param-retval, -fno-sanitize-memory-param-retval

Enable detection of uninitialized parameters and return values

.. 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. Defaults to 'all'. <arg> must be 'best' or '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, -fno-split-stack

Use segmented 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:: -fstack-usage

Emit .su file containing information 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-flex-arrays=<n>

Enable optimizations based on the strict definition of flexible arrays. <n> must be '0', '1' or '2'.

.. 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:: -fswift-async-fp=<option>

Control emission of Swift async extended frame info. <option> must be 'auto', 'always' or 'never'.

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

.. program:: clang1
.. option:: -ftime-report=<arg>
.. program:: clang

(For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation. <arg> must be 'per-pass' or 'per-pass-run'.

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

.. program:: clang1
.. option:: -ftime-trace=<arg>
.. program:: clang

Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file

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

 <arg> must be 'global-dynamic', 'local-dynamic', 'initial-exec' or 'local-exec'.

.. 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. Defaults to 'uninitialized'. <arg> must be 'uninitialized', 'zero' or '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:: -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. <arg> must be 'Accelerate', 'libmvec', 'MASSV', 'SVML', 'Darwin_libsystem_m' or 'none'.

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

The visibility for dllexport definitions \[-fvisibility-from-dllstorageclass\]. <arg> must be 'default', 'hidden', 'internal' or 'protected'.

.. option:: -fvisibility-externs-dllimport=<arg>

The visibility for dllimport external declarations \[-fvisibility-from-dllstorageclass\]. <arg> must be 'default', 'hidden', 'internal' or 'protected'.

.. option:: -fvisibility-externs-nodllstorageclass=<arg>

The visibility for external declarations without an explicit DLL dllstorageclass \[-fvisibility-from-dllstorageclass\]. <arg> must be 'default', 'hidden', 'internal' or 'protected'.

.. option:: -fvisibility-from-dllstorageclass, -fno-visibility-from-dllstorageclass

Set the visibility of symbols in the generated code from their DLL storage class

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

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

.. option:: -fvisibility-inlines-hidden, -fno-visibility-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-nodllstorageclass=<arg>

The visibility for definitions without an explicit DLL export class \[-fvisibility-from-dllstorageclass\]. <arg> must be 'default', 'hidden', 'internal' or 'protected'.

.. option:: -fvisibility=<arg>

Set the default symbol visibility for all global declarations. <arg> must be 'hidden' or 'default'.

.. 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:: -fxl-pragma-pack, -fno-xl-pragma-pack

Enable IBM XL #pragma pack handling

.. 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-call-used-regs=<arg>

Clear call-used registers upon function return (AArch64/x86 only). <arg> must be 'skip', 'used-gpr-arg', 'used-gpr', 'used-arg', 'used', 'all-gpr-arg', 'all-gpr', 'all-arg' or 'all'.

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

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

Enable System z vector language extension

.. option:: --gpu-bundle-output, --no-gpu-bundle-output

Bundle output files of HIP device compilation

.. option:: --offload-new-driver, --no-offload-new-driver

Use the new driver for offloading compilation.

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

Warn on language extensions

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

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

OpenCL only. Allow denormals to be flushed to zero.

.. option:: -cl-ext=<arg1>,<arg2>...

OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.

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

OpenCL only. Disables all standard includes containing non-native compiler types and functions.

.. 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. <arg> must be 'cl', 'CL', 'cl1.0', 'CL1.0', 'cl1.1', 'CL1.1', 'cl1.2', 'CL1.2', 'cl2.0', 'CL2.0', 'cl3.0', 'CL3.0', 'clc++', 'CLC++', 'clc++1.0', 'CLC++1.0', 'clc++2021' or 'CLC++2021'.

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

Enables SYCL kernels compilation for device

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

SYCL language standard to compile for. <arg> must be '2020', '2017', '121', '1.2.1' or 'sycl-1.2.1'.

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:: -ffuchsia-api-level=<arg>

Set Fuchsia API level

.. option:: -inline-asm=<arg>

 <arg> must be 'att' or 'intel'.

.. option:: -m16

.. option:: -m32

.. option:: -m64

.. option:: -mabi=<arg>

.. program:: clang1
.. option:: -mabi=quadword-atomics
.. program:: clang

Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.

.. program:: clang2
.. option:: -mabi=vec-default
.. program:: clang

Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.

.. program:: clang3
.. option:: -mabi=vec-extabi
.. program:: clang

Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers

.. 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:: -mamdgpu-ieee, -mno-amdgpu-ieee

Sets the IEEE bit in the expected default floating point  mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)

.. option:: -march=<arg>

.. option:: -masm=<arg>

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

Link stack frames through backchain on System Z

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

Enforce targets of indirect branches and function returns

.. 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 V3 (AMDGPU only)

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

Specify code object ABI version. Defaults to 4. (AMDGPU only). <arg> must be 'none', '2', '3', '4' or '5'.

.. 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), -mv68 (equivalent to -mcpu=hexagonv68), -mv69 (equivalent to -mcpu=hexagonv69)
.. 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:: -mdefault-visibility-export-mapping=<arg>

Mapping between default visibility and export. <arg> must be 'none', 'explicit' or 'all'.

.. option:: -mdll<arg>

.. option:: -mdouble=<n

Force double to be <n> bits. <n must be '32' or '64'.

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

.. option:: -meabi <arg>

Set EABI type. Default depends on triple). <arg> must be 'default', '4', '5' or 'gnu'.

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

 <arg> must be 'soft', 'softfp' or 'hard'.

.. option:: -mfpmath=<arg>

.. option:: -mfpu=<arg>

.. option:: -mfunction-return=<arg>

Replace returns with jumps to \`\`\_\_x86\_return\_thunk\`\` (x86 only, error otherwise). <arg> must be 'keep' or 'thunk-extern'.

.. option:: -mgeneral-regs-only

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

.. 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:: -mibt-seal

Optimize fcf-protection=branch/full (requires LTO).

.. 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:: -mios-version-min=<arg>, -miphoneos-version-min=<arg>

Set iOS deployment target

.. 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:: -mmacos-version-min=<arg>, -mmacosx-version-min=<arg>

Set macOS 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. <arg> must be 'none', 'all' or 'non-leaf'.

.. option:: -msim

.. option:: -mskip-rax-setup, -mno-skip-rax-setup

Skip setting up RAX register when passing variable arguments (x86 only)

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

Use the given symbol 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:: -mtargetos=<arg>

Set the deployment target to be the specified OS and OS version

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

The thread model to use. Defaults to 'posix'). <arg> must be 'posix' or 'single'.

.. 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 AArch64, PowerPC, RISC-V, SystemZ, and X86

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

.. option:: -municode<arg>

.. option:: -munsafe-fp-atomics, -mno-unsafe-fp-atomics

Enable unsafe floating point atomic instructions (AMDGPU only)

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

.. option:: -mvscale-max=<arg>

Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)

.. option:: -mvscale-min=<arg>

Specify the vscale minimum. Defaults to "1". (AArch64 only)

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

Specify CU wavefront execution mode (AMDGPU only)

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

Enable threadgroup split execution 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:: -mfix-cmse-cve-2021-35465, -mno-fix-cmse-cve-2021-35465

Work around VLLDM erratum CVE-2021-35465 (ARM only)

.. option:: -mfix-cortex-a57-aes-1742098, -mfix-cortex-a72-aes-1655431, -mno-fix-cortex-a57-aes-1742098

Work around Cortex-A57 Erratum 1742098 (ARM only)

.. option:: -mframe-chain=<arg>

Select the frame chain model used to emit frame records (Arm only). <arg> must be 'none', 'aapcs' or 'aapcs+leaf'.

.. option:: -mno-bti-at-return-twice

Do not add a BTI instruction after a setjmp or other return-twice construct (Arm/AArch64 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 complex IT blocks.

.. option:: -mtp=<arg>

Thread pointer access method (AArch32/AArch64 only). <arg> must be 'soft', 'cp15', 'el0', 'el1', 'el2' or 'el3'.

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

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

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

Enable Hexagon HVX IEEE floating-point

.. 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. <arg> must be '64B' or '128B'.

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

Enable Hexagon HVX QFloat instructions

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

Enable Hexagon Vector eXtensions

M68k
----
.. option:: -ffixed-a0

Reserve the a0 register (M68k only)

.. option:: -ffixed-a1

Reserve the a1 register (M68k only)

.. option:: -ffixed-a2

Reserve the a2 register (M68k only)

.. option:: -ffixed-a3

Reserve the a3 register (M68k only)

.. option:: -ffixed-a4

Reserve the a4 register (M68k only)

.. option:: -ffixed-a5

Reserve the a5 register (M68k only)

.. option:: -ffixed-a6

Reserve the a6 register (M68k only)

.. option:: -ffixed-d0

Reserve the d0 register (M68k only)

.. option:: -ffixed-d1

Reserve the d1 register (M68k only)

.. option:: -ffixed-d2

Reserve the d2 register (M68k only)

.. option:: -ffixed-d3

Reserve the d3 register (M68k only)

.. option:: -ffixed-d4

Reserve the d4 register (M68k only)

.. option:: -ffixed-d5

Reserve the d5 register (M68k only)

.. option:: -ffixed-d6

Reserve the d6 register (M68k only)

.. option:: -ffixed-d7

Reserve the d7 register (M68k only)

.. option:: -m68000

.. option:: -m68010

.. option:: -m68020

.. option:: -m68030

.. option:: -m68040

.. option:: -m68060

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:: -mfix4300

.. 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:: -mprefixed, -mno-prefixed

.. option:: -mprivileged

.. option:: -mrop-protect

.. 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:: -mextended-const, -mno-extended-const

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

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

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

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

.. option:: -mrelaxed-simd, -mno-relaxed-simd

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

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

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

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

Execution model (WebAssembly only). <arg> must be 'command' or 'reactor'.

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:: -mavx512fp16, -mno-avx512fp16

.. 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:: -mcrc32, -mno-crc32

.. 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:: -mrdpru, -mno-rdpru

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

Enables DWARF32 format for ELF binaries, if debug information emission is enabled.

.. option:: -gdwarf64

Enables DWARF64 format for ELF binaries, if debug information emission is enabled.

.. option:: -gfull

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

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

.. 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:: -gsimple-template-names, -gno-simple-template-names

.. option:: -gsplit-dwarf, -gno-split-dwarf

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

Set DWARF fission mode. <arg> must be '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:: -faggressive-function-elimination, -fno-aggressive-function-elimination

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

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

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

.. option:: -ffree-line-length-<arg>

.. option:: -ffrontend-optimize, -fno-frontend-optimize

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

.. option:: -Xoffload-linker<triple> <arg>

Pass <arg> to the offload linkers or the ones idenfied by -<triple>

.. program:: clang1
.. option:: -Z
.. program:: clang

.. option:: -b<arg>

Pass -b <arg> to the linker on AIX (only).

.. option:: -coverage, --coverage

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

.. option:: -filelist <arg>

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

HIP device library

.. option:: --hipspv-pass-plugin=<dsopath>

path to a pass plugin for HIP to SPIR-V passes.

.. option:: -l<arg>

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

.. option:: -nostartfiles

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

.. option:: --offload-link

Use the new offloading linker to perform the link job.

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

<clang-cl options>
==================
CL.EXE COMPATIBILITY OPTIONS

<clang-cl compile-only options>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</M group>
----------
</volatile group>
-----------------
<clang-cl ignored options>
~~~~~~~~~~~~~~~~~~~~~~~~~~
<clang-dxc options>
===================
dxc compatibility options

.. program:: clang4
.. option:: /T<profile>, -T<profile>
.. program:: clang

Set target profile. <profile> must be 'ps_6_0', ' ps_6_1', ' ps_6_2', ' ps_6_3', ' ps_6_4', ' ps_6_5', ' ps_6_6', ' ps_6_7', 'vs_6_0', ' vs_6_1', ' vs_6_2', ' vs_6_3', ' vs_6_4', ' vs_6_5', ' vs_6_6', ' vs_6_7', 'gs_6_0', ' gs_6_1', ' gs_6_2', ' gs_6_3', ' gs_6_4', ' gs_6_5', ' gs_6_6', ' gs_6_7', 'hs_6_0', ' hs_6_1', ' hs_6_2', ' hs_6_3', ' hs_6_4', ' hs_6_5', ' hs_6_6', ' hs_6_7', 'ds_6_0', ' ds_6_1', ' ds_6_2', ' ds_6_3', ' ds_6_4', ' ds_6_5', ' ds_6_6', ' ds_6_7', 'cs_6_0', ' cs_6_1', ' cs_6_2', ' cs_6_3', ' cs_6_4', ' cs_6_5', ' cs_6_6', ' cs_6_7', 'lib_6_3', ' lib_6_4', ' lib_6_5', ' lib_6_6', ' lib_6_7', ' lib_6_x', 'ms_6_5', ' ms_6_6', ' ms_6_7', 'as_6_5', ' as_6_6' or ' as_6_7'.

.. program:: clang5
.. option:: /emit-pristine-llvm, -emit-pristine-llvm, /fcgl, -fcgl
.. program:: clang

Emit pristine LLVM IR from the frontend by not running any LLVM passes at all.Same as -S + -emit-llvm + -disable-llvm-passes.

.. program:: clang6
.. option:: /hlsl-no-stdinc, -hlsl-no-stdinc
.. program:: clang

HLSL only. Disables all standard includes containing non-native compiler types and functions.

