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

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

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

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


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

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

.. option:: -F<arg>

Add directory to framework include search path

.. option:: -ObjC

Treat source input files as Objective-C inputs

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

Treat source input files as Objective-C++ inputs

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

Do not emit metadata containing compiler name and version

.. option:: -Qunused-arguments

Don't emit warning for unused driver arguments

.. option:: -Qy, -fident

Emit metadata containing compiler name and version

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

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

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

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

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

Pass <arg> to the CUDA/HIP device compilation

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

Pass <arg> to the CUDA/HIP host compilation

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

Pass <arg> to fatbinary invocation

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

Pass <arg> to the ptxas assembler

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

Pass <arg> to the target offloading toolchain.

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

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

.. option:: -Z<arg>

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

.. option:: -all\_load

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

.. option:: --analyze

Run the static analyzer

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

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

Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|sarif\|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-compile-host-device

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

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

Compile CUDA code for device only

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

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

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

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

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

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

.. option:: -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:: -dead\_strip

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

Filename to write DOT-formatted header dependencies to

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

Filename (or -) to write dependency output to

.. option:: -dsym-dir<dir>

Directory to output dSYM's (if any) to

.. option:: -dumpmachine

.. option:: -dumpversion

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

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

.. option:: -dylinker

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

.. option:: -dynamic

.. option:: -dynamiclib

.. option:: -emit-ast

Emit Clang AST files for source inputs

.. option:: --emit-static-lib

Enable linker job to emit a static library.

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

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

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

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

.. option:: -ffixed-r19

Reserve register r19 (Hexagon only)

.. 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:: -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>, -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:: --gpu-instrument-lib=<arg>

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

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

Default max threads per block for kernel launch bounds for HIP

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

.. option:: -help, --help

Display available options

.. option:: --help-hidden

Display help for hidden options

.. option:: --hip-link

Link clang-offload-bundler bundles for HIP

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

HIP version in the format of major.minor.patch

.. option:: -ibuiltininc

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

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

.. option:: -index-header-map

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

.. option:: -init <arg>

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

.. option:: -interface-stub-version=<arg>

.. option:: -keep\_private\_externs

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

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

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

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

Enforce targets of indirect branches and function returns

.. option:: -menable-unsafe-fp-math

Allow unsafe floating-point math optimizations which may decrease precision

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

Select straight-line speculation hardening scope

.. option:: --migrate

Run the migrator

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

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

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

.. option:: -mllvm <arg>

Additional arguments to forward to LLVM's option processing

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

Directory to dump module dependencies to

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

.. option:: -multi\_module

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

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

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

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

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

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

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

.. option:: -nobuiltininc

Disable builtin #include directories

.. option:: -nodefaultlibs

.. option:: -nofixprebinding

.. option:: -nogpuinc, -nocudainc

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

.. option:: -nomultidefs

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

.. option:: -noprebind

.. option:: -noprofilelib

.. option:: -noseglinkedit

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

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

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

.. option:: -nostdlib++

.. option:: -nostdlibinc

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

Write output to <file>

.. option:: -objcmt-atomic-property

Make migration to 'atomic' properties

.. option:: -objcmt-migrate-all

Enable migration to modern ObjC

.. option:: -objcmt-migrate-annotation

Enable migration to property and method annotations

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

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

.. option:: -objcmt-migrate-instancetype

Enable migration to infer instancetype for method result type

.. option:: -objcmt-migrate-literals

Enable migration to modern ObjC literals

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

Enable migration to NS\_ENUM/NS\_OPTIONS macros

.. option:: -objcmt-migrate-property

Enable migration to modern ObjC property

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

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

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

Enable migration to add protocol conformance on classes

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

Enable migration to modern ObjC readonly property

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

Enable migration to modern ObjC readwrite property

.. option:: -objcmt-migrate-subscripting

Enable migration to modern ObjC subscripting

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

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

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

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

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

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

.. option:: -object

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

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

.. option:: -p, --profile

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

.. option:: -pg

Enable mcount instrumentation

.. option:: -pipe, --pipe

Use pipes between commands, when possible

.. option:: -prebind

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

.. option:: -preload

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

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

Print the effective target triple

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

Print the full library path of <file>

.. option:: -print-ivar-layout

Enable Objective-C Ivar layout bitmap print trace

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

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

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

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

.. option:: -print-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:: -pthread, -no-pthread

Support POSIX threads in generated code

.. option:: -pthreads

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

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

Whether to build a relocatable precompiled header

.. option:: -remap

.. option:: -rewrite-legacy-objc

Rewrite Legacy Objective-C source to C++

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

Compiler runtime library to use

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

Save llvm statistics.

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

Save intermediate compilation results.

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

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

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

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

.. option:: -seg1addr<arg>

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

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

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

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

.. option:: -seglinkedit

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

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

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

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

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

Serialize compiler diagnostics to a file

.. option:: -shared-libgcc

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

Dynamically link the sanitizer runtime

.. option:: -single\_module

.. option:: -static-libgcc

.. option:: -static-libsan

Statically link the sanitizer runtime

.. option:: -static-libstdc++

.. option:: -static-openmp

Use the static host OpenMP runtime while linking.

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

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

C++ standard library to use

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

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

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

.. option:: --target-help

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

Generate code for the given target

.. option:: -time

Time individual commands

.. option:: -traditional, --traditional

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

Enable some traditional CPP emulation

.. option:: -twolevel\_namespace

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

.. option:: -umbrella <arg>

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

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

Unwind library to use

.. option:: -v, --verbose

Show commands to run and use verbose output

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

Verify the binary representation of debug output

.. option:: --version

Print version information

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

Suppress all warnings

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

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

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

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

.. option:: -whatsloaded

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

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

Use the legacy pass manager in LLVM (deprecated, to be removed in a future release)

.. option:: -fno-crash-diagnostics

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

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

Don't use ignorelist file for sanitizers

.. option:: -fparse-all-comments

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

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

Set destructor type used in ASan instrumentation

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

Level of field padding for AddressSanitizer

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

Enable linker dead stripping of globals in AddressSanitizer

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

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

.. option:: -fsanitize-address-use-after-return=<mode>

Select the mode of detecting stack use-after-return in AddressSanitizer

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

Enable use-after-scope detection in AddressSanitizer

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

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

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

Make the jump table addresses canonical in the symbol table

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

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

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

Generalize pointers in CFI indirect call type signature checks

.. option:: -fsanitize-coverage-allowlist=<arg>, -fsanitize-coverage-whitelist=<arg>

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

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

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

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

Specify the type of coverage instrumentation for Sanitizers

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

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

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

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

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

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

Show header includes and nesting depth

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

Disable linemarker output in -E mode

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

Undefine macro <macro>

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

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

.. option:: -Xpreprocessor <arg>

Pass <arg> to the preprocessor

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

remap file source paths in predefined preprocessor macros

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

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

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

Add directory to include search path. For C++ 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-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:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg>

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

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

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

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

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

Emit an address-significance table

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

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

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

Enable C++17 aligned allocation functions

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

Treat editor placeholders as valid source code

.. option:: -fallow-unsupported

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

.. option:: -fansi-escape-codes

Use ANSI escape codes for diagnostics

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

Use Apple's kernel extensions ABI

.. option:: -fapple-link-rtlib

Force linking the clang builtins runtime library

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

Enable Apple gcc-compatible #pragma pack handling

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

Restrict code to those available for App Extensions

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

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

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

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

.. option:: -fast

.. option:: -fastcp

.. option:: -fastf

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

.. 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. Options: return, branch, full, none.

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

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

Enable C++ builtin type char8\_t

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

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

Enable colors in diagnostics

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

Place uninitialized global variables in a common block

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

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

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

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

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

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

.. option:: -fconvergent-functions

Assume functions may be convergent

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

Enable support for the C++ Coroutines TS

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

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

Place each data in its own section

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

The compilation directory to embed in the debug info

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

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

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

Emit extra debug info to make sample profile more accurate

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

Emit macro debug information

.. option:: -fdebug-pass-arguments

.. option:: -fdebug-pass-structure

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

remap file source paths in debug info

.. option:: -fdebug-ranges-base-address, -fno-debug-ranges-base-address

Use DWARF base address selection entries in .debug\_ranges

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

Place debug types in their own section (ELF Only)

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

Parse templated function definitions at the end of the translation unit

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

Treat usage of null pointers as undefined behavior (default)

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

.. option:: -fdiagnostics-absolute-paths

Print absolute paths in diagnostics

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

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

.. option:: -fdiagnostics-hotness-threshold=<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-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:: -fdollars-in-identifiers, -fno-dollars-in-identifiers

Allow '$' in identifiers

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

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

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

.. option:: -fdwarf-exceptions

Use DWARF style exceptions

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

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

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

Do not emit  debug info for defined but unused types

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

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

.. option:: -femit-all-decls

Emit all declarations, even if unused

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

Use emutls functions to access thread\_local variables

.. option:: -fenable-matrix

Enable matrix data type and related builtin functions

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

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

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

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

Enable support for exception handling

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

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

Enable the experimental new constant interpreter

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

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

Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions

.. 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 and predefined preprocessor macros

.. 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 dictated by pragmas). Default is 'fast' for CUDA, 'fast-honor-pragmas' for HIP, and 'on' otherwise.

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

Specifies the exception behavior of floating-point operations.

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

Controls the semantics of floating-point calculations.

.. option:: -ffreestanding

Assert that the compilation takes place in a freestanding environment

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

Place each function in its own section

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

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

Allow GNU-extension keywords regardless of language standard

.. option:: -fgnu-runtime

Generate output compatible with the standard GNU Objective-C runtime

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

Use the gnu89 inline semantics

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

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

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

Allow device side init function in HIP (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-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:: -fjump-tables, -fno-jump-tables

Use jump tables for lowering switches

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

Keep static const variables if unused

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

Enable implicit vector bit-casts

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

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

Enable LTO in 'full' mode

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

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

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

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

.. program:: clang2
.. option:: -flto=auto
.. program:: clang

.. program:: clang3
.. option:: -flto=jobserver
.. program:: clang

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

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

Require math functions to indicate errors by setting errno

.. option:: -fmax-tokens=<arg>

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

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

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

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

Enable heap memory profiling

.. 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:: -fmodule-file-deps, -fno-module-file-deps

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

Load this module map file

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

Specify the name of the module to build

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

Enable the 'modules' language feature

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

Require declaration of modules used within a module

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

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

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

Search even non-imported modules to resolve references

.. option:: -fmodules-strict-decluse

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

.. option:: -fmodules-ts

Enable support for the C++ Modules TS

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

Validate PCM input files based on content if mtime differs

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

Enable full Microsoft Visual C++ compatibility

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

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

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

Accept some non-standard constructs supported by the Microsoft compiler

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

.. option:: -fms-volatile

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

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

.. option:: -fmudflap

.. option:: -fmudflapth

.. option:: -fnested-functions

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

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

.. option:: -fnew-infallible

Treats 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-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, -fno-offload-lto

Enable LTO in 'full' mode for offload compilation

.. program:: clang1
.. option:: -foffload-lto=<arg>
.. program:: clang

Set LTO mode to either 'full' or 'thin' for offload compilation

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

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

Parse OpenMP pragmas and generate parallel code.

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

Emit OpenMP code only for SIMD-based constructs.

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

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

Enable or disable all Clang extensions for OpenMP directives and clauses.  By
default, they are enabled.

.. 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-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-update=<method>

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

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

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

.. 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:: -fsave-optimization-record, -fno-save-optimization-record

Generate a YAML optimization record file

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

Generate an optimization record file in a specific format

.. option:: -fseh-exceptions

Use SEH style exceptions

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

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

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

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

Force wchar\_t to be a short unsigned int

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

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

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

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

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

.. option:: -fsigned-bitfields

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

char is signed

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

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

Enable C++14 sized global deallocation functions

.. option:: -fsjlj-exceptions

Use SjLj style exceptions

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

Enable the superword-level parallelism vectorization passes

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

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

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

Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF

.. option:: -fsplit-lto-unit, -fno-split-lto-unit

Enables splitting of the LTO unit

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

Enable late function splitting using profile information (x86 ELF)

.. option:: -fsplit-stack, -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-float-cast-overflow, -fno-strict-float-cast-overflow

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

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

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

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

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

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

.. option:: -fsymbol-partition=<arg>

.. option:: -ftabstop=<arg>

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

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

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

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

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

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

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

Perform ThinLTO importing using provided function summary index

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

.. option:: -ftime-report

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

.. option:: -ftime-trace


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

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

Minimum time granularity (in microseconds) traced by time profiler

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

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

Issue call to specified function rather than a trap instruction

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

.. option:: -ftrapv

Trap on integer overflow

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

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

Specify the function to be called on overflow

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

Process trigraph sequences

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

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

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

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

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

Use unique names for basic block sections (ELF Only)

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

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

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

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

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

Turn on loop unroller

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

.. option:: -funsigned-bitfields

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

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

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

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

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

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

Use #line in preprocessed output

.. option:: -fminimize-whitespace, -fno-minimize-whitespace

Ignore the whitespace from the input file when emitting preprocessor
output. It will only contain whitespace when necessary, e.g. to keep two
minus signs from merging into to an increment operator. Useful with the
-P option to normalize whitespace such that two files with only formatting
changes are equal.

Only valid with -E on C-like inputs and incompatible with -traditional-cpp.

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

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

.. option:: -fveclib=<arg>

Use the given vector functions library

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

Enable the loop vectorization passes

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

Generate verbose assembly output

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

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

.. option:: -fvisibility-dllexport=<arg>

The visibility for dllexport definitions \[-fvisibility-from-dllstorageclass\]

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

The visibility for dllimport external declarations \[-fvisibility-from-dllstorageclass\]

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

The visibility for external declarations without an explicit DLL dllstorageclass \[-fvisibility-from-dllstorageclass\]

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

.. option:: -fvisibility=<arg>

Set the default symbol visibility for all global declarations

.. option:: -fwarn-stack-size=<arg>

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

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

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

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

.. option:: -ffixed-x1

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

.. option:: -ffixed-x10

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

.. option:: -ffixed-x11

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

.. option:: -ffixed-x12

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

.. option:: -ffixed-x13

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

.. option:: -ffixed-x14

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

.. option:: -ffixed-x15

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

.. option:: -ffixed-x16

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

.. option:: -ffixed-x17

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

.. option:: -ffixed-x18

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

.. option:: -ffixed-x19

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

.. option:: -ffixed-x2

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

.. option:: -ffixed-x20

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

.. option:: -ffixed-x21

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

.. option:: -ffixed-x22

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

.. option:: -ffixed-x23

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

.. option:: -ffixed-x24

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

.. option:: -ffixed-x25

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

.. option:: -ffixed-x26

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

.. option:: -ffixed-x27

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

.. option:: -ffixed-x28

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

.. option:: -ffixed-x29

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

.. option:: -ffixed-x3

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

.. option:: -ffixed-x30

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

.. option:: -ffixed-x31

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

.. option:: -ffixed-x4

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

.. option:: -ffixed-x5

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

.. option:: -ffixed-x6

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

.. option:: -ffixed-x7

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

.. option:: -ffixed-x8

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

.. option:: -ffixed-x9

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

.. option:: -m16

.. option:: -m32

.. option:: -m64

.. option:: -mabi=<arg>

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

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

.. program:: clang2
.. 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:: -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=<version>

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

.. option:: -mconsole<arg>

.. program:: clang1
.. option:: -mcpu=<arg>, -mv5 (equivalent to -mcpu=hexagonv5), -mv55 (equivalent to -mcpu=hexagonv55), -mv60 (equivalent to -mcpu=hexagonv60), -mv62 (equivalent to -mcpu=hexagonv62), -mv65 (equivalent to -mcpu=hexagonv65), -mv66 (equivalent to -mcpu=hexagonv66), -mv67 (equivalent to -mcpu=hexagonv67), -mv67t (equivalent to -mcpu=hexagonv67t), -mv68 (equivalent to -mcpu=hexagonv68)
.. program:: clang

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

Allow use of CRC instructions (ARM/Mips only)

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

.. option:: -mdll<arg>

.. option:: -mdouble=<arg>

Force double to be 32 bits or 64 bits

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

.. option:: -meabi <arg>

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

.. option:: -menable-experimental-extensions

Enable use of experimental RISC-V extensions.

.. option:: -mfentry

Insert calls to fentry at function entry (x86/SystemZ only)

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

.. option:: -mfpmath=<arg>

.. option:: -mfpu=<arg>

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

Enable merging of globals

.. option:: -mhard-float

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

.. option:: -mhwmult=<arg>

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

Use Intel MCU ABI

.. option:: -mignore-xcoff-visibility

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

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

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

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

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

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

.. option:: -mkernel

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

Generate branches with extended addressability, usually via indirect jumps.

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

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

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

Enable all mitigations for Load Value Injection (LVI)

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

Set Mac OS X deployment target

.. option:: -mmcu=<arg>

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

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

.. option:: -mnop-mcount

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

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

Omit frame pointer setup for leaf functions

.. option:: -moslib=<arg>

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

Use packed stack layout (SystemZ only).

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

Specify maximum number of prefixes to use for padding

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

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

.. option:: -mqdsp6-compat

Enable hexagon-qdsp6 backward compatibility

.. option:: -mrecip

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

.. option:: -mrecord-mcount

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

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

.. option:: -mregparm=<arg>

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

Enable linker relaxation

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

(integrated-as) Relax all machine instructions

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

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

Make StdCall calling convention the default

.. option:: -mseses, -mno-seses

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

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

Select return address signing scope

.. option:: -msim

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

Use software floating point

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

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

Set the stack alignment

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

Enable stack probes

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

Set the stack probe size

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

Use the given offset for addressing the stack-protector guard

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

Use the given reg for addressing the stack-protector guard

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

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

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

Force realign the stack at entry to every function

.. option:: -msvr4-struct-return

Return small structs in registers (PPC32 only)

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

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

.. option:: -mthreads<arg>

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

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

Enable direct TLS access through segment registers (default)

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

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

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

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

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

.. option:: -municode<arg>

.. option:: -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:: -mgeneral-regs-only

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

.. option:: -mmark-bti-property

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

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

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

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

Specify CU 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:: -mfix-cmse-cve-2021-35465, -mno-fix-cmse-cve-2021-35465

Enable the cve-2021-35465 security vulnerability mitigation (ARM only).

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

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

.. option:: -mno-movt

Disallow use of movt/movw pairs (ARM only)

.. option:: -mno-neg-immediates

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

.. option:: -mnocrc

Disallow use of CRC instructions (ARM only)

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

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

.. option:: -mtp=<arg>

Thread pointer access method (AArch32/AArch64 only)

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

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

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

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

Enable generation of memop instructions

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

Enable generation of new-value jumps

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

Enable generation of new-value stores

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

Enable generation of instruction packets

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

Enable Hexagon Vector eXtensions

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

Set Hexagon Vector Length

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

Enable Hexagon Vector eXtensions

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:: -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:: -mmultivalue, -mno-multivalue

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

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

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

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

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

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

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

Execution model (WebAssembly only)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.. option:: -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:: -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:: -gsplit-dwarf, -gno-split-dwarf

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

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

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

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

DWARF debug sections compression type

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

Flags controlling the behavior of the Clang Static Analyzer.

.. option:: -Xanalyzer <arg>

Pass <arg> to the static analyzer

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

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

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

.. option:: -A-<arg>

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

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

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

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

.. 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:: -fprotect-parens, -fno-protect-parens

.. option:: -frange-check, -fno-range-check

.. option:: -freal-4-real-10, -fno-real-4-real-10

.. option:: -freal-4-real-16, -fno-real-4-real-16

.. option:: -freal-4-real-8, -fno-real-4-real-8

.. option:: -freal-8-real-10, -fno-real-8-real-10

.. option:: -freal-8-real-16, -fno-real-8-real-16

.. option:: -freal-8-real-4, -fno-real-8-real-4

.. option:: -frealloc-lhs, -fno-realloc-lhs

.. option:: -frecord-marker=<arg>

.. option:: -frecursive, -fno-recursive

.. option:: -frepack-arrays, -fno-repack-arrays

.. option:: -fsecond-underscore, -fno-second-underscore

.. option:: -fsign-zero, -fno-sign-zero

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

.. option:: -funderscoring, -fno-underscoring

.. option:: -fwhole-file, -fno-whole-file

.. option:: -imultilib <arg>

.. option:: -static-libgfortran

Linker flags
============
Flags that are passed on to the linker

.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>

Add directory to library search path

.. option:: -Mach

.. option:: -T<script>

Specify <script> as linker script

.. option:: -Tbss<addr>

Set starting address of BSS to <addr>

.. option:: -Tdata<addr>

Set starting address of DATA to <addr>

.. option:: -Ttext<addr>

Set starting address of TEXT to <addr>

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

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

.. option:: -X

.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>

Pass <arg> to the linker

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

.. option:: -coverage, --coverage

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

.. option:: -filelist <arg>

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

HIP device library

.. option:: -l<arg>

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

.. option:: -nostartfiles

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

.. option:: -pie

.. option:: -r

.. option:: -rdynamic

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

ROCm device library path. Alternative to rocm-path.

.. option:: -rpath <arg>

.. option:: -s

.. option:: -shared, --shared

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

.. option:: -static, --static

.. option:: -static-pie

.. option:: -t

.. option:: -u<arg>, --force-link <arg>, --force-link=<arg>

.. option:: -undef

undef all system defines

.. option:: -undefined<arg>, --no-undefined

.. option:: -z <arg>

Pass -z <arg> to the linker

