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

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

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

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


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

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

.. option:: -F<arg>

Add directory to framework include search path

.. option:: -ObjC

Treat source input files as Objective-C inputs

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

Treat source input files as Objective-C++ inputs

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

Do not emit metadata containing compiler name and version

.. option:: -Qunused-arguments

Don't emit warning for unused driver arguments

.. option:: -Qy, -fident

Emit metadata containing compiler name and version

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

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

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

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

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

Pass <arg> to the CUDA/HIP device compilation

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

Pass <arg> to the CUDA/HIP host compilation

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

Pass <arg> to fatbinary invocation

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

Pass <arg> to the ptxas assembler

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

Pass <arg> to the target offloading toolchain.

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

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

.. option:: -Z<arg>

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

.. option:: -all\_load

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

.. option:: --analyze

Run the static analyzer

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

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

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

.. option:: -ansi, --ansi

.. option:: -arch <arg>

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

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

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

Emit ARC errors even if the migrator can fix them

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

Output path for the plist report

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

.. option:: -bind\_at\_load

.. option:: -bundle

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

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

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

.. option:: --config <arg>

Specifies configuration file

.. option:: --constant-cfstrings

.. option:: -coverage, --coverage

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

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

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

Compile CUDA code for device only

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

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

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

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

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

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

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

.. option:: -dead\_strip

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

Filename to write DOT-formatted header dependencies to

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

Filename (or -) to write dependency output to

.. option:: -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:: -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang

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

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

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

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

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

.. option:: -ffixed-r19

Reserve register r19 (Hexagon only)

.. option:: -fheinous-gnu-extensions

.. option:: -flat\_namespace

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

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

.. option:: -force\_cpusubtype\_ALL

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

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

.. option:: -framework <arg>

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

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

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

Path to system blacklist file for sanitizers

.. option:: -fsystem-module

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

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

Use the gcc toolchain at the given directory

.. option:: -gcodeview

Generate CodeView debug information

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

Emit type record hashes in a .debug$H section

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

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

Run the migrator

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

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

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

.. option:: -mllvm <arg>

Additional arguments to forward to LLVM's option processing

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

Directory to dump module dependencies to

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

.. option:: -multi\_module

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

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

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

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

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

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

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

.. option:: -nobuiltininc

Disable builtin #include directories

.. option:: -nodefaultlibs

.. option:: -nofixprebinding

.. option:: -nogpuinc, -nocudainc

.. option:: -nogpulib, -nocudalib

Do not link device library for CUDA/HIP device compilation

.. option:: -nolibc

.. option:: -nomultidefs

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

.. option:: -noprebind

.. option:: -noprofilelib

.. option:: -noseglinkedit

.. option:: -nostartfiles

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

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

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

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

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

.. option:: -nostdlibinc

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

Write output to <file>

.. option:: -objcmt-atomic-property

Make migration to 'atomic' properties

.. option:: -objcmt-migrate-all

Enable migration to modern ObjC

.. option:: -objcmt-migrate-annotation

Enable migration to property and method annotations

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

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

.. option:: -objcmt-migrate-instancetype

Enable migration to infer instancetype for method result type

.. option:: -objcmt-migrate-literals

Enable migration to modern ObjC literals

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

Enable migration to NS\_ENUM/NS\_OPTIONS macros

.. option:: -objcmt-migrate-property

Enable migration to modern ObjC property

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

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

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

Enable migration to add protocol conformance on classes

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

Enable migration to modern ObjC readonly property

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

Enable migration to modern ObjC readwrite property

.. option:: -objcmt-migrate-subscripting

Enable migration to modern ObjC subscripting

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

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

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

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

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

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

.. option:: -object

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

CUDA/HIP offloading device architecture (e.g. sm\_35, gfx906).  May be specified more than once.

.. option:: -p, --profile

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

.. option:: -pg

Enable mcount instrumentation

.. option:: -pie

.. option:: -pipe, --pipe

Use pipes between commands, when possible

.. option:: -prebind

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

.. option:: -preload

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

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

Print the effective target triple

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

Print the full library path of <file>

.. option:: -print-ivar-layout

Enable Objective-C Ivar layout bitmap print trace

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

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

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

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

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

Print the full program path of <name>

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

Print the resource directory pathname

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

Print the paths used for finding libraries and programs

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

Print the normalized target triple

.. option:: -print-targets, --print-targets

Print the registered targets

.. option:: -private\_bundle

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

Support POSIX threads in generated code

.. option:: -pthreads

.. option:: -rdynamic

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

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

Whether to build a relocatable precompiled header

.. option:: -remap

.. option:: -rewrite-legacy-objc

Rewrite Legacy Objective-C source to C++

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

Compiler runtime library to use

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

Save llvm statistics.

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

Save intermediate compilation results.

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

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

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

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

.. option:: -seg1addr<arg>

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

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

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

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

.. option:: -seglinkedit

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

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

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

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

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

Serialize compiler diagnostics to a file

.. option:: -shared, --shared

.. option:: -shared-libgcc

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

Dynamically link the sanitizer runtime

.. option:: -single\_module

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

.. option:: -static, --static

.. option:: -static-libgcc

.. option:: -static-libsan

Statically link the sanitizer runtime

.. option:: -static-libstdc++

.. option:: -static-openmp

Use the static host OpenMP runtime while linking.

.. option:: -static-pie

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

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

C++ standard library to use

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

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

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

.. option:: --target-help

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

Generate code for the given target

.. option:: -time

Time individual commands

.. option:: -traditional, --traditional

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

Enable some traditional CPP emulation

.. option:: -twolevel\_namespace

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

.. option:: -umbrella <arg>

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

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

Unwind library to use

.. option:: -v, --verbose

Show commands to run and use verbose output

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

Verify the binary representation of debug output

.. option:: --version

Print version information

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

Suppress all warnings

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

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

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

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

.. option:: -whatsloaded

.. option:: -whyload

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

Resolve file paths relative to the specified directory

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

Treat subsequent input files as having type <language>

.. option:: -y<arg>

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

.. option:: -E, --preprocess

Only run the preprocessor

.. option:: -S, --assemble

Only run preprocess and compilation steps

.. option:: -c, --compile

Only run preprocess, compile, and assemble steps

.. option:: -emit-interface-stubs

Generate Inteface Stub Files.

.. option:: -emit-llvm

Use the LLVM representation for assembler and object files

.. option:: -emit-merged-ifs

Generate Interface Stub Files, emit merged text not binary.

.. option:: -fsyntax-only

.. option:: -module-file-info

Provide information about a particular module file

.. option:: --precompile

Only precompile the input

.. option:: -rewrite-objc

Rewrite Objective-C source to C++

.. option:: -verify-pch

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

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

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

.. option:: -Xassembler <arg>

Pass <arg> to the assembler

.. option:: -Xclang <arg>

Pass <arg> to the clang compiler

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

Attempt to match the ABI of Clang <version>

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

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

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

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

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

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

Allow \_\_declspec as a keyword

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

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

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

.. option:: -fdiagnostics-parseable-fixits

Print fix-its in machine parseable form

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

Print source range spans in numeric form

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

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

Discard value names in LLVM IR

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

Enables an experimental new pass manager in LLVM.

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

Enables the use of non-default rounding modes and non-default exception handling on targets that are not currently ready.

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

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

.. option:: -fglobal-isel, -fexperimental-isel, -fno-global-isel

Enables the global instruction selector

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

Inline suitable functions

.. option:: -finline-hint-functions

Inline functions which are (explicitly or implicitly) marked inline

.. option:: -fno-crash-diagnostics

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

.. option:: -fno-sanitize-blacklist

Don't use blacklist file for sanitizers

.. option:: -fparse-all-comments

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

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

Level of field padding for AddressSanitizer

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

Enable linker dead stripping of globals in AddressSanitizer

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

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

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

Enable use-after-scope detection in AddressSanitizer

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

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

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

Path to blacklist file for sanitizers

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

Make the jump table addresses canonical in the symbol table

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

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

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

Generalize pointers in CFI indirect call type signature checks

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

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

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

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

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

Specify the type of coverage instrumentation for Sanitizers

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

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

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

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

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

Enable origins tracking in MemorySanitizer

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

Enable origins tracking in MemorySanitizer

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

Enable use-after-destroy detection in MemorySanitizer

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

.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>..., -fsanitize-recover (equivalent to -fsanitize-recover=all)

Enable recovery for specified sanitizers

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

Enable sanitizer statistics gathering.

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

Enable atomic operations instrumentation in ThreadSanitizer (default)

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

Enable function entry/exit instrumentation in ThreadSanitizer (default)

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

Enable memory access instrumentation in ThreadSanitizer (default)

.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>..., -fsanitize-trap (equivalent to -fsanitize-trap=all), -fsanitize-undefined-trap-on-error (equivalent to -fsanitize-trap=undefined)

Enable trapping for specified sanitizers

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

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

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

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

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

Enable function outlining (AArch64 only)

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

.. option:: -print-supported-cpus, --print-supported-cpus, -mcpu=?, -mtune=?

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

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

Language standard to compile for

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

Flags controlling the behavior of the Clang preprocessor.

.. option:: -C, --comments

Include comments in preprocessed output

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

Include comments from within macros in preprocessed output

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

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

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

Show header includes and nesting depth

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

Disable linemarker output in -E mode

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

Undefine macro <macro>

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

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

.. option:: -Xpreprocessor <arg>

Pass <arg> to the preprocessor

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

remap file source paths in predefined preprocessor macros

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

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

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

Add directory to include search path

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

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

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

Ignore environment variables to detect CUDA installation

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

CUDA installation path

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

Add directory to the C++ SYSTEM include search path

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

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

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

Time when the current build session started

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

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

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

Specify the module cache path

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

Disable validation of the diagnostic options when loading the module

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

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

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

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

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

Specify the module user build path

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

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

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

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

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

Specify the prebuilt module path

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

Add directory to AFTER include search path

.. option:: -iframework<arg>

Add directory to SYSTEM framework search path

.. option:: -iframeworkwithsysroot<directory>

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

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

Include macros from file before parsing

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

Include file before parsing

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

Include precompiled header file

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

Set the -iwithprefix/-iwithprefixbefore prefix

.. option:: -iquote<directory>

Add directory to QUOTE include search path

.. option:: -isysroot<dir>

Set the system root directory (usually /)

.. option:: -isystem<directory>

Add directory to SYSTEM include search path

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

Add directory to end of the SYSTEM include search path

.. option:: -ivfsoverlay<arg>

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

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

Set directory to SYSTEM include search path with prefix

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

Set directory to include search path with prefix

.. option:: -iwithsysroot<directory>

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

.. option:: --libomptarget-nvptx-path=<arg>

Path to libomptarget-nvptx libraries

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

Path to ptxas (used for compiling CUDA code)

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

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

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

Use directory as the C++ standard library include path

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

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

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

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

.. option:: -M, --dependencies

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

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

Write a depfile containing user and system headers

.. option:: -MF<file>

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

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

Add missing headers to depfile

.. option:: -MJ<arg>

Write a compilation database entry per input

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

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

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

Write a depfile containing user headers

.. option:: -MP

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

.. option:: -MQ<arg>

Specify name of main file output to quote in depfile

.. option:: -MT<arg>

Specify name of main file output in depfile

.. option:: -MV

Use NMake/Jom format for the depfile

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

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

.. option:: -d

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

.. option:: -dD

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

.. option:: -dI

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

.. option:: -dM

Print macro definitions in -E mode instead of normal output

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

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

.. option:: -R<remark>

Enable the specified remark

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

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

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

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

.. option:: -Rpass=<arg>

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

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

Enable the specified warning

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

Enable warnings for deprecated constructs and define \_\_DEPRECATED

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

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

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

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

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

Emit an address-significance table

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

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

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

Enable C++17 aligned allocation functions

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

Treat editor placeholders as valid source code

.. option:: -fallow-unsupported

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

.. option:: -fansi-escape-codes

Use ANSI escape codes for diagnostics

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

Use Apple's kernel extensions ABI

.. option:: -fapple-link-rtlib

Force linking the clang builtins runtime library

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

Enable Apple gcc-compatible #pragma pack handling

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

Restrict code to those available for App Extensions

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

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

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

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

.. option:: -fast

.. option:: -fastcp

.. option:: -fastf

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

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

.. option:: -fbasic-block-sections=<arg>

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

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

Enable the 'blocks' language feature

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

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

Accept non-standard constructs supported by the Borland compiler

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

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

.. option:: -fbuiltin-module-map

Load the clang builtins module map file.

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

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

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

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

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

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

Enable C++ builtin type char8\_t

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

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

Enable colors in diagnostics

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

Place uninitialized global variables in a common block

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

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

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

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

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

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

.. option:: -fconvergent-functions

Assume functions may be convergent

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

Enable support for the C++ Coroutines TS

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

Generate coverage mapping to enable code coverage analysis

.. option:: -fcreate-profile

.. option:: -fcs-profile-generate

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

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

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

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

Use approximate transcendental functions

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

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

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

Enable C++ exceptions

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

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

Place each data in its own section

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

The compilation directory to embed in the debug info.

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

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

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

Emit extra debug info to make sample profile more accurate

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

Emit macro debug information

.. option:: -fdebug-pass-arguments

.. option:: -fdebug-pass-structure

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

remap file source paths in debug info

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

Use DWARF base address selection entries in .debug\_ranges

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

Place debug types in their own section (ELF Only)

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

Parse templated function definitions at the end of the translation unit

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

Treat usage of null pointers as undefined behavior (default)

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

.. option:: -fdiagnostics-absolute-paths

Print absolute paths in diagnostics

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

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

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

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

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

Enable profile hotness information in diagnostic line

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

Display include stacks for diagnostic notes

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

Print option name with mappable diagnostics

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

Print a template comparison tree for differing templates

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

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

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

Allow '$' in identifiers

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

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

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

.. option:: -fdwarf-exceptions

Use DWARF style exceptions

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

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

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

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

.. option:: -femit-all-decls

Emit all declarations, even if unused

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

Use emutls functions to access thread\_local variables

.. option:: -fenable-matrix

Enable matrix data type and related builtin functions

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

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

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

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

Enable support for exception handling

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

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

Enable the experimental new constant interpreter

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

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

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

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

Allow aggressive, lossy floating-point optimizations

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

remap file source paths in debug info and predefined preprocessor macros

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

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

Enable fixed point types

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

.. option:: -fforce-dwarf-frame, -fno-force-dwarf-frame

Always emit a debug frame section

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

Emits more virtual tables to improve devirtualization

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

Enable support for int128\_t type

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

Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma) \| off (never fuse). Default is 'fast' for CUDA/HIP and 'on' otherwise.

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

Specifies the exception behavior of floating-point operations.

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

Controls the semantics of floating-point calculations.

.. option:: -ffreestanding

Assert that the compilation takes place in a freestanding environment

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

Place each function in its own section

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

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

Allow GNU-extension keywords regardless of language standard

.. option:: -fgnu-runtime

Generate output compatible with the standard GNU Objective-C runtime

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

Use the gnu89 inline semantics

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

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

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

Allow device side init function in HIP

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

Generate relocatable device code, also known as separate compilation mode

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

Use new kernel launching API for HIP

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

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

.. option:: -fhosted

.. option:: -fignore-exceptions

Enable support for ignoring exception handling constructs

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

Implicitly search the file system for module map files.

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

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

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

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

.. option:: -finstrument-functions

Generate calls to instrument function entry and exit

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

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

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

Enable the integrated assembler

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

Run cc1 in-process

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

Use jump tables for lowering switches

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

Keep static const variables if unused

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

Enable implicit vector bit-casts

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

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

Enable LTO in 'full' mode

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

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

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

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

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

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

Require math functions to indicate errors by setting errno

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

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

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

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

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

Allow merging of constants

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

Format message diagnostics so that they fit within N columns

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

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

Load this module map file

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

Specify the name of the module to build

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

Enable the 'modules' language feature

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

Require declaration of modules used within a module

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

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

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

Search even non-imported modules to resolve references

.. option:: -fmodules-strict-decluse

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

.. option:: -fmodules-ts

Enable support for the C++ Modules TS

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

Validate PCM input files based on content if mtime differs

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

Enable full Microsoft Visual C++ compatibility

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

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

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

Accept some non-standard constructs supported by the Microsoft compiler

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

.. option:: -fms-volatile

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

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

.. option:: -fmudflap

.. option:: -fmudflapth

.. option:: -fnested-functions

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

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

.. option:: -fnext-runtime

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

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

Disable implicit builtin knowledge of a specific function

.. option:: -fno-elide-type

Do not elide types when printing diagnostics

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

.. option:: -fno-operator-names

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

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

.. option:: -fno-temp-file

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

.. option:: -fno-working-directory

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

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

.. option:: -fnostack-clash-protection

Disable stack clash protection

.. option:: -fnoxray-link-deps

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

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

Synthesize retain and release calls for Objective-C pointers

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

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

.. option:: -fobjc-convert-messages-to-runtime-calls, -fno-objc-convert-messages-to-runtime-calls

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

Enable Objective-C exceptions

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

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

.. option:: -fobjc-link-runtime

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

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

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

Specify the target Objective-C runtime kind and version

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

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

Enable ARC-style weak references in Objective-C

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

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

Parse OpenMP pragmas and generate parallel code.

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

Emit OpenMP code only for SIMD-based constructs.

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

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

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

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

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

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

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

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

.. option:: -forder-file-instrumentation

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

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

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

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

Specify the default maximum struct packing alignment

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

Recognize and construct Pascal-style string literals

.. option:: -fpass-plugin=<dsopath>

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

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

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

.. option:: -fpcc-struct-return

Override the default ABI to return all structs on the stack

.. option:: -fpch-preprocess

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

Validate PCH input files based on content if mtime differs

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

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

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

.. option:: -fplugin=<dsopath>

Load the named plugin (dynamic shared object)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Use instrumentation data for profile-guided optimization

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

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

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

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

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

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

Enable sample-based profile guided optimizations

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

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

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

Allow division operations to be reassociated

.. option:: -freg-struct-return

Override the default ABI to return small structs in registers

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

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

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

Enable C++17 relaxed template template argument matching

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

Turn on loop reroller

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

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

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

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

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

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

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

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

.. option:: -fstack-protector-all

Enable stack protectors for all functions

.. option:: -fstack-protector-strong

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

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

Emit section containing metadata on function stack sizes

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

Emit full debug info for all types used by the program

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

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

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

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

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

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

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

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

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

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

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

.. option:: -ftabstop=<arg>

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

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

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

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

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

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

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

Perform ThinLTO importing using provided function summary index

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

.. option:: -ftime-report

.. option:: -ftime-trace


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

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

Minimum time granularity (in microseconds) traced by time profiler

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

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

Issue call to specified function rather than a trap instruction

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

.. option:: -ftrapv

Trap on integer overflow

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

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

Specify the function to be called on overflow

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

Process trigraph sequences

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

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

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

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

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

Use unique names for basic block sections (ELF Only)

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

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

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

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

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

Turn on loop unroller

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

.. option:: -funsigned-bitfields

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

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

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

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

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

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

Use #line in preprocessed output

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

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

.. option:: -fveclib=<arg>

Use the given vector functions library

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

Enable the loop vectorization passes

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

Generate verbose assembly output

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

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

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

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

.. option:: -fvisibility-inlines-hidden

Give inline C++ member functions hidden visibility by default

.. option:: -fvisibility-ms-compat

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

.. option:: -fvisibility=<arg>

Set the default symbol visibility for all global declarations

.. option:: -fwasm-exceptions

Use WebAssembly style exceptions

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

Enables whole-program vtable optimization. Requires -flto

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

Treat signed integer overflow as two's complement

.. option:: -fwritable-strings

Store string literals as writable data

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

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

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

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

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

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

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

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

.. option:: -fxray-function-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:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss

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

Enable System z vector language extension

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

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

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

OpenCL only. Allow denormals to be flushed to zero.

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

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

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

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

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

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

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

OpenCL only. Generate kernel argument metadata.

.. option:: -cl-mad-enable

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

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

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

.. option:: -cl-opt-disable

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

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

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

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

OpenCL language standard to compile for.

.. option:: -cl-strict-aliasing

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

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

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

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

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

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

Enable SYCL kernels compilation for device

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

SYCL language standard to compile for.

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

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

.. option:: -ffixed-x1

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

.. option:: -ffixed-x10

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

.. option:: -ffixed-x11

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

.. option:: -ffixed-x12

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

.. option:: -ffixed-x13

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

.. option:: -ffixed-x14

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

.. option:: -ffixed-x15

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

.. option:: -ffixed-x16

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

.. option:: -ffixed-x17

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

.. option:: -ffixed-x18

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

.. option:: -ffixed-x19

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

.. option:: -ffixed-x2

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

.. option:: -ffixed-x20

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

.. option:: -ffixed-x21

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

.. option:: -ffixed-x22

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

.. option:: -ffixed-x23

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

.. option:: -ffixed-x24

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

.. option:: -ffixed-x25

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

.. option:: -ffixed-x26

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

.. option:: -ffixed-x27

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

.. option:: -ffixed-x28

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

.. option:: -ffixed-x29

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

.. option:: -ffixed-x3

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

.. option:: -ffixed-x30

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

.. option:: -ffixed-x31

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

.. option:: -ffixed-x4

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

.. option:: -ffixed-x5

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

.. option:: -ffixed-x6

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

.. option:: -ffixed-x7

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

.. option:: -ffixed-x8

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

.. option:: -ffixed-x9

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

.. option:: -m16

.. option:: -m32

.. option:: -m64

.. option:: -mabi=<arg>

.. option:: -maix-struct-return

Return all structs in memory (PPC32 only)

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

Specify the boundary's size to align branches

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

Specify types of branches to align

.. option:: -malign-double

Align doubles to two words in structs (x86 only)

.. option:: -march=<arg>

.. option:: -masm=<arg>

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

Link stack frames through backchain on System Z

.. option:: -mbranches-within-32B-boundaries

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

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

.. option:: -mconsole<arg>

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

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

Allow use of CRC instructions (ARM/Mips only)

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

.. option:: -mdll<arg>

.. option:: -mdouble=<arg>

Force double to be 32 bits or 64 bits

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

.. option:: -meabi <arg>

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

.. option:: -menable-experimental-extensions

Enable use of experimental RISC-V extensions.

.. option:: -mfentry

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

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

.. option:: -mfpmath=<arg>

.. option:: -mfpu=<arg>

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

Enable merging of globals

.. option:: -mhard-float

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

.. option:: -mhwmult=<arg>

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

Use Intel MCU ABI

.. option:: -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:: -mpie-copy-relocations, -mno-pie-copy-relocations

Use copy relocations support for PIE builds

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

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

.. option:: -mqdsp6-compat

Enable hexagon-qdsp6 backward compatibility

.. option:: -mrecip

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

.. option:: -mrecord-mcount

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

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

.. option:: -mregparm=<arg>

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

(integrated-as) Relax all machine instructions

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

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

Make StdCall calling convention the default

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

Accepted for compatibility with GCC. Currently has no effect.

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

.. option:: -municode<arg>

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

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

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

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

Wavefront size 64 is used

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

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

Enable code object v3 (AMDGPU only)

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

CU wavefront execution mode is used (AMDGPU only)

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

Enable SRAM ECC (AMDGPU only)

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

Enable XNACK (AMDGPU only)

ARM
---
.. option:: -fAAPCSBitfieldLoad

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

.. option:: -ffixed-r9

Reserve the r9 register (ARM only)

.. option:: -mcmse

Allow use of CMSE (Armv8-M Security Extensions)

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

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

.. option:: -mno-movt

Disallow use of movt/movw pairs (ARM only)

.. option:: -mno-neg-immediates

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

.. option:: -mnocrc

Disallow use of CRC instructions (ARM only)

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

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

.. option:: -mtp=<arg>

Thread pointer access method (AArch32/AArch64 only)

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

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

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

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

Enable generation of memop instructions

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

Enable generation of new-value jumps

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

Enable generation of new-value stores

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

Enable generation of instruction packets

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

Enable Hexagon Vector eXtensions

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

Set Hexagon Vector Length

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

Enable Hexagon Vector eXtensions

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

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

.. option:: -mabs=<arg>

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

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

.. option:: -mdouble-float

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

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

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

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

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

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

.. option:: -mfp32

Use 32-bit floating point registers (MIPS only)

.. option:: -mfp64

Use 64-bit floating point registers (MIPS only)

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

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

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

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

Change indirect jump instructions to inhibit speculation

.. option:: -mips16

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

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

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

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

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

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

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

Enable MSA ASE (MIPS only)

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

Enable MT ASE (MIPS only)

.. option:: -mnan=<arg>

.. option:: -mno-mips16

.. option:: -msingle-float

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

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

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

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

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

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

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

.. option:: -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:: -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:: -mqpx, -mno-qpx

.. option:: -msecure-plt

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Execution model (WebAssembly only)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.. option:: -mavx512vp2intersect, -mno-avx512vp2intersect

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

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

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

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

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

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

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

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

.. option:: -menqcmd, -mno-enqcmd

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

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

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

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

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

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

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

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

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

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

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

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

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

.. option:: -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:: -mvaes, -mno-vaes

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

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

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

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

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

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

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

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

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

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

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

Enable linker relaxation

.. option:: -msave-restore, -mno-save-restore

Enable using library calls for save and restore

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

.. option:: -mlong-double-128

Force long double to be 128 bits

.. option:: -mlong-double-64

Force long double to be 64 bits

.. option:: -mlong-double-80

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

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

Flags controlling how much optimization should be performed.

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

.. option:: -Ofast<arg>

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

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

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

Generate source-level debug information

.. option:: -gdwarf

Generate source-level debug information with the default dwarf version

.. option:: -gdwarf-2

Generate source-level debug information with dwarf version 2

.. option:: -gdwarf-3

Generate source-level debug information with dwarf version 3

.. option:: -gdwarf-4

Generate source-level debug information with dwarf version 4

.. option:: -gdwarf-5

Generate source-level debug information with dwarf version 5

.. option:: -gfull

.. option:: -gused

Debug level
___________
.. option:: -g0

.. option:: -g2

.. option:: -g3

.. option:: -ggdb0

.. option:: -ggdb1

.. option:: -ggdb2

.. option:: -ggdb3

.. option:: -gline-directives-only

Emit debug line info directives only

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

Emit debug line number tables only

.. option:: -gmodules

Generate debug info with external references to clang modules or precompiled headers

Debugger to tune debug information for
______________________________________
.. option:: -ggdb

.. option:: -glldb

.. option:: -gsce

Debug information flags
-----------------------
.. option:: -gcolumn-info, -gno-column-info

.. option:: -gdwarf-aranges

.. option:: -gembed-source, -gno-embed-source

Embed source text in DWARF debug sections

.. option:: -ggnu-pubnames, -gno-gnu-pubnames

.. option:: -gpubnames, -gno-pubnames

.. option:: -grecord-command-line, -gno-record-command-line, -grecord-gcc-switches

.. option:: -gsplit-dwarf

.. program:: clang1
.. option:: -gsplit-dwarf=<arg>
.. program:: clang

Set DWARF fission mode to either 'split' or 'single'

.. option:: -gstrict-dwarf, -gno-strict-dwarf

.. option:: -gz

DWARF debug sections compression type

.. program:: clang1
.. option:: -gz=<arg>
.. program:: clang

DWARF debug sections compression type

Static analyzer flags
=====================

Flags controlling the behavior of the Clang Static Analyzer.

.. option:: -Xanalyzer <arg>

Pass <arg> to the static analyzer

Fortran compilation flags
=========================

Flags that will be passed onto the ``gfortran`` compiler when Clang is given
a Fortran input.

.. option:: -A<arg>, --assert <arg>, --assert=<arg>

.. option:: -A-<arg>

.. option:: -J<arg>

.. option:: -cpp

.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination

.. option:: -falign-commons, -fno-align-commons

.. option:: -fall-intrinsics, -fno-all-intrinsics

.. option:: -fautomatic, -fno-automatic

.. option:: -fbackslash, -fno-backslash

.. option:: -fbacktrace, -fno-backtrace

.. option:: -fblas-matmul-limit=<arg>

.. option:: -fbounds-check, -fno-bounds-check

.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries

.. option:: -fcheck=<arg>

.. option:: -fcoarray=<arg>

.. option:: -fconvert=<arg>

.. option:: -fcray-pointer, -fno-cray-pointer

.. option:: -fd-lines-as-code, -fno-d-lines-as-code

.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments

.. option:: -fdefault-double-8, -fno-default-double-8

.. option:: -fdefault-integer-8, -fno-default-integer-8

.. option:: -fdefault-real-8, -fno-default-real-8

.. option:: -fdollar-ok, -fno-dollar-ok

.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized

.. option:: -fdump-fortran-original, -fno-dump-fortran-original

.. option:: -fdump-parse-tree, -fno-dump-parse-tree

.. option:: -fexternal-blas, -fno-external-blas

.. option:: -ff2c, -fno-f2c

.. option:: -ffixed-form, -fno-fixed-form

.. option:: -ffixed-line-length-<arg>

.. option:: -ffpe-trap=<arg>

.. option:: -ffree-form, -fno-free-form

.. option:: -ffree-line-length-<arg>

.. option:: -ffrontend-optimize, -fno-frontend-optimize

.. option:: -fimplicit-none, -fno-implicit-none

.. option:: -finit-character=<arg>

.. option:: -finit-integer=<arg>

.. option:: -finit-local-zero, -fno-init-local-zero

.. option:: -finit-logical=<arg>

.. option:: -finit-real=<arg>

.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8

.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path

.. option:: -fmax-array-constructor=<arg>

.. option:: -fmax-errors=<arg>

.. option:: -fmax-identifier-length, -fno-max-identifier-length

.. option:: -fmax-stack-var-size=<arg>

.. option:: -fmax-subrecord-length=<arg>

.. option:: -fmodule-private, -fno-module-private

.. option:: -fpack-derived, -fno-pack-derived

.. option:: -fprotect-parens, -fno-protect-parens

.. option:: -frange-check, -fno-range-check

.. option:: -freal-4-real-10, -fno-real-4-real-10

.. option:: -freal-4-real-16, -fno-real-4-real-16

.. option:: -freal-4-real-8, -fno-real-4-real-8

.. option:: -freal-8-real-10, -fno-real-8-real-10

.. option:: -freal-8-real-16, -fno-real-8-real-16

.. option:: -freal-8-real-4, -fno-real-8-real-4

.. option:: -frealloc-lhs, -fno-realloc-lhs

.. option:: -frecord-marker=<arg>

.. option:: -frecursive, -fno-recursive

.. option:: -frepack-arrays, -fno-repack-arrays

.. option:: -fsecond-underscore, -fno-second-underscore

.. option:: -fsign-zero, -fno-sign-zero

.. option:: -fstack-arrays, -fno-stack-arrays

.. option:: -funderscoring, -fno-underscoring

.. option:: -fwhole-file, -fno-whole-file

.. option:: -imultilib <arg>

.. option:: -nocpp

.. option:: -static-libgfortran

Linker flags
============
Flags that are passed on to the linker

.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>

Add directory to library search path

.. option:: -Mach

.. option:: -T<script>

Specify <script> as linker script

.. option:: -Tbss<addr>

Set starting address of BSS to <addr>

.. option:: -Tdata<addr>

Set starting address of DATA to <addr>

.. option:: -Ttext<addr>

Set starting address of TEXT to <addr>

.. option:: -Wl,<arg>,<arg2>...

Pass the comma separated arguments in <arg> to the linker

.. option:: -X

.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>

Pass <arg> to the linker

.. program:: clang1
.. option:: -Z
.. program:: clang

.. option:: -e<arg>, --entry

.. option:: -filelist <arg>

.. option:: --hip-device-lib-path=<arg>

HIP device library path. Alternative to rocm-path.

.. option:: --hip-device-lib=<arg>

HIP device library

.. option:: -l<arg>

.. option:: -r

.. option:: -rpath <arg>

.. option:: -s

.. option:: -t

.. option:: -u<arg>, --force-link <arg>, --force-link=<arg>

.. option:: -undef

undef all system defines

.. option:: -undefined<arg>, --no-undefined

.. option:: -z <arg>

Pass -z <arg> to the linker

