OVERVIEW: clang LLVM compiler
USAGE: clang-14 [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX (only).
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-fast-relaxed-math OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
-cl-finite-math-only OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
-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.
-cl-kernel-arg-info OpenCL only. Generate kernel argument metadata.
-cl-mad-enable OpenCL only. Allow use of less precise MAD computations in the generated binary.
-cl-no-signed-zeros OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
-cl-no-stdinc OpenCL only. Disables all standard includes containing non-native compiler types and functions.
-cl-opt-disable OpenCL only. This option disables all optimizations. By default optimizations are enabled.
-cl-single-precision-constant
OpenCL only. Treat double precision floating-point constant as single precision constant.
-cl-std=<value> OpenCL language standard to compile for.
-cl-strict-aliasing OpenCL only. This option is added for compatibility with OpenCL 1.0.
-cl-uniform-work-group-size
OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
-cl-unsafe-math-optimizations
OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
--config <value> Specifies configuration file
--cuda-compile-host-device
Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
--cuda-device-only Compile CUDA code for device only
--cuda-host-only Compile CUDA code for host only. Has no effect on non-CUDA compilations.
--cuda-include-ptx=<value>
Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--cuda-noopt-device-debug
Enable device-side debug info generation. Disables ptxas optimizations.
--cuda-path-ignore-env Ignore environment variables to detect CUDA installation
--cuda-path=<value> CUDA installation path
-cuid=<value> 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.
-cxx-isystem <directory>
Add directory to the C++ SYSTEM include search path
-C Include comments in preprocessed output
-c Only run preprocess, compile, and assemble steps
-dD Print macro definitions in -E mode in addition to normal output
-dependency-dot <value> Filename to write DOT-formatted header dependencies to
-dependency-file <value>
Filename (or -) to write dependency output to
-dI Print include directives in -E mode in addition to normal output
-dM Print macro definitions in -E mode instead of normal output
-dsym-dir <dir> Directory to output dSYM's (if any) to
-D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-emit-ast Emit Clang AST files for source inputs
-emit-interface-stubs Generate Interface Stub Files.
-emit-llvm Use the LLVM representation for assembler and object files
-emit-merged-ifs Generate Interface Stub Files, emit merged text not binary.
--emit-static-lib Enable linker job to emit a static library.
-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
--end-no-unused-arguments
Start emitting warnings for unused driver arguments
-extract-api Extract API information
-E Only run the preprocessor
-faapcs-bitfield-load Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
-faapcs-bitfield-width Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-faddrsig Emit an address-significance table
-falign-loops=<N> N must be a power of two. Align loops to the boundary
-faligned-allocation Enable C++17 aligned allocation functions
-fallow-editor-placeholders
Treat editor placeholders as valid source code
-faltivec-src-compat=<value>
Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.
-fansi-escape-codes Use ANSI escape codes for diagnostics
-fapple-kext Use Apple's kernel extensions ABI
-fapple-link-rtlib Force linking the clang builtins runtime library
-fapple-pragma-pack Enable Apple gcc-compatible #pragma pack handling
-fapplication-extension Restrict code to those available for App Extensions
-fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-fasync-exceptions Enable EH Asynchronous exceptions
-fbasic-block-sections=<value>
Place each function's basic blocks in unique sections (ELF Only) : all | labels | none | list=<file>
-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.
-fblocks Enable the 'blocks' language feature
-fborland-extensions Accept non-standard constructs supported by the Borland compiler
-fbuild-session-file=<file>
Use the last modification time of <file> as the build session timestamp
-fbuild-session-timestamp=<time since Epoch in seconds>
Time when the current build session started
-fbuiltin-module-map Load the clang builtins module map file.
-fc++-abi=<value> C++ ABI to use. This will override the target C++ ABI.
-fcall-saved-x10 Make the x10 register call-saved (AArch64 only)
-fcall-saved-x11 Make the x11 register call-saved (AArch64 only)
-fcall-saved-x12 Make the x12 register call-saved (AArch64 only)
-fcall-saved-x13 Make the x13 register call-saved (AArch64 only)
-fcall-saved-x14 Make the x14 register call-saved (AArch64 only)
-fcall-saved-x15 Make the x15 register call-saved (AArch64 only)
-fcall-saved-x18 Make the x18 register call-saved (AArch64 only)
-fcall-saved-x8 Make the x8 register call-saved (AArch64 only)
-fcall-saved-x9 Make the x9 register call-saved (AArch64 only)
-fcf-protection=<value> Instrument control-flow architecture protection. Options: return, branch, full, none.
-fcf-protection Enable cf-protection in 'full' mode
-fchar8_t Enable C++ builtin type char8_t
-fclang-abi-compat=<version>
Attempt to match the ABI of Clang <version>
-fcolor-diagnostics Enable colors in diagnostics
-fcomment-block-commands=<arg>
Treat each comma separated argument in <arg> as a documentation comment block command
-fcommon Place uninitialized global variables in a common block
-fcomplete-member-pointers
Require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fconvergent-functions Assume functions may be convergent
-fcoroutines-ts Enable support for the C++ Coroutines TS
-fcoverage-compilation-dir=<value>
The compilation directory to embed in the coverage mapping.
-fcoverage-mapping Generate coverage mapping to enable code coverage analysis
-fcoverage-prefix-map=<value>
remap file source paths in coverage mapping
-fcrash-diagnostics-dir=<dir>
Put crash-report files in <dir>
-fcs-profile-generate=<directory>
Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcs-profile-generate Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcuda-approx-transcendentals
Use approximate transcendental functions
-fcuda-short-ptr Use 32-bit pointers for accessing const/local/shared address spaces
-fcxx-exceptions Enable C++ exceptions
-fcxx-modules Enable modules for C++
-fdata-sections Place each data in its own section
-fdebug-compilation-dir=<value>
The compilation directory to embed in the debug info
-fdebug-default-version=<value>
Default DWARF version to use, if a -g option caused DWARF debug info to be produced
-fdebug-info-for-profiling
Emit extra debug info to make sample profile more accurate
-fdebug-macro Emit macro debug information
-fdebug-prefix-map=<value>
remap file source paths in debug info
-fdebug-ranges-base-address
Use DWARF base address selection entries in .debug_ranges
-fdebug-types-section Place debug types in their own section (ELF Only)
-fdeclspec Allow __declspec as a keyword
-fdelayed-template-parsing
Parse templated function definitions at the end of the translation unit
-fdelete-null-pointer-checks
Treat usage of null pointers as undefined behavior (default)
-fdiagnostics-absolute-paths
Print absolute paths in diagnostics
-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
-fdiagnostics-parseable-fixits
Print fix-its in machine parseable form
-fdiagnostics-print-source-range-info
Print source range spans in numeric form
-fdiagnostics-show-hotness
Enable profile hotness information in diagnostic line
-fdiagnostics-show-note-include-stack
Display include stacks for diagnostic notes
-fdiagnostics-show-option
Print option name with mappable diagnostics
-fdiagnostics-show-template-tree
Print a template comparison tree for differing templates
-fdigraphs Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
-fdirect-access-external-data
Don't use GOT indirection to reference external data symbols
-fdiscard-value-names Discard value names in LLVM IR
-fdollars-in-identifiers
Allow '$' in identifiers
-fdouble-square-bracket-attributes
Enable '[[]]' attributes in all C and C++ language modes
-fdwarf-exceptions Use DWARF style exceptions
-feliminate-unused-debug-types
Do not emit debug info for defined but unused types
-fembed-bitcode-marker Embed placeholder LLVM IR data as a marker
-fembed-bitcode=<option>
Embed LLVM bitcode (option: off, all, bitcode, marker)
-fembed-bitcode Embed LLVM IR bitcode as data
-fembed-offload-object=<value>
Embed Offloading device-side binary into host object file as a section.
-femit-all-decls Emit all declarations, even if unused
-femulated-tls Use emutls functions to access thread_local variables
-fenable-matrix Enable matrix data type and related builtin functions
-fexceptions Enable support for exception handling
-fexperimental-new-constant-interpreter
Enable the experimental new constant interpreter
-fexperimental-relative-c++-abi-vtables
Use the experimental C++ class ABI for classes with virtual tables
-fexperimental-strict-floating-point
Enables experimental strict floating point in LLVM.
-fextend-arguments=<value>
Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
-ffast-math Allow aggressive, lossy floating-point optimizations
-ffile-compilation-dir=<value>
The compilation directory to embed in the debug info and coverage mapping.
-ffile-prefix-map=<value>
remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE()
-ffine-grained-bitfield-accesses
Use separate accesses for consecutive bitfield runs with legal widths and alignments.
-ffinite-loops Assume all loops are finite.
-ffixed-a0 Reserve the a0 register (M68k only)
-ffixed-a1 Reserve the a1 register (M68k only)
-ffixed-a2 Reserve the a2 register (M68k only)
-ffixed-a3 Reserve the a3 register (M68k only)
-ffixed-a4 Reserve the a4 register (M68k only)
-ffixed-a5 Reserve the a5 register (M68k only)
-ffixed-a6 Reserve the a6 register (M68k only)
-ffixed-d0 Reserve the d0 register (M68k only)
-ffixed-d1 Reserve the d1 register (M68k only)
-ffixed-d2 Reserve the d2 register (M68k only)
-ffixed-d3 Reserve the d3 register (M68k only)
-ffixed-d4 Reserve the d4 register (M68k only)
-ffixed-d5 Reserve the d5 register (M68k only)
-ffixed-d6 Reserve the d6 register (M68k only)
-ffixed-d7 Reserve the d7 register (M68k only)
-ffixed-point Enable fixed point types
-ffixed-r19 Reserve register r19 (Hexagon only)
-ffixed-r9 Reserve the r9 register (ARM only)
-ffixed-x10 Reserve the x10 register (AArch64/RISC-V only)
-ffixed-x11 Reserve the x11 register (AArch64/RISC-V only)
-ffixed-x12 Reserve the x12 register (AArch64/RISC-V only)
-ffixed-x13 Reserve the x13 register (AArch64/RISC-V only)
-ffixed-x14 Reserve the x14 register (AArch64/RISC-V only)
-ffixed-x15 Reserve the x15 register (AArch64/RISC-V only)
-ffixed-x16 Reserve the x16 register (AArch64/RISC-V only)
-ffixed-x17 Reserve the x17 register (AArch64/RISC-V only)
-ffixed-x18 Reserve the x18 register (AArch64/RISC-V only)
-ffixed-x19 Reserve the x19 register (AArch64/RISC-V only)
-ffixed-x1 Reserve the x1 register (AArch64/RISC-V only)
-ffixed-x20 Reserve the x20 register (AArch64/RISC-V only)
-ffixed-x21 Reserve the x21 register (AArch64/RISC-V only)
-ffixed-x22 Reserve the x22 register (AArch64/RISC-V only)
-ffixed-x23 Reserve the x23 register (AArch64/RISC-V only)
-ffixed-x24 Reserve the x24 register (AArch64/RISC-V only)
-ffixed-x25 Reserve the x25 register (AArch64/RISC-V only)
-ffixed-x26 Reserve the x26 register (AArch64/RISC-V only)
-ffixed-x27 Reserve the x27 register (AArch64/RISC-V only)
-ffixed-x28 Reserve the x28 register (AArch64/RISC-V only)
-ffixed-x29 Reserve the x29 register (AArch64/RISC-V only)
-ffixed-x2 Reserve the x2 register (AArch64/RISC-V only)
-ffixed-x30 Reserve the x30 register (AArch64/RISC-V only)
-ffixed-x31 Reserve the x31 register (AArch64/RISC-V only)
-ffixed-x3 Reserve the x3 register (AArch64/RISC-V only)
-ffixed-x4 Reserve the x4 register (AArch64/RISC-V only)
-ffixed-x5 Reserve the x5 register (AArch64/RISC-V only)
-ffixed-x6 Reserve the x6 register (AArch64/RISC-V only)
-ffixed-x7 Reserve the x7 register (AArch64/RISC-V only)
-ffixed-x8 Reserve the x8 register (AArch64/RISC-V only)
-ffixed-x9 Reserve the x9 register (AArch64/RISC-V only)
-fforce-dwarf-frame Always emit a debug frame section
-fforce-emit-vtables Emits more virtual tables to improve devirtualization
-fforce-enable-int128 Enable support for int128_t type
-ffp-contract=<value> Form fused FP ops (e.g. FMAs): fast (fuses across statements disregarding pragmas) | on (only fuses in the same statement unless dictated by pragmas) | off (never fuses) | fast-honor-pragmas (fuses across statements unless diectated by pragmas). Default is 'fast' for CUDA, 'fast-honor-pragmas' for HIP, and 'on' otherwise.
-ffp-exception-behavior=<value>
Specifies the exception behavior of floating-point operations.
-ffp-model=<value> Controls the semantics of floating-point calculations.
-ffreestanding Assert that the compilation takes place in a freestanding environment
-ffuchsia-api-level=<value>
Set Fuchsia API level
-ffunction-sections Place each function in its own section
-fglobal-isel Enables the global instruction selector
-fgnu-keywords Allow GNU-extension keywords regardless of language standard
-fgnu-runtime Generate output compatible with the standard GNU Objective-C runtime
-fgnu89-inline Use the gnu89 inline semantics
-fgnuc-version=<value> Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
-fgpu-allow-device-init Allow device side init function in HIP (experimental)
-fgpu-defer-diag Defer host/device related diagnostic messages for CUDA/HIP
-fgpu-flush-denormals-to-zero
Flush denormal floating point values to zero in CUDA/HIP device mode.
-fgpu-rdc Generate relocatable device code, also known as separate compilation mode
-fgpu-sanitize Enable sanitizer for AMDGPU target
-fhip-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)
-fhip-new-launch-api Use new kernel launching API for HIP
-fignore-exceptions Enable support for ignoring exception handling constructs
-fimplicit-module-maps Implicitly search the file system for module map files.
-finline-functions Inline suitable functions
-finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
-finput-charset=<value> Specify the default character set for source files
-finstrument-function-entry-bare
Instrument function entry only, after inlining, without arguments to the instrumentation call
-finstrument-functions-after-inlining
Like -finstrument-functions, but insert the calls after inlining
-finstrument-functions Generate calls to instrument function entry and exit
-fintegrated-as Enable the integrated assembler
-fintegrated-cc1 Run cc1 in-process
-fjump-tables Use jump tables for lowering switches
-fkeep-static-consts Keep static const variables if unused
-flax-vector-conversions=<value>
Enable implicit vector bit-casts
-flegacy-pass-manager Use the legacy pass manager in LLVM (deprecated, to be removed in a future release)
-flto-jobs=<value> Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
-flto=auto Enable LTO in 'full' mode
-flto=jobserver Enable LTO in 'full' mode
-flto=<value> Set LTO mode to either 'full' or 'thin'
-flto Enable LTO in 'full' mode
-fmacro-prefix-map=<value>
remap file source paths in predefined preprocessor macros and __builtin_FILE()
-fmath-errno Require math functions to indicate errors by setting errno
-fmax-tokens=<value> Max total number of preprocessed tokens for -Wmax-tokens.
-fmax-type-align=<value>
Specify the maximum alignment to enforce on pointers lacking an explicit alignment
-fmemory-profile=<directory>
Enable heap memory profiling and dump results into <directory>
-fmemory-profile Enable heap memory profiling
-fmerge-all-constants Allow merging of constants
-fmessage-length=<value>
Format message diagnostics so that they fit within N columns
-fminimize-whitespace Minimize whitespace when emitting preprocessor output
-fmodule-file=[<name>=]<file>
Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
-fmodule-map-file=<file>
Load this module map file
-fmodule-name=<name> Specify the name of the module to build
-fmodules-cache-path=<directory>
Specify the module cache path
-fmodules-decluse Require declaration of modules used within a module
-fmodules-disable-diagnostic-validation
Disable validation of the diagnostic options when loading the module
-fmodules-ignore-macro=<value>
Ignore the definition of the given macro when building and loading modules
-fmodules-prune-after=<seconds>
Specify the interval (in seconds) after which a module file will be considered unused
-fmodules-prune-interval=<seconds>
Specify the interval (in seconds) between attempts to prune the module cache
-fmodules-search-all Search even non-imported modules to resolve references
-fmodules-strict-decluse
Like -fmodules-decluse but requires all headers to be in modules
-fmodules-ts Enable support for the C++ Modules TS
-fmodules-user-build-path <directory>
Specify the module user build path
-fmodules-validate-input-files-content
Validate PCM input files based on content if mtime differs
-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
-fmodules-validate-system-headers
Validate the system headers that a module depends on when loading the module
-fmodules Enable the 'modules' language feature
-fms-compatibility-version=<value>
Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fms-compatibility Enable full Microsoft Visual C++ compatibility
-fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
-fms-hotpatch Ensure that all functions can be hotpatched at runtime
-fmsc-version=<value> Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fnew-alignment=<align> Specifies the largest alignment guaranteed by '::operator new(size_t)'
-fnew-infallible Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-aapcs-bitfield-width
Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-fno-access-control Disable C++ access control
-fno-addrsig Don't emit an address-significance table
-fno-assume-sane-operator-new
Don't assume that C++'s global operator new can't alias any pointer
-fno-autolink Disable generation of linker directives for automatic library linking
-fno-builtin-<value> Disable implicit builtin knowledge of a specific function
-fno-builtin Disable implicit builtin knowledge of functions
-fno-c++-static-destructors
Disable C++ static destructor registration
-fno-char8_t Disable C++ builtin type char8_t
-fno-color-diagnostics Disable colors in diagnostics
-fno-common Compile common globals like normal definitions
-fno-complete-member-pointers
Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings
-fno-coverage-mapping Disable code coverage analysis
-fno-crash-diagnostics Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
-fno-cuda-approx-transcendentals
Don't use approximate transcendental functions
-fno-cxx-modules Disable modules for C++
-fno-debug-macro Do not emit macro debug information
-fno-declspec Disallow __declspec as a keyword
-fno-delayed-template-parsing
Disable delayed template parsing
-fno-delete-null-pointer-checks
Do not treat usage of null pointers as undefined behavior
-fno-diagnostics-fixit-info
Do not include fixit information in diagnostics
-fno-digraphs Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'
-fno-direct-access-external-data
Use GOT indirection to reference external data symbols
-fno-discard-value-names
Do not discard value names in LLVM IR
-fno-dollars-in-identifiers
Disallow '$' in identifiers
-fno-double-square-bracket-attributes
Disable '[[]]' attributes in all C and C++ language modes
-fno-elide-constructors Disable C++ copy constructor elision
-fno-elide-type Do not elide types when printing diagnostics
-fno-eliminate-unused-debug-types
Emit debug info for defined but unused types
-fno-exceptions Disable support for exception handling
-fno-experimental-relative-c++-abi-vtables
Do not use the experimental C++ class ABI for classes with virtual tables
-fno-fine-grained-bitfield-accesses
Use large-integer access for consecutive bitfield runs.
-fno-finite-loops Do not assume that any loop is finite.
-fno-fixed-point Disable fixed point types
-fno-force-enable-int128
Disable support for int128_t type
-fno-global-isel Disables the global instruction selector
-fno-gnu-inline-asm Disable GNU style inline asm
-fno-gpu-allow-device-init
Don't allow device side init function in HIP (experimental)
-fno-gpu-defer-diag Don't defer host/device related diagnostic messages for CUDA/HIP
-fno-hip-fp32-correctly-rounded-divide-sqrt
Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fno-hip-new-launch-api Don't use new kernel launching API for HIP
-fno-integrated-as Disable the integrated assembler
-fno-integrated-cc1 Spawn a separate process for each cc1
-fno-jump-tables Do not use jump tables for lowering switches
-fno-keep-static-consts Don't keep static const variables if unused
-fno-legacy-pass-manager
Use the new pass manager in LLVM
-fno-lto Disable LTO mode (default)
-fno-memory-profile Disable heap memory profiling
-fno-merge-all-constants
Disallow merging of constants
-fno-new-infallible Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-objc-infer-related-result-type
do not infer Objective-C related result type based on method family
-fno-offload-lto Disable LTO mode (default) for offload compilation
-fno-openmp-extensions Disable all Clang extensions for OpenMP directives and clauses
-fno-operator-names Do not treat C++ operator name keywords as synonyms for operators
-fno-pch-codegen Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fno-pch-debuginfo Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fno-plt Use GOT indirection instead of PLT to make external function calls (x86 only)
-fno-preserve-as-comments
Do not preserve comments in inline assembly
-fno-profile-generate Disable generation of profile instrumentation.
-fno-profile-instr-generate
Disable generation of profile instrumentation.
-fno-profile-instr-use Disable using instrumentation data for profile-guided optimization
-fno-pseudo-probe-for-profiling
Do not emit pseudo probes for sample profiling
-fno-register-global-dtors-with-atexit
Don't use atexit or __cxa_atexit to register global destructors
-fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags
-fno-rtti-data Disable generation of RTTI data
-fno-rtti Disable generation of rtti information
-fno-sanitize-address-outline-instrumentation
Use default code inlining logic for the address sanitizer
-fno-sanitize-address-poison-custom-array-cookie
Disable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fno-sanitize-address-use-after-scope
Disable use-after-scope detection in AddressSanitizer
-fno-sanitize-address-use-odr-indicator
Disable ODR indicator globals
-fno-sanitize-cfi-canonical-jump-tables
Do not make the jump table addresses canonical in the symbol table
-fno-sanitize-cfi-cross-dso
Disable control flow integrity (CFI) checks for cross-DSO calls.
-fno-sanitize-coverage=<value>
Disable features of coverage instrumentation for Sanitizers
-fno-sanitize-hwaddress-experimental-aliasing
Disable aliasing mode in HWAddressSanitizer
-fno-sanitize-ignorelist
Don't use ignorelist file for sanitizers
-fno-sanitize-memory-param-retval
Disable detection of uninitialized parameters and return values
-fno-sanitize-memory-track-origins
Disable origins tracking in MemorySanitizer
-fno-sanitize-memory-use-after-dtor
Disable use-after-destroy detection in MemorySanitizer
-fno-sanitize-recover=<value>
Disable recovery for specified sanitizers
-fno-sanitize-stats Disable sanitizer statistics gathering.
-fno-sanitize-thread-atomics
Disable atomic operations instrumentation in ThreadSanitizer
-fno-sanitize-thread-func-entry-exit
Disable function entry/exit instrumentation in ThreadSanitizer
-fno-sanitize-thread-memory-access
Disable memory access instrumentation in ThreadSanitizer
-fno-sanitize-trap=<value>
Disable trapping for specified sanitizers
-fno-sanitize-trap Disable trapping for all sanitizers
-fno-short-wchar Force wchar_t to be an unsigned int
-fno-show-column Do not include column number on diagnostics
-fno-show-source-location
Do not include source location information with diagnostics
-fno-signed-char char is unsigned
-fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
-fno-spell-checking Disable spell-checking
-fno-split-machine-functions
Disable late function splitting using profile information (x86 ELF)
-fno-split-stack Wouldn't use segmented stack
-fno-stack-clash-protection
Disable stack clash protection
-fno-stack-protector Disable the use of stack protectors
-fno-standalone-debug Limit debug information produced to reduce size of debug binary
-fno-strict-float-cast-overflow
Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions
-fno-strict-return Don't treat control flow paths that fall off the end of a non-void function as unreachable
-fno-sycl Disables SYCL kernels compilation for device
-fno-temp-file Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
-fno-threadsafe-statics Do not emit code to make initialization of local statics thread safe
-fno-trigraphs Do not process trigraph sequences
-fno-unique-section-names
Don't use unique names for text and data sections
-fno-unroll-loops Turn off loop unroller
-fno-use-cxa-atexit Don't use __cxa_atexit for calling destructors
-fno-use-init-array Use .ctors/.dtors instead of .init_array/.fini_array
-fno-visibility-inlines-hidden-static-local-var
Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)
-fno-xray-function-index
Omit function index section at the expense of single-function patching performance
-fno-zero-initialized-in-bss
Don't place zero initialized data in BSS
-fobjc-arc-exceptions Use EH-safe code when synthesizing retains and releases in -fobjc-arc
-fobjc-arc Synthesize retain and release calls for Objective-C pointers
-fobjc-disable-direct-methods-for-testing
Ignore attribute objc_direct so that direct methods can be tested
-fobjc-encode-cxx-class-template-spec
Fully encode c++ class template specialization
-fobjc-exceptions Enable Objective-C exceptions
-fobjc-runtime=<value> Specify the target Objective-C runtime kind and version
-fobjc-weak Enable ARC-style weak references in Objective-C
-foffload-lto=<value> Set LTO mode to either 'full' or 'thin' for offload compilation
-foffload-lto Enable LTO in 'full' mode for offload compilation
-fopenmp-extensions Enable all Clang extensions for OpenMP directives and clauses
-fopenmp-implicit-rpath Set rpath on OpenMP executables
-fopenmp-new-driver Use the new driver for OpenMP offloading.
-fopenmp-simd Emit OpenMP code only for SIMD-based constructs.
-fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
-fopenmp-target-new-runtime
Use the new bitcode library for OpenMP offloading
-fopenmp-targets=<value>
Specify comma-separated list of triples OpenMP offloading targets to be supported
-fopenmp-version=<value>
Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.
-fopenmp Parse OpenMP pragmas and generate parallel code.
-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.
-foptimization-record-passes=<regex>
Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
-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)
-fpack-struct=<value> Specify the default maximum struct packing alignment
-fpascal-strings Recognize and construct Pascal-style string literals
-fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
-fpatchable-function-entry=<N,M>
Generate M NOPs before function entry and N-M NOPs after function entry
-fpcc-struct-return Override the default ABI to return all structs on the stack
-fpch-codegen Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fpch-debuginfo Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fpch-instantiate-templates
Instantiate templates already while building a PCH
-fpch-validate-input-files-content
Validate PCH input files based on content if mtime differs
-fplugin-arg-<name>-<arg>
Pass <arg> to plugin <name>
-fplugin=<dsopath> Load the named plugin (dynamic shared object)
-fprebuilt-implicit-modules
Look up implicit modules in the prebuilt module path
-fprebuilt-module-path=<directory>
Specify the prebuilt module path
-fproc-stat-report=<value>
Save subprocess statistics to the given file
-fproc-stat-report<value>
Print subprocess statistics
-fprofile-exclude-files=<value>
Instrument only functions from files where names don't match all the regexes separated by a semi-colon
-fprofile-filter-files=<value>
Instrument only functions from files where names match any regex separated by a semi-colon
-fprofile-generate=<directory>
Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-generate Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate=<file>
Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate
Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fprofile-instr-use=<value>
Use instrumentation data for profile-guided optimization
-fprofile-list=<value> Filename defining the list of functions/files to instrument
-fprofile-remapping-file=<file>
Use the remappings described in <file> to match the profile data against names in the program
-fprofile-sample-accurate
Specifies that the sample profile is accurate
-fprofile-sample-use=<value>
Enable sample-based profile guided optimizations
-fprofile-update=<method>
Set update method of profile counters (atomic,prefer-atomic,single)
-fprofile-use=<pathname>
Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
-fprotect-parens Determines whether the optimizer honors parentheses when floating-point expressions are evaluated
-fpseudo-probe-for-profiling
Emit pseudo probes for sample profiling
-freciprocal-math Allow division operations to be reassociated
-freg-struct-return Override the default ABI to return small structs in registers
-fregister-global-dtors-with-atexit
Use atexit or __cxa_atexit to register global destructors
-frelaxed-template-template-args
Enable C++17 relaxed template template argument matching
-freroll-loops Turn on loop reroller
-fropi Generate read-only position independent code (ARM only)
-frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags
-frwpi Generate read-write position independent code (ARM only)
-fsanitize-address-destructor=<value>
Set destructor type used in ASan instrumentation
-fsanitize-address-field-padding=<value>
Level of field padding for AddressSanitizer
-fsanitize-address-globals-dead-stripping
Enable linker dead stripping of globals in AddressSanitizer
-fsanitize-address-outline-instrumentation
Always generate function calls for address sanitizer instrumentation
-fsanitize-address-poison-custom-array-cookie
Enable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fsanitize-address-use-after-return=<mode>
Select the mode of detecting stack use-after-return in AddressSanitizer: never | runtime (default) | always
-fsanitize-address-use-after-scope
Enable use-after-scope detection in AddressSanitizer
-fsanitize-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
-fsanitize-blacklist=<value>
Alias for -fsanitize-ignorelist=
-fsanitize-cfi-canonical-jump-tables
Make the jump table addresses canonical in the symbol table
-fsanitize-cfi-cross-dso
Enable control flow integrity (CFI) checks for cross-DSO calls.
-fsanitize-cfi-icall-generalize-pointers
Generalize pointers in CFI indirect call type signature checks
-fsanitize-coverage-allowlist=<value>
Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
-fsanitize-coverage-blacklist=<value>
Deprecated, use -fsanitize-coverage-ignorelist= instead
-fsanitize-coverage-ignorelist=<value>
Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
-fsanitize-coverage-whitelist=<value>
Deprecated, use -fsanitize-coverage-allowlist= instead
-fsanitize-coverage=<value>
Specify the type of coverage instrumentation for Sanitizers
-fsanitize-hwaddress-abi=<value>
Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
-fsanitize-hwaddress-experimental-aliasing
Enable aliasing mode in HWAddressSanitizer
-fsanitize-ignorelist=<value>
Path to ignorelist file for sanitizers
-fsanitize-memory-param-retval
Enable detection of uninitialized parameters and return values
-fsanitize-memory-track-origins=<value>
Enable origins tracking in MemorySanitizer
-fsanitize-memory-track-origins
Enable origins tracking in MemorySanitizer
-fsanitize-memory-use-after-dtor
Enable use-after-destroy detection in MemorySanitizer
-fsanitize-recover=<value>
Enable recovery for specified sanitizers
-fsanitize-stats Enable sanitizer statistics gathering.
-fsanitize-system-blacklist=<value>
Alias for -fsanitize-system-ignorelist=
-fsanitize-system-ignorelist=<value>
Path to system ignorelist file for sanitizers
-fsanitize-thread-atomics
Enable atomic operations instrumentation in ThreadSanitizer (default)
-fsanitize-thread-func-entry-exit
Enable function entry/exit instrumentation in ThreadSanitizer (default)
-fsanitize-thread-memory-access
Enable memory access instrumentation in ThreadSanitizer (default)
-fsanitize-trap=<value> Enable trapping for specified sanitizers
-fsanitize-trap Enable trapping for all sanitizers
-fsanitize-undefined-strip-path-components=<number>
Strip (or keep only, if negative) a given number of path components when emitting check metadata.
-fsanitize=<check> Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
-fsave-optimization-record=<format>
Generate an optimization record file in a specific format
-fsave-optimization-record
Generate a YAML optimization record file
-fseh-exceptions Use SEH style exceptions
-fshort-enums Allocate to an enum type only as many bytes as it needs for the declared range of possible values
-fshort-wchar Force wchar_t to be a short unsigned int
-fshow-overloads=<value>
Which overload candidates to show when overload resolution fails: best|all; defaults to all
-fshow-skipped-includes Show skipped includes in -H output.
-fsigned-char char is signed
-fsized-deallocation Enable C++14 sized global deallocation functions
-fsjlj-exceptions Use SjLj style exceptions
-fslp-vectorize Enable the superword-level parallelism vectorization passes
-fsplit-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
-fsplit-lto-unit Enables splitting of the LTO unit
-fsplit-machine-functions
Enable late function splitting using profile information (x86 ELF)
-fsplit-stack Use segmented stack
-fstack-clash-protection
Enable stack clash protection
-fstack-protector-all Enable stack protectors for all functions
-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
-fstack-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.
-fstack-size-section Emit section containing metadata on function stack sizes
-fstack-usage Emit .su file containing information on function stack sizes
-fstandalone-debug Emit full debug info for all types used by the program
-fstrict-enums Enable optimizations based on the strict definition of an enum's value range
-fstrict-float-cast-overflow
Assume that overflowing float-to-int casts are undefined (default)
-fstrict-vtable-pointers
Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
-fswift-async-fp=<option>
Control emission of Swift async extended frame info (option: auto, always, never)
-fsycl Enables SYCL kernels compilation for device
-fsystem-module Build this module as a system module. Only used with -emit-module
-fthin-link-bitcode=<value>
Write minimized bitcode to <file> for the ThinLTO thin link only
-fthinlto-index=<value> Perform ThinLTO importing using provided function summary index
-ftime-report=<value> (For new pass manager) "per-pass": one report for each pass; "per-pass-run": one report for each pass invocation
-ftime-trace-granularity=<value>
Minimum time granularity (in microseconds) traced by time profiler
-ftime-trace Turn on time profiler. Generates JSON file based on output filename.
-ftrap-function=<value> Issue call to specified function rather than a trap instruction
-ftrapv-handler=<function name>
Specify the function to be called on overflow
-ftrapv Trap on integer overflow
-ftrigraphs Process trigraph sequences
-ftrivial-auto-var-init-stop-after=<value>
Stop initializing trivial automatic stack variables after the specified number of instances
-ftrivial-auto-var-init=<value>
Initialize trivial automatic stack variables: uninitialized (default) | pattern
-funique-basic-block-section-names
Use unique names for basic block sections (ELF Only)
-funique-internal-linkage-names
Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
-funroll-loops Turn on loop unroller
-fuse-cuid=<value> 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.
-fuse-line-directives Use #line in preprocessed output
-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
-fveclib=<value> Use the given vector functions library
-fvectorize Enable the loop vectorization passes
-fverbose-asm Generate verbose assembly output
-fvirtual-function-elimination
Enables dead virtual function elimination optimization. Requires -flto=full
-fvisibility-dllexport=<value>
The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]
-fvisibility-externs-dllimport=<value>
The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]
-fvisibility-externs-nodllstorageclass=<value>
The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]
-fvisibility-from-dllstorageclass
Set the visibility of symbols in the generated code from their DLL storage class
-fvisibility-global-new-delete-hidden
Give global C++ operator new and delete declarations hidden visibility
-fvisibility-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
-fvisibility-inlines-hidden
Give inline C++ member functions hidden visibility by default
-fvisibility-ms-compat Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
-fvisibility-nodllstorageclass=<value>
The visibility for defintiions without an explicit DLL export class [-fvisibility-from-dllstorageclass]
-fvisibility=<value> Set the default symbol visibility for all global declarations
-fwasm-exceptions Use WebAssembly style exceptions
-fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto
-fwrapv Treat signed integer overflow as two's complement
-fwritable-strings Store string literals as writable data
-fxl-pragma-pack Enable IBM XL #pragma pack handling
-fxray-always-emit-customevents
Always emit __xray_customevent(...) calls even if the containing function is not always instrumented
-fxray-always-emit-typedevents
Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented
-fxray-always-instrument= <value>
DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
-fxray-attr-list= <value>
Filename defining the list of functions/types for imbuing XRay attributes.
-fxray-function-groups=<value>
Only instrument 1 of N groups
-fxray-ignore-loops Don't instrument functions with loops unless they also meet the minimum function size
-fxray-instruction-threshold= <value>
Sets the minimum function size to instrument with XRay
-fxray-instrumentation-bundle= <value>
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'.
-fxray-instrument Generate XRay instrumentation sleds on function entry and exit
-fxray-link-deps Tells clang to add the link dependencies for XRay.
-fxray-modes= <value> List of modes to link in by default into XRay instrumented binaries.
-fxray-never-instrument= <value>
DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
-fxray-selected-function-group=<value>
When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
-fzvector Enable System z vector language extension
-F <value> Add directory to framework include search path
--gcc-toolchain=<value> 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
-gcodeview-ghash Emit type record hashes in a .debug$H section
-gcodeview Generate CodeView debug information
-gdwarf-2 Generate source-level debug information with dwarf version 2
-gdwarf-3 Generate source-level debug information with dwarf version 3
-gdwarf-4 Generate source-level debug information with dwarf version 4
-gdwarf-5 Generate source-level debug information with dwarf version 5
-gdwarf32 Enables DWARF32 format for ELF binaries, if debug information emission is enabled.
-gdwarf64 Enables DWARF64 format for ELF binaries, if debug information emission is enabled.
-gdwarf Generate source-level debug information with the default dwarf version
-gembed-source Embed source text in DWARF debug sections
-gline-directives-only Emit debug line info directives only
-gline-tables-only Emit debug line number tables only
-gmodules Generate debug info with external references to clang modules or precompiled headers
-gno-embed-source Restore the default behavior of not embedding source text in DWARF debug sections
-gno-inline-line-tables Don't emit inline line tables.
--gpu-bundle-output Bundle output files of HIP device compilation
--gpu-instrument-lib=<value>
Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit
--gpu-max-threads-per-block=<value>
Default max threads per block for kernel launch bounds for HIP
-gsplit-dwarf=<value> Set DWARF fission mode to either 'split' or 'single'
-gz=<value> DWARF debug sections compression type
-G <size> Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
-g Generate source-level debug information
--help-hidden Display help for hidden options
-help Display available options
--hip-device-lib=<value>
HIP device library
--hip-link Link clang-offload-bundler bundles for HIP
--hip-path=<value> HIP runtime installation path, used for finding HIP version and adding HIP include path.
--hip-version=<value> HIP version in the format of major.minor.patch
--hipspv-pass-plugin=<dsopath>
path to a pass plugin for HIP to SPIR-V passes.
-H Show header includes and nesting depth
-I- Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
-ibuiltininc Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
-idirafter <value> Add directory to AFTER include search path
-iframeworkwithsysroot <directory>
Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
-iframework <value> Add directory to SYSTEM framework search path
-imacros <file> Include macros from file before parsing
-include-pch <file> Include precompiled header file
-include <file> Include file before parsing
-index-header-map Make the next included directory (-I or -F) an indexer header map
-iprefix <dir> Set the -iwithprefix/-iwithprefixbefore prefix
-iquote <directory> Add directory to QUOTE include search path
-isysroot <dir> Set the system root directory (usually /)
-isystem-after <directory>
Add directory to end of the SYSTEM include search path
-isystem <directory> Add directory to SYSTEM include search path
-ivfsoverlay <value> Overlay the virtual filesystem described by file over the real file system
-iwithprefixbefore <dir>
Set directory to include search path with prefix
-iwithprefix <dir> Set directory to SYSTEM include search path with prefix
-iwithsysroot <directory>
Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
-I <dir> Add directory to the end of the list of include search paths
--libomptarget-amdgcn-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-nvptx-bc-path=<value>
Path to libomptarget-nvptx bitcode library
-L <dir> Add directory to library search path
-mabi=vec-default Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
-mabi=vec-extabi Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers
-mabicalls Enable SVR4-style position-independent code (Mips only)
-maix-struct-return Return all structs in memory (PPC32 only)
-malign-branch-boundary=<value>
Specify the boundary's size to align branches
-malign-branch=<value> Specify types of branches to align
-malign-double Align doubles to two words in structs (x86 only)
-mamdgpu-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)
-mbackchain Link stack frames through backchain on System Z
-mbranch-protection=<value>
Enforce targets of indirect branches and function returns
-mbranches-within-32B-boundaries
Align selected branches (fused, jcc, jmp) within 32-byte boundary
-mcmodel=medany Equivalent to -mcmodel=medium, compatible with RISC-V gcc.
-mcmodel=medlow Equivalent to -mcmodel=small, compatible with RISC-V gcc.
-mcmse Allow use of CMSE (Armv8-M Security Extensions)
-mcode-object-v3 Legacy option to specify code object ABI V3 (AMDGPU only)
-mcode-object-version=<version>
Specify code object ABI version. Defaults to 3. (AMDGPU only)
-mcrc Allow use of CRC instructions (ARM/Mips only)
-mcumode Specify CU wavefront execution mode (AMDGPU only)
-mdouble=<value> Force double to be 32 bits or 64 bits
-MD Write a depfile containing user and system headers
-meabi <value> Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
-membedded-data Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
-menable-experimental-extensions
Enable use of experimental RISC-V extensions.
-menable-unsafe-fp-math Allow unsafe floating-point math optimizations which may decrease precision
-mexec-model=<value> Execution model (WebAssembly only)
-mexecute-only Disallow generation of data access to code sections (ARM only)
-mextern-sdata Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mfentry Insert calls to fentry at function entry (x86/SystemZ only)
-mfix-cmse-cve-2021-35465
Work around VLLDM erratum CVE-2021-35465 (ARM only)
-mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)
-mfp32 Use 32-bit floating point registers (MIPS only)
-mfp64 Use 64-bit floating point registers (MIPS only)
-MF <file> Write depfile output from -MMD, -MD, -MM, or -M to <file>
-mgeneral-regs-only Generate code which only uses the general purpose registers (AArch64/x86 only)
-mglobal-merge Enable merging of globals
-mgpopt Use GP relative accesses for symbols known to be in a small data section (MIPS)
-MG Add missing headers to depfile
-mharden-sls=<value> Select straight-line speculation hardening scope
-mhvx-ieee-fp Enable Hexagon HVX IEEE floating-point
-mhvx-length=<value> Set Hexagon Vector Length
-mhvx-qfloat Enable Hexagon HVX QFloat instructions
-mhvx=<value> Enable Hexagon Vector eXtensions
-mhvx Enable Hexagon Vector eXtensions
-miamcu Use Intel MCU ABI
-mibt-seal Optimize fcf-protection=branch/full (requires LTO).
-mignore-xcoff-visibility
Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
--migrate Run the migrator
-mincremental-linker-compatible
(integrated-as) Emit an object file which can be used with an incremental linker
-mindirect-jump=<value> Change indirect jump instructions to inhibit speculation
-mios-version-min=<value>
Set iOS deployment target
-MJ <value> Write a compilation database entry per input
-mllvm <value> Additional arguments to forward to LLVM's option processing
-mlocal-sdata Extend the -G behaviour to object local data (MIPS)
-mlong-calls Generate branches with extended addressability, usually via indirect jumps.
-mlong-double-128 Force long double to be 128 bits
-mlong-double-64 Force long double to be 64 bits
-mlong-double-80 Force long double to be 80 bits, padded to 128 bits for storage
-mlvi-cfi Enable only control-flow mitigations for Load Value Injection (LVI)
-mlvi-hardening Enable all mitigations for Load Value Injection (LVI)
-mmacosx-version-min=<value>
Set Mac OS X deployment target
-mmadd4 Enable the generation of 4-operand madd.s, madd.d and related instructions.
-mmark-bti-property Add .note.gnu.property with BTI to assembly files (AArch64 only)
-MMD Write a depfile containing user headers
-mmemops Enable generation of memop instructions
-mms-bitfields Set the default structure layout to be compatible with the Microsoft compiler standard
-mmsa Enable MSA ASE (MIPS only)
-mmt Enable MT ASE (MIPS only)
-MM Like -MMD, but also implies -E and writes to stdout by default
-mno-abicalls Disable SVR4-style position-independent code (Mips only)
-mno-bti-at-return-twice
Do not add a BTI instruction after a setjmp or other return-twice construct (Arm/AArch64 only)
-mno-code-object-v3 Legacy option to specify code object ABI V2 (AMDGPU only)
-mno-crc Disallow use of CRC instructions (Mips only)
-mno-cumode Specify WGP wavefront execution mode (AMDGPU only)
-mno-embedded-data Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)
-mno-execute-only Allow generation of data access to code sections (ARM only)
-mno-extern-sdata Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mno-fix-cmse-cve-2021-35465
Don't work around VLLDM erratum CVE-2021-35465 (ARM only)
-mno-fix-cortex-a53-835769
Don't workaround Cortex-A53 erratum 835769 (AArch64 only)
-mno-global-merge Disable merging of globals
-mno-gpopt Do not use GP relative accesses for symbols known to be in a small data section (MIPS)
-mno-hvx-ieee-fp Disable Hexagon HVX IEEE floating-point
-mno-hvx-qfloat Disable Hexagon HVX QFloat instructions
-mno-hvx Disable Hexagon Vector eXtensions
-mno-implicit-float Don't generate implicit floating point instructions
-mno-incremental-linker-compatible
(integrated-as) Emit an object file which cannot be used with an incremental linker
-mno-local-sdata Do not extend the -G behaviour to object local data (MIPS)
-mno-long-calls Restore the default behaviour of not generating long calls
-mno-lvi-cfi Disable control-flow mitigations for Load Value Injection (LVI)
-mno-lvi-hardening Disable mitigations for Load Value Injection (LVI)
-mno-madd4 Disable the generation of 4-operand madd.s, madd.d and related instructions.
-mno-memops Disable generation of memop instructions
-mno-movt Disallow use of movt/movw pairs (ARM only)
-mno-ms-bitfields Do not set the default structure layout to be compatible with the Microsoft compiler standard
-mno-msa Disable MSA ASE (MIPS only)
-mno-mt Disable MT ASE (MIPS only)
-mno-neg-immediates Disallow converting instructions with negative immediates to their negation or inversion.
-mno-nvj Disable generation of new-value jumps
-mno-nvs Disable generation of new-value stores
-mno-outline-atomics Don't generate local calls to out-of-line atomic operations
-mno-outline Disable function outlining (AArch64 only)
-mno-packets Disable generation of instruction packets
-mno-relax Disable linker relaxation
-mno-restrict-it Allow generation of deprecated IT blocks for ARMv8. It is off by default for ARMv8 Thumb mode
-mno-save-restore Disable using library calls for save and restore
-mno-seses Disable speculative execution side effect suppression (SESES)
-mno-stack-arg-probe Disable stack probes which are enabled by default
-mno-tgsplit Disable threadgroup split execution mode (AMDGPU only)
-mno-tls-direct-seg-refs
Disable direct TLS access through segment registers
-mno-unaligned-access Force all memory accesses to be aligned (AArch32/AArch64 only)
-mno-wavefrontsize64 Specify wavefront size 32 mode (AMDGPU only)
-mnocrc Disallow use of CRC instructions (ARM only)
-mnop-mcount Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.
-mnvj Enable generation of new-value jumps
-mnvs Enable generation of new-value stores
-module-dependency-dir <value>
Directory to dump module dependencies to
-module-file-info Provide information about a particular module file
-momit-leaf-frame-pointer
Omit frame pointer setup for leaf functions
-moutline-atomics Generate local calls to out-of-line atomic operations
-moutline Enable function outlining (AArch64 only)
-mpacked-stack Use packed stack layout (SystemZ only).
-mpackets Enable generation of instruction packets
-mpad-max-prefix-size=<value>
Specify maximum number of prefixes to use for padding
-mprefer-vector-width=<value>
Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
-MP Create phony target for each dependency (other than main file)
-mqdsp6-compat Enable hexagon-qdsp6 backward compatibility
-MQ <value> Specify name of main file output to quote in depfile
-mrecord-mcount Generate a __mcount_loc section entry for each __fentry__ call.
-mrelax-all (integrated-as) Relax all machine instructions
-mrelax Enable linker relaxation
-mrestrict-it Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
-mrtd Make StdCall calling convention the default
-msave-restore Enable using library calls for save and restore
-mseses Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
-msign-return-address=<value>
Select return address signing scope
-mskip-rax-setup Skip setting up RAX register when passing variable arguments (x86 only)
-msmall-data-limit=<value>
Put global and static data smaller than the limit into a special section
-msoft-float Use software floating point
-mstack-alignment=<value>
Set the stack alignment
-mstack-arg-probe Enable stack probes
-mstack-probe-size=<value>
Set the stack probe size
-mstack-protector-guard-offset=<value>
Use the given offset for addressing the stack-protector guard
-mstack-protector-guard-reg=<value>
Use the given reg for addressing the stack-protector guard
-mstack-protector-guard=<value>
Use the given guard (global, tls) for addressing the stack-protector guard
-mstackrealign Force realign the stack at entry to every function
-msve-vector-bits=<value>
Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
-msvr4-struct-return Return small structs in registers (PPC32 only)
-mtargetos=<value> Set the deployment target to be the specified OS and OS version
-mtgsplit Enable threadgroup split execution mode (AMDGPU only)
-mthread-model <value> The thread model to use, e.g. posix, single (posix by default)
-mtls-direct-seg-refs Enable direct TLS access through segment registers (default)
-mtls-size=<value> 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)
-mtp=<value> Thread pointer access method (AArch32/AArch64 only)
-mtune=<value> Only supported on X86 and RISC-V. Otherwise accepted for compatibility with GCC.
-MT <value> Specify name of main file output in depfile
-munaligned-access Allow memory accesses to be unaligned (AArch32/AArch64 only)
-munsafe-fp-atomics Enable unsafe floating point atomic instructions (AMDGPU only)
-mvscale-max=<value> Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)
-mvscale-min=<value> Specify the vscale minimum. Defaults to "1". (AArch64 only)
-MV Use NMake/Jom format for the depfile
-mwavefrontsize64 Specify wavefront size 64 mode (AMDGPU only)
-M Like -MD, but also implies -E and writes to stdout by default
--no-cuda-include-ptx=<value>
Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--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.
--no-gpu-bundle-output Do not bundle output files of HIP device compilation
--no-offload-arch=<value>
Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
--no-system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as not including a system header.
-nobuiltininc Disable builtin #include directories
-nogpuinc Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers
-nogpulib Do not link device library for CUDA/HIP device compilation
-nohipwrapperinc Do not include the default HIP wrapper headers and include paths
-nostdinc++ Disable standard #include directories for the C++ standard library
-ObjC++ Treat source input files as Objective-C++ inputs
-objcmt-allowlist-dir-path=<value>
Only modify files with a filename contained in the provided directory path
-objcmt-atomic-property Make migration to 'atomic' properties
-objcmt-migrate-all Enable migration to modern ObjC
-objcmt-migrate-annotation
Enable migration to property and method annotations
-objcmt-migrate-designated-init
Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods
-objcmt-migrate-instancetype
Enable migration to infer instancetype for method result type
-objcmt-migrate-literals
Enable migration to modern ObjC literals
-objcmt-migrate-ns-macros
Enable migration to NS_ENUM/NS_OPTIONS macros
-objcmt-migrate-property-dot-syntax
Enable migration of setter/getter messages to property-dot syntax
-objcmt-migrate-property
Enable migration to modern ObjC property
-objcmt-migrate-protocol-conformance
Enable migration to add protocol conformance on classes
-objcmt-migrate-readonly-property
Enable migration to modern ObjC readonly property
-objcmt-migrate-readwrite-property
Enable migration to modern ObjC readwrite property
-objcmt-migrate-subscripting
Enable migration to modern ObjC subscripting
-objcmt-ns-nonatomic-iosonly
Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute
-objcmt-returns-innerpointer-property
Enable migration to annotate property with NS_RETURNS_INNER_POINTER
-objcmt-whitelist-dir-path=<value>
Alias for -objcmt-allowlist-dir-path
-ObjC Treat source input files as Objective-C inputs
-object-file-name=<file>
Set the output <file> for debug infos
--offload-arch=<value> 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.
--offload=<value> Specify comma-separated list of offloading target triples (CUDA and HIP only)
-o <file> Write output to <file>
-pedantic Warn on language extensions
-pg Enable mcount instrumentation
-pipe Use pipes between commands, when possible
--precompile Only precompile the input
-print-effective-triple Print the effective target triple
-print-file-name=<file> Print the full library path of <file>
-print-ivar-layout Enable Objective-C Ivar layout bitmap print trace
-print-libgcc-file-name Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")
-print-multiarch Print the multiarch target triple
-print-prog-name=<name> Print the full program path of <name>
-print-resource-dir Print the resource directory pathname
-print-rocm-search-dirs Print the paths used for finding ROCm installation
-print-runtime-dir Print the directory pathname containing clangs runtime libraries
-print-search-dirs Print the paths used for finding libraries and programs
-print-supported-cpus Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)
-print-target-triple Print the normalized target triple
-print-targets Print the registered targets
-pthread Support POSIX threads in generated code
--ptxas-path=<value> Path to ptxas (used for compiling CUDA code)
-P Disable linemarker output in -E mode
-Qn Do not emit metadata containing compiler name and version
-Qunused-arguments Don't emit warning for unused driver arguments
-Qy Emit metadata containing compiler name and version
-relocatable-pch Whether to build a relocatable precompiled header
-rewrite-legacy-objc Rewrite Legacy Objective-C source to C++
-rewrite-objc Rewrite Objective-C source to C++
--rocm-device-lib-path=<value>
ROCm device library path. Alternative to rocm-path.
--rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
-Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
-Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
-Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
-rtlib=<value> Compiler runtime library to use
-R<remark> Enable the specified remark
-save-stats=<value> Save llvm statistics.
-save-stats Save llvm statistics.
-save-temps=<value> Save intermediate compilation results.
-save-temps Save intermediate compilation results
-serialize-diagnostics <value>
Serialize compiler diagnostics to a file
-shared-libsan Dynamically link the sanitizer runtime
--start-no-unused-arguments
Don't emit warnings about unused arguments for the following arguments
-static-libsan Statically link the sanitizer runtime
-static-openmp Use the static host OpenMP runtime while linking.
-std=<value> Language standard to compile for
-stdlib++-isystem <directory>
Use directory as the C++ standard library include path
-stdlib=<value> C++ standard library to use
-sycl-std=<value> SYCL language standard to compile for.
--system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as including a system header.
-S Only run preprocess and compilation steps
--target=<value> Generate code for the given target
-Tbss <addr> Set starting address of BSS to <addr>
-Tdata <addr> Set starting address of DATA to <addr>
-time Time individual commands
-traditional-cpp Enable some traditional CPP emulation
-trigraphs Process trigraph sequences
-Ttext <addr> Set starting address of TEXT to <addr>
-T <script> Specify <script> as linker script
-undef undef all system defines
-unwindlib=<value> Unwind library to use
-U <macro> Undefine macro <macro>
--verify-debug-info Verify the binary representation of debug output
-verify-pch Load and verify that a pre-compiled header file is not stale
--version Print version information
-v Show commands to run and use verbose output
-Wa,<arg> Pass the comma separated arguments in <arg> to the assembler
-Wdeprecated Enable warnings for deprecated constructs and define __DEPRECATED
-Wl,<arg> Pass the comma separated arguments in <arg> to the linker
-working-directory <value>
Resolve file paths relative to the specified directory
-Wp,<arg> Pass the comma separated arguments in <arg> to the preprocessor
-W<warning> Enable the specified warning
-w Suppress all warnings
-Xanalyzer <arg> Pass <arg> to the static analyzer
-Xarch_device <arg> Pass <arg> to the CUDA/HIP device compilation
-Xarch_host <arg> Pass <arg> to the CUDA/HIP host compilation
-Xassembler <arg> Pass <arg> to the assembler
-Xclang <arg> Pass <arg> to the clang compiler
-Xcuda-fatbinary <arg> Pass <arg> to fatbinary invocation
-Xcuda-ptxas <arg> Pass <arg> to the ptxas assembler
-Xlinker <arg> Pass <arg> to the linker
-Xopenmp-target=<triple> <arg>
Pass <arg> to the target offloading toolchain identified by <triple>.
-Xopenmp-target <arg> Pass <arg> to the target offloading toolchain.
-Xpreprocessor <arg> Pass <arg> to the preprocessor
-x <language> Treat subsequent input files as having type <language>
-z <arg> Pass -z <arg> to the linker
Options (640)
| Option | Description | Source |
|---|---|---|
-### | Print (but do not run) the commands to run for this compilation | help + man |
--amdgpu-arch-tool value | Tool used for detecting AMD GPU arch in the system. | help + man |
--analyzer-output value | Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text). | help + man |
--analyze | Run the static analyzer | help + man |
-arcmt-migrate-emit-errors | Emit ARC errors even if the migrator can fix them | help + man |
-arcmt-migrate-report-output value | Output path for the plist report | help + man |
-B prefix | Search $prefix$file for executables, libraries, and data files. | help + man |
-b arg | Pass -b <arg> to the linker on AIX (only). | help + man |
-CC | Include comments from within macros in preprocessed output | help + man |
-cl-denorms-are-zero | OpenCL only. | help + man |
-cl-fast-relaxed-math | OpenCL only. | help + man |
-cl-finite-math-only | OpenCL only. | help + man |
-cl-fp32-correctly-rounded-divide-sqrt | OpenCL only. | help + man |
-cl-kernel-arg-info | OpenCL only. | help + man |
-cl-mad-enable | OpenCL only. | help + man |
-cl-no-signed-zeros | OpenCL only. | help + man |
-cl-no-stdinc | OpenCL only. | help + man |
-cl-opt-disable | OpenCL only. | help + man |
-cl-single-precision-constant | OpenCL only. | help + man |
-cl-std value | OpenCL language standard to compile for. | help + man |
-cl-strict-aliasing | OpenCL only. | help + man |
-cl-uniform-work-group-size | OpenCL only. | help + man |
-cl-unsafe-math-optimizations | OpenCL only. | help + man |
--config value | Specifies configuration file | help + man |
--cuda-compile-host-device | Compile CUDA code for both host and device (default). | help + man |
--cuda-device-only | Compile CUDA code for device only | help + man |
--cuda-host-only | Compile CUDA code for host only. | help + man |
--cuda-include-ptx value | Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. | help + man |
--cuda-noopt-device-debug | Enable device-side debug info generation. | help + man |
--cuda-path-ignore-env | Ignore environment variables to detect CUDA installation | help + man |
--cuda-path value | CUDA installation path | help + man |
-cuid value | An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. | help + man |
-cxx-isystem directory | Add directory to the C++ SYSTEM include search path | help + man |
-C | Include comments in preprocessed output | help + man |
-c | Only run preprocess, compile, and assemble steps | help + man |
-dD | Print macro definitions in -E mode in addition to normal output | help + man |
-dependency-file value | Filename (or -) to write dependency output to | help + man |
-dI | Print include directives in -E mode in addition to normal output | help + man |
-dM | Print macro definitions in -E mode instead of normal output | help + man |
-dsym-dir dir | Directory to output dSYM's (if any) to | help + man |
-D macro>=<value | Define <macro> to <value> (or 1 if <value> omitted) | help + man |
-emit-ast | Emit Clang AST files for source inputs | help + man |
-emit-interface-stubs | Generate Interface Stub Files. | help + man |
-emit-llvm | Use the LLVM representation for assembler and object files | help + man |
-emit-merged-ifs | Generate Interface Stub Files, emit merged text not binary. | help + man |
--emit-static-lib | Enable linker job to emit a static library. | help + man |
-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 | help + man |
--end-no-unused-arguments | Start emitting warnings for unused driver arguments | help + man |
-extract-api | Extract API information | help + man |
-E | Only run the preprocessor | help + man |
-faapcs-bitfield-load | Follows the AAPCS standard that all volatile bit-field write generates at least one load. | help + man |
-faapcs-bitfield-width | Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. | help + man |
-faddrsig | Emit an address-significance table | help + man |
-falign-loops N | N must be a power of two. | help + man |
-faligned-allocation | Enable C++17 aligned allocation functions | help + man |
-fallow-editor-placeholders | Treat editor placeholders as valid source code | help + man |
-faltivec-src-compat value | Source-level compatibility for Altivec vectors (for PowerPC targets). | help + man |
-fansi-escape-codes | Use ANSI escape codes for diagnostics | help + man |
-fapple-kext | Use Apple's kernel extensions ABI | help + man |
-fapple-link-rtlib | Force linking the clang builtins runtime library | help + man |
-fapple-pragma-pack | Enable Apple gcc-compatible #pragma pack handling | help + man |
-fapprox-func | Allow certain math function calls to be replaced with an approximately equivalent calculation | help + man |
-fasync-exceptions | Enable EH Asynchronous exceptions | help + man |
-fbasic-block-sections value | Place each function's basic blocks in unique sections (ELF Only) : all | labels | none | list=<file> | help + man |
-fbinutils-version major.minor | Produced object files can use all ELF features supported by this binutils version and newer. | help + man |
-fblocks | Enable the 'blocks' language feature | help + man |
-fborland-extensions | Accept non-standard constructs supported by the Borland compiler | help + man |
-fbuild-session-file file | Use the last modification time of <file> as the build session timestamp | help + man |
-fbuiltin-module-map | Load the clang builtins module map file. | help + man |
-fc++-abi value | C++ ABI to use. | help + man |
-fcall-saved-x10 | Make the x10 register call-saved (AArch64 only) | help + man |
-fcall-saved-x11 | Make the x11 register call-saved (AArch64 only) | help + man |
-fcall-saved-x12 | Make the x12 register call-saved (AArch64 only) | help + man |
-fcall-saved-x13 | Make the x13 register call-saved (AArch64 only) | help + man |
-fcall-saved-x14 | Make the x14 register call-saved (AArch64 only) | help + man |
-fcall-saved-x15 | Make the x15 register call-saved (AArch64 only) | help + man |
-fcall-saved-x18 | Make the x18 register call-saved (AArch64 only) | help + man |
-fcall-saved-x8 | Make the x8 register call-saved (AArch64 only) | help + man |
-fcall-saved-x9 | Make the x9 register call-saved (AArch64 only) | help + man |
-fcf-protection value | Enable cf-protection in 'full' mode | help + man |
-fchar8_t | Enable C++ builtin type char8_t | help + man |
-fclang-abi-compat version | Attempt to match the ABI of Clang <version> | help + man |
-fcolor-diagnostics | Enable colors in diagnostics | help + man |
-fcomment-block-commands arg | Treat each comma separated argument in <arg> as a documentation comment block command | help + man |
-fcommon | Place uninitialized global variables in a common block | help + man |
-fcomplete-member-pointers | Require member pointer base types to be complete if they would be significant under the Microsoft ABI | help + man |
-fconvergent-functions | Assume functions may be convergent | help + man |
-fcoroutines-ts | Enable support for the C++ Coroutines TS | help + man |
-fcoverage-compilation-dir value | The compilation directory to embed in the coverage mapping. | help + man |
-fcoverage-mapping | Generate coverage mapping to enable code coverage analysis | help + man |
-fcoverage-prefix-map value | remap file source paths in coverage mapping | help + man |
-fcrash-diagnostics-dir dir | Put crash-report files in <dir> | help + man |
-fcs-profile-generate directory | Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var) | help + man |
-fcuda-approx-transcendentals | Use approximate transcendental functions | help + man |
-fcuda-short-ptr | Use 32-bit pointers for accessing const/local/shared address spaces | help + man |
-fcxx-exceptions | Enable C++ exceptions | help + man |
-fcxx-modules | Enable modules for C++ | help + man |
-fdata-sections | Place each data in its own section | help + man |
-fdebug-compilation-dir value | The compilation directory to embed in the debug info | help + man |
-fdebug-default-version value | Default DWARF version to use, if a -g option caused DWARF debug info to be produced | help + man |
-fdebug-info-for-profiling | Emit extra debug info to make sample profile more accurate | help + man |
-fdebug-macro | Emit macro debug information | help + man |
-fdebug-prefix-map value | remap file source paths in debug info | help + man |
-fdebug-ranges-base-address | Use DWARF base address selection entries in .debug_ranges | help + man |
-fdebug-types-section | Place debug types in their own section (ELF Only) | help + man |
-fdeclspec | Allow __declspec as a keyword | help + man |
-fdelayed-template-parsing | Parse templated function definitions at the end of the translation unit | help + man |
-fdelete-null-pointer-checks | Treat usage of null pointers as undefined behavior (default) | help + man |
-fdiagnostics-absolute-paths | Print absolute paths in diagnostics | help + man |
-fdiagnostics-hotness-threshold value | Prevent optimization remarks from being output if they do not have at least this profile count. | help + man |
-fdiagnostics-parseable-fixits | Print fix-its in machine parseable form | help + man |
-fdiagnostics-print-source-range-info | Print source range spans in numeric form | help + man |
-fdiagnostics-show-hotness | Enable profile hotness information in diagnostic line | help + man |
-fdiagnostics-show-note-include-stack | Display include stacks for diagnostic notes | help + man |
-fdiagnostics-show-option | Print option name with mappable diagnostics | help + man |
-fdiagnostics-show-template-tree | Print a template comparison tree for differing templates | help + man |
-fdigraphs | Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default) | help + man |
-fdirect-access-external-data | Don't use GOT indirection to reference external data symbols | help + man |
-fdiscard-value-names | Discard value names in LLVM IR | help + man |
-fdollars-in-identifiers | Allow '$' in identifiers | help + man |
-fdouble-square-bracket-attributes | Enable '[[]]' attributes in all C and C++ language modes | help + man |
-fdwarf-exceptions | Use DWARF style exceptions | help + man |
-feliminate-unused-debug-types | Do not emit debug info for defined but unused types | help + man |
-fembed-bitcode-marker | Embed placeholder LLVM IR data as a marker | help + man |
-fembed-bitcode option | Embed LLVM bitcode (option: off, all, bitcode, marker) | help + man |
-fembed-offload-object value | Embed Offloading device-side binary into host object file as a section. | help + man |
-femit-all-decls | Emit all declarations, even if unused | help + man |
-femulated-tls | Use emutls functions to access thread_local variables | help + man |
-fenable-matrix | Enable matrix data type and related builtin functions | help + man |
-fexceptions | Enable support for exception handling | help + man |
-fexperimental-new-constant-interpreter | Enable the experimental new constant interpreter | help + man |
-fexperimental-relative-c++-abi-vtables | Use the experimental C++ class ABI for classes with virtual tables | help + man |
-fexperimental-strict-floating-point | Enables experimental strict floating point in LLVM. | help + man |
-fextend-arguments value | Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions | help + man |
-ffast-math | Allow aggressive, lossy floating-point optimizations | help + man |
-ffile-compilation-dir value | The compilation directory to embed in the debug info and coverage mapping. | help + man |
-ffile-prefix-map value | remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE() | help + man |
-ffine-grained-bitfield-accesses | Use separate accesses for consecutive bitfield runs with legal widths and alignments. | help + man |
-ffinite-loops | Assume all loops are finite. | help + man |
-ffixed-a0 | Reserve the a0 register (M68k only) | help + man |
-ffixed-a1 | Reserve the a1 register (M68k only) | help + man |
-ffixed-a2 | Reserve the a2 register (M68k only) | help + man |
-ffixed-a3 | Reserve the a3 register (M68k only) | help + man |
-ffixed-a4 | Reserve the a4 register (M68k only) | help + man |
-ffixed-a5 | Reserve the a5 register (M68k only) | help + man |
-ffixed-a6 | Reserve the a6 register (M68k only) | help + man |
-ffixed-d0 | Reserve the d0 register (M68k only) | help + man |
-ffixed-d1 | Reserve the d1 register (M68k only) | help + man |
-ffixed-d2 | Reserve the d2 register (M68k only) | help + man |
-ffixed-d3 | Reserve the d3 register (M68k only) | help + man |
-ffixed-d4 | Reserve the d4 register (M68k only) | help + man |
-ffixed-d5 | Reserve the d5 register (M68k only) | help + man |
-ffixed-d6 | Reserve the d6 register (M68k only) | help + man |
-ffixed-d7 | Reserve the d7 register (M68k only) | help + man |
-ffixed-point | Enable fixed point types | help + man |
-ffixed-r19 | Reserve register r19 (Hexagon only) | help + man |
-ffixed-r9 | Reserve the r9 register (ARM only) | help + man |
-ffixed-x10 | Reserve the x10 register (AArch64/RISC-V only) | help + man |
-ffixed-x11 | Reserve the x11 register (AArch64/RISC-V only) | help + man |
-ffixed-x12 | Reserve the x12 register (AArch64/RISC-V only) | help + man |
-ffixed-x13 | Reserve the x13 register (AArch64/RISC-V only) | help + man |
-ffixed-x14 | Reserve the x14 register (AArch64/RISC-V only) | help + man |
-ffixed-x15 | Reserve the x15 register (AArch64/RISC-V only) | help + man |
-ffixed-x16 | Reserve the x16 register (AArch64/RISC-V only) | help + man |
-ffixed-x17 | Reserve the x17 register (AArch64/RISC-V only) | help + man |
-ffixed-x18 | Reserve the x18 register (AArch64/RISC-V only) | help + man |
-ffixed-x19 | Reserve the x19 register (AArch64/RISC-V only) | help + man |
-ffixed-x1 | Reserve the x1 register (AArch64/RISC-V only) | help + man |
-ffixed-x20 | Reserve the x20 register (AArch64/RISC-V only) | help + man |
-ffixed-x21 | Reserve the x21 register (AArch64/RISC-V only) | help + man |
-ffixed-x22 | Reserve the x22 register (AArch64/RISC-V only) | help + man |
-ffixed-x23 | Reserve the x23 register (AArch64/RISC-V only) | help + man |
-ffixed-x24 | Reserve the x24 register (AArch64/RISC-V only) | help + man |
-ffixed-x25 | Reserve the x25 register (AArch64/RISC-V only) | help + man |
-ffixed-x26 | Reserve the x26 register (AArch64/RISC-V only) | help + man |
-ffixed-x27 | Reserve the x27 register (AArch64/RISC-V only) | help + man |
-ffixed-x28 | Reserve the x28 register (AArch64/RISC-V only) | help + man |
-ffixed-x29 | Reserve the x29 register (AArch64/RISC-V only) | help + man |
-ffixed-x2 | Reserve the x2 register (AArch64/RISC-V only) | help + man |
-ffixed-x30 | Reserve the x30 register (AArch64/RISC-V only) | help + man |
-ffixed-x31 | Reserve the x31 register (AArch64/RISC-V only) | help + man |
-ffixed-x3 | Reserve the x3 register (AArch64/RISC-V only) | help + man |
-ffixed-x4 | Reserve the x4 register (AArch64/RISC-V only) | help + man |
-ffixed-x5 | Reserve the x5 register (AArch64/RISC-V only) | help + man |
-ffixed-x6 | Reserve the x6 register (AArch64/RISC-V only) | help + man |
-ffixed-x7 | Reserve the x7 register (AArch64/RISC-V only) | help + man |
-ffixed-x8 | Reserve the x8 register (AArch64/RISC-V only) | help + man |
-ffixed-x9 | Reserve the x9 register (AArch64/RISC-V only) | help + man |
-fforce-dwarf-frame | Always emit a debug frame section | help + man |
-fforce-emit-vtables | Emits more virtual tables to improve devirtualization | help + man |
-fforce-enable-int128 | Enable support for int128_t type | help + man |
-ffp-contract value | 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… | help + man |
-ffp-exception-behavior value | Specifies the exception behavior of floating-point operations. | help + man |
-ffp-model value | Controls the semantics of floating-point calculations. | help + man |
-ffreestanding | Assert that the compilation takes place in a freestanding environment | help + man |
-ffuchsia-api-level value | Set Fuchsia API level | help + man |
-ffunction-sections | Place each function in its own section | help + man |
-fglobal-isel | Enables the global instruction selector | help + man |
-fgnu-keywords | Allow GNU-extension keywords regardless of language standard | help + man |
-fgnu-runtime | Generate output compatible with the standard GNU Objective-C runtime | help + man |
-fgnu89-inline | Use the gnu89 inline semantics | help + man |
-fgnuc-version value | Sets various macros to claim compatibility with the given GCC version (default is 4.2.1) | help + man |
-fgpu-defer-diag | Defer host/device related diagnostic messages for CUDA/HIP | help + man |
-fgpu-flush-denormals-to-zero | Flush denormal floating point values to zero in CUDA/HIP device mode. | help + man |
-fgpu-rdc | Generate relocatable device code, also known as separate compilation mode | help + man |
-fgpu-sanitize | Enable sanitizer for AMDGPU target | help + man |
-fhip-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) | help + man |
-fhip-new-launch-api | Use new kernel launching API for HIP | help + man |
-fignore-exceptions | Enable support for ignoring exception handling constructs | help + man |
-fimplicit-module-maps | Implicitly search the file system for module map files. | help + man |
-finline-functions | Inline suitable functions | help + man |
-finstrument-function-entry-bare | Instrument function entry only, after inlining, without arguments to the instrumentation call | help + man |
-finstrument-functions-after-inlining | Like -finstrument-functions, but insert the calls after inlining | help + man |
-finstrument-functions | Generate calls to instrument function entry and exit | help + man |
-fintegrated-as | Enable the integrated assembler | help + man |
-fintegrated-cc1 | Run cc1 in-process | help + man |
-fjump-tables | Use jump tables for lowering switches | help + man |
-fkeep-static-consts | Keep static const variables if unused | help + man |
-flax-vector-conversions value | Enable implicit vector bit-casts | help + man |
-flegacy-pass-manager | Use the legacy pass manager in LLVM (deprecated, to be removed in a future release) | help + man |
-flto-jobs value | Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected) | help + man |
-flto auto | Enable LTO in 'full' mode | help + man |
-fmacro-prefix-map value | remap file source paths in predefined preprocessor macros and __builtin_FILE() | help + man |
-fmath-errno | Require math functions to indicate errors by setting errno | help + man |
-fmax-tokens value | Max total number of preprocessed tokens for -Wmax-tokens. | help + man |
-fmax-type-align value | Specify the maximum alignment to enforce on pointers lacking an explicit alignment | help + man |
-fmemory-profile directory | Enable heap memory profiling and dump results into <directory> | help + man |
-fmerge-all-constants | Allow merging of constants | help + man |
-fmessage-length value | Format message diagnostics so that they fit within N columns | help + man |
-fminimize-whitespace | Minimize whitespace when emitting preprocessor output | help + man |
-fmodule-file name>=]<file | Specify the mapping of module name to precompiled module file, or load a module file if name is omitted. | help |
-fmodule-map-file file | Load this module map file | help + man |
-fmodule-name name | Specify the name of the module to build | help + man |
-fmodules-cache-path directory | Specify the module cache path | help + man |
-fmodules-decluse | Require declaration of modules used within a module | help + man |
-fmodules-disable-diagnostic-validation | Disable validation of the diagnostic options when loading the module | help + man |
-fmodules-ignore-macro value | Ignore the definition of the given macro when building and loading modules | help + man |
-fmodules-prune-after seconds | Specify the interval (in seconds) after which a module file will be considered unused | help + man |
-fmodules-prune-interval seconds | Specify the interval (in seconds) between attempts to prune the module cache | help + man |
-fmodules-search-all | Search even non-imported modules to resolve references | help + man |
-fmodules-strict-decluse | Like -fmodules-decluse but requires all headers to be in modules | help + man |
-fmodules-ts | Enable support for the C++ Modules TS | help + man |
-fmodules-user-build-path directory | Specify the module user build path | help + man |
-fmodules-validate-input-files-content | Validate PCM input files based on content if mtime differs | help + man |
-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 | help + man |
-fmodules-validate-system-headers | Validate the system headers that a module depends on when loading the module | help + man |
-fmodules | Enable the 'modules' language feature | help + man |
-fms-compatibility-version value | Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default)) | help + man |
-fms-compatibility | Enable full Microsoft Visual C++ compatibility | help + man |
-fms-extensions | Accept some non-standard constructs supported by the Microsoft compiler | help + man |
-fms-hotpatch | Ensure that all functions can be hotpatched at runtime | help + man |
-fmsc-version value | Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default)) | help + man |
-fnew-infallible | Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). | help + man |
-fno-aapcs-bitfield-width | Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. | help + man |
-fno-access-control | Disable C++ access control | help + man |
-fno-addrsig | Don't emit an address-significance table | help + man |
-fno-assume-sane-operator-new | Don't assume that C++'s global operator new can't alias any pointer | help + man |
-fno-autolink | Disable generation of linker directives for automatic library linking | help + man |
-fno-builtin- value | Disable implicit builtin knowledge of a specific function | help + man |
-fno-builtin | Disable implicit builtin knowledge of functions | help + man |
-fno-c++-static-destructors | Disable C++ static destructor registration | help + man |
-fno-char8_t | Disable C++ builtin type char8_t | help + man |
-fno-color-diagnostics | Disable colors in diagnostics | help + man |
-fno-common | Compile common globals like normal definitions | help + man |
-fno-complete-member-pointers | Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI | help + man |
-fno-coverage-mapping | Disable code coverage analysis | help + man |
-fno-crash-diagnostics | Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash | help + man |
-fno-cuda-approx-transcendentals | Don't use approximate transcendental functions | help + man |
-fno-cxx-modules | Disable modules for C++ | help + man |
-fno-debug-macro | Do not emit macro debug information | help + man |
-fno-declspec | Disallow __declspec as a keyword | help + man |
-fno-delayed-template-parsing | Disable delayed template parsing | help + man |
-fno-delete-null-pointer-checks | Do not treat usage of null pointers as undefined behavior | help + man |
-fno-diagnostics-fixit-info | Do not include fixit information in diagnostics | help + man |
-fno-digraphs | Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' | help + man |
-fno-direct-access-external-data | Use GOT indirection to reference external data symbols | help + man |
-fno-discard-value-names | Do not discard value names in LLVM IR | help + man |
-fno-dollars-in-identifiers | Disallow '$' in identifiers | help + man |
-fno-double-square-bracket-attributes | Disable '[[]]' attributes in all C and C++ language modes | help + man |
-fno-elide-type | Do not elide types when printing diagnostics | help + man |
-fno-eliminate-unused-debug-types | Emit debug info for defined but unused types | help + man |
-fno-exceptions | Disable support for exception handling | help + man |
-fno-experimental-relative-c++-abi-vtables | Do not use the experimental C++ class ABI for classes with virtual tables | help + man |
-fno-fine-grained-bitfield-accesses | Use large-integer access for consecutive bitfield runs. | help + man |
-fno-finite-loops | Do not assume that any loop is finite. | help + man |
-fno-fixed-point | Disable fixed point types | help + man |
-fno-force-enable-int128 | Disable support for int128_t type | help + man |
-fno-global-isel | Disables the global instruction selector | help + man |
-fno-gnu-inline-asm | Disable GNU style inline asm | help + man |
-fno-gpu-allow-device-init | Don't allow device side init function in HIP (experimental) | help + man |
-fno-gpu-defer-diag | Don't defer host/device related diagnostic messages for CUDA/HIP | help + man |
-fno-hip-fp32-correctly-rounded-divide-sqrt | Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only) | help + man |
-fno-integrated-as | Disable the integrated assembler | help + man |
-fno-integrated-cc1 | Spawn a separate process for each cc1 | help + man |
-fno-jump-tables | Do not use jump tables for lowering switches | help + man |
-fno-legacy-pass-manager | Use the new pass manager in LLVM | help + man |
-fno-lto | Disable LTO mode (default) | help + man |
-fno-memory-profile | Disable heap memory profiling | help + man |
-fno-merge-all-constants | Disallow merging of constants | help + man |
-fno-new-infallible | Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). | help + man |
-fno-objc-infer-related-result-type | do not infer Objective-C related result type based on method family | help + man |
-fno-offload-lto | Disable LTO mode (default) for offload compilation | help + man |
-fno-openmp-extensions | Disable all Clang extensions for OpenMP directives and clauses | help + man |
-fno-operator-names | Do not treat C++ operator name keywords as synonyms for operators | help + man |
-fno-pch-codegen | Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH | help + man |
-fno-pch-debuginfo | Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere | help + man |
-fno-plt | Use GOT indirection instead of PLT to make external function calls (x86 only) | help + man |
-fno-preserve-as-comments | Do not preserve comments in inline assembly | help + man |
-fno-profile-generate | Disable generation of profile instrumentation. | help + man |
-fno-profile-instr-generate | Disable generation of profile instrumentation. | help + man |
-fno-profile-instr-use | Disable using instrumentation data for profile-guided optimization | help + man |
-fno-pseudo-probe-for-profiling | Do not emit pseudo probes for sample profiling | help + man |
-fno-register-global-dtors-with-atexit | Don't use atexit or __cxa_atexit to register global destructors | help + man |
-fno-rtlib-add-rpath | Do not add -rpath with architecture-specific resource directory to the linker flags | help + man |
-fno-rtti-data | Disable generation of RTTI data | help + man |
-fno-rtti | Disable generation of rtti information | help + man |
-fno-sanitize-address-outline-instrumentation | Use default code inlining logic for the address sanitizer | help + man |
-fno-sanitize-address-poison-custom-array-cookie | Disable poisoning array cookies when using custom operator new[] in AddressSanitizer | help + man |
-fno-sanitize-address-use-after-scope | Disable use-after-scope detection in AddressSanitizer | help + man |
-fno-sanitize-address-use-odr-indicator | Disable ODR indicator globals | help + man |
-fno-sanitize-cfi-canonical-jump-tables | Do not make the jump table addresses canonical in the symbol table | help + man |
-fno-sanitize-cfi-cross-dso | Disable control flow integrity (CFI) checks for cross-DSO calls. | help + man |
-fno-sanitize-coverage value | Disable features of coverage instrumentation for Sanitizers | help + man |
-fno-sanitize-hwaddress-experimental-aliasing | Disable aliasing mode in HWAddressSanitizer | help + man |
-fno-sanitize-ignorelist | Don't use ignorelist file for sanitizers | help + man |
-fno-sanitize-memory-param-retval | Disable detection of uninitialized parameters and return values | help + man |
-fno-sanitize-memory-track-origins | Disable origins tracking in MemorySanitizer | help + man |
-fno-sanitize-memory-use-after-dtor | Disable use-after-destroy detection in MemorySanitizer | help + man |
-fno-sanitize-recover value | Disable recovery for specified sanitizers | help + man |
-fno-sanitize-stats | Disable sanitizer statistics gathering. | help + man |
-fno-sanitize-thread-atomics | Disable atomic operations instrumentation in ThreadSanitizer | help + man |
-fno-sanitize-thread-func-entry-exit | Disable function entry/exit instrumentation in ThreadSanitizer | help + man |
-fno-sanitize-thread-memory-access | Disable memory access instrumentation in ThreadSanitizer | help + man |
-fno-sanitize-trap value | Disable trapping for specified sanitizers | help + man |
-fno-short-wchar | Force wchar_t to be an unsigned int | help + man |
-fno-show-column | Do not include column number on diagnostics | help + man |
-fno-show-source-location | Do not include source location information with diagnostics | help + man |
-fno-signed-char | char is unsigned | help + man |
-fno-signed-zeros | Allow optimizations that ignore the sign of floating point zeros | help + man |
-fno-spell-checking | Disable spell-checking | help + man |
-fno-split-machine-functions | Disable late function splitting using profile information (x86 ELF) | help + man |
-fno-split-stack | Wouldn't use segmented stack | help + man |
-fno-stack-clash-protection | Disable stack clash protection | help + man |
-fno-stack-protector | Disable the use of stack protectors | help + man |
-fno-standalone-debug | Limit debug information produced to reduce size of debug binary | help + man |
-fno-strict-float-cast-overflow | Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions | help + man |
-fno-strict-return | Don't treat control flow paths that fall off the end of a non-void function as unreachable | help + man |
-fno-sycl | Disables SYCL kernels compilation for device | help + man |
-fno-temp-file | Directly create compilation output files. | help + man |
-fno-trigraphs | Do not process trigraph sequences | help + man |
-fno-unique-section-names | Don't use unique names for text and data sections | help + man |
-fno-unroll-loops | Turn off loop unroller | help + man |
-fno-use-cxa-atexit | Don't use __cxa_atexit for calling destructors | help + man |
-fno-use-init-array | Use .ctors/.dtors instead of .init_array/.fini_array | help + man |
-fno-visibility-inlines-hidden-static-local-var | Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets) | help + man |
-fno-xray-function-index | Omit function index section at the expense of single-function patching performance | help + man |
-fno-zero-initialized-in-bss | Don't place zero initialized data in BSS | help + man |
-fobjc-arc-exceptions | Use EH-safe code when synthesizing retains and releases in -fobjc-arc | help + man |
-fobjc-arc | Synthesize retain and release calls for Objective-C pointers | help + man |
-fobjc-disable-direct-methods-for-testing | Ignore attribute objc_direct so that direct methods can be tested | help + man |
-fobjc-encode-cxx-class-template-spec | Fully encode c++ class template specialization | help + man |
-fobjc-exceptions | Enable Objective-C exceptions | help + man |
-fobjc-runtime value | Specify the target Objective-C runtime kind and version | help + man |
-fobjc-weak | Enable ARC-style weak references in Objective-C | help + man |
-foffload-lto value | Set LTO mode to either 'full' or 'thin' for offload compilation | help + man |
-fopenmp-extensions | Enable all Clang extensions for OpenMP directives and clauses | help + man |
-fopenmp-new-driver | Use the new driver for OpenMP offloading. | help + man |
-fopenmp-simd | Emit OpenMP code only for SIMD-based constructs. | help + man |
-fopenmp-target-debug | Enable debugging in the OpenMP offloading device RTL | help + man |
-fopenmp-target-new-runtime | Use the new bitcode library for OpenMP offloading | help + man |
-fopenmp-targets value | Specify comma-separated list of triples OpenMP offloading targets to be supported | help + man |
-fopenmp-version value | Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). | help + man |
-fopenmp | Parse OpenMP pragmas and generate parallel code. | help + man |
-foptimization-record-file file | Specify the output name of the file containing the optimization remarks. | help + man |
-foptimization-record-passes regex | Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes) | help + man |
-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) | help + man |
-fpack-struct value | Specify the default maximum struct packing alignment | help + man |
-fpascal-strings | Recognize and construct Pascal-style string literals | help + man |
-fpatchable-function-entry N | Generate M NOPs before function entry and N-M NOPs after function entry | help + man |
-fpcc-struct-return | Override the default ABI to return all structs on the stack | help + man |
-fpch-codegen | Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH | help + man |
-fpch-debuginfo | Generate debug info for types in an object file built from this PCH and do not generate them elsewhere | help + man |
-fpch-instantiate-templates | Instantiate templates already while building a PCH | help + man |
-fpch-validate-input-files-content | Validate PCH input files based on content if mtime differs | help + man |
-fplugin-arg- name>-<arg | Pass <arg> to plugin <name> | help + man |
-fplugin dsopath | Load the named plugin (dynamic shared object) | help + man |
-fprebuilt-implicit-modules | Look up implicit modules in the prebuilt module path | help + man |
-fprebuilt-module-path directory | Specify the prebuilt module path | help + man |
-fproc-stat-report value | Save subprocess statistics to the given file | help + man |
-fprofile-exclude-files value | Instrument only functions from files where names don't match all the regexes separated by a semi-colon | help + man |
-fprofile-filter-files value | Instrument only functions from files where names match any regex separated by a semi-colon | help + man |
-fprofile-generate directory | Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var) | help + man |
-fprofile-instr-generate file | Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var) | help + man |
-fprofile-instr-use value | Use instrumentation data for profile-guided optimization | help + man |
-fprofile-list value | Filename defining the list of functions/files to instrument | help + man |
-fprofile-remapping-file file | Use the remappings described in <file> to match the profile data against names in the program | help + man |
-fprofile-sample-accurate | Specifies that the sample profile is accurate | help + man |
-fprofile-sample-use value | Enable sample-based profile guided optimizations | help + man |
-fprofile-update method | Set update method of profile counters (atomic,prefer-atomic,single) | help + man |
-fprofile-use pathname | Use instrumentation data for profile-guided optimization. | help + man |
-fprotect-parens | Determines whether the optimizer honors parentheses when floating-point expressions are evaluated | help + man |
-fpseudo-probe-for-profiling | Emit pseudo probes for sample profiling | help + man |
-freciprocal-math | Allow division operations to be reassociated | help + man |
-freg-struct-return | Override the default ABI to return small structs in registers | help + man |
-fregister-global-dtors-with-atexit | Use atexit or __cxa_atexit to register global destructors | help + man |
-frelaxed-template-template-args | Enable C++17 relaxed template template argument matching | help + man |
-freroll-loops | Turn on loop reroller | help + man |
-fropi | Generate read-only position independent code (ARM only) | help + man |
-frtlib-add-rpath | Add -rpath with architecture-specific resource directory to the linker flags | help + man |
-frwpi | Generate read-write position independent code (ARM only) | help + man |
-fsanitize-address-destructor value | Set destructor type used in ASan instrumentation | help + man |
-fsanitize-address-field-padding value | Level of field padding for AddressSanitizer | help + man |
-fsanitize-address-globals-dead-stripping | Enable linker dead stripping of globals in AddressSanitizer | help + man |
-fsanitize-address-outline-instrumentation | Always generate function calls for address sanitizer instrumentation | help + man |
-fsanitize-address-poison-custom-array-cookie | Enable poisoning array cookies when using custom operator new[] in AddressSanitizer | help + man |
-fsanitize-address-use-after-return mode | Select the mode of detecting stack use-after-return in AddressSanitizer: never | runtime (default) | always | help + man |
-fsanitize-address-use-after-scope | Enable use-after-scope detection in AddressSanitizer | help + man |
-fsanitize-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 | help + man |
-fsanitize-blacklist value | Alias for -fsanitize-ignorelist= | help + man |
-fsanitize-cfi-canonical-jump-tables | Make the jump table addresses canonical in the symbol table | help + man |
-fsanitize-cfi-cross-dso | Enable control flow integrity (CFI) checks for cross-DSO calls. | help + man |
-fsanitize-cfi-icall-generalize-pointers | Generalize pointers in CFI indirect call type signature checks | help + man |
-fsanitize-coverage-allowlist value | Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones | help + man |
-fsanitize-coverage-blacklist value | Deprecated, use -fsanitize-coverage-ignorelist= instead | help + man |
-fsanitize-coverage-ignorelist value | Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones | help + man |
-fsanitize-coverage-whitelist value | Deprecated, use -fsanitize-coverage-allowlist= instead | help + man |
-fsanitize-coverage value | Specify the type of coverage instrumentation for Sanitizers | help + man |
-fsanitize-hwaddress-abi value | Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). | help + man |
-fsanitize-hwaddress-experimental-aliasing | Enable aliasing mode in HWAddressSanitizer | help + man |
-fsanitize-ignorelist value | Path to ignorelist file for sanitizers | help + man |
-fsanitize-memory-param-retval | Enable detection of uninitialized parameters and return values | help + man |
-fsanitize-memory-track-origins value | Enable origins tracking in MemorySanitizer | help + man |
-fsanitize-memory-use-after-dtor | Enable use-after-destroy detection in MemorySanitizer | help + man |
-fsanitize-recover value | Enable recovery for specified sanitizers | help + man |
-fsanitize-stats | Enable sanitizer statistics gathering. | help + man |
-fsanitize-system-blacklist value | Alias for -fsanitize-system-ignorelist= | help + man |
-fsanitize-system-ignorelist value | Path to system ignorelist file for sanitizers | help + man |
-fsanitize-thread-atomics | Enable atomic operations instrumentation in ThreadSanitizer (default) | help + man |
-fsanitize-thread-func-entry-exit | Enable function entry/exit instrumentation in ThreadSanitizer (default) | help + man |
-fsanitize-thread-memory-access | Enable memory access instrumentation in ThreadSanitizer (default) | help + man |
-fsanitize-trap value | Enable trapping for all sanitizers | help + man |
-fsanitize-undefined-strip-path-components number | Strip (or keep only, if negative) a given number of path components when emitting check metadata. | help + man |
-fsanitize check | Turn on runtime checks for various forms of undefined or suspicious behavior. | help + man |
-fsave-optimization-record format | Generate an optimization record file in a specific format | help + man |
-fseh-exceptions | Use SEH style exceptions | help + man |
-fshort-enums | Allocate to an enum type only as many bytes as it needs for the declared range of possible values | help + man |
-fshort-wchar | Force wchar_t to be a short unsigned int | help + man |
-fshow-overloads value | Which overload candidates to show when overload resolution fails: best|all; | help + man |
-fsigned-char | char is signed | help + man |
-fsized-deallocation | Enable C++14 sized global deallocation functions | help + man |
-fsjlj-exceptions | Use SjLj style exceptions | help + man |
-fslp-vectorize | Enable the superword-level parallelism vectorization passes | help + man |
-fsplit-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 | help + man |
-fsplit-lto-unit | Enables splitting of the LTO unit | help + man |
-fsplit-machine-functions | Enable late function splitting using profile information (x86 ELF) | help + man |
-fsplit-stack | Use segmented stack | help + man |
-fstack-clash-protection | Enable stack clash protection | help + man |
-fstack-protector-all | Enable stack protectors for all functions | help + man |
-fstack-protector-strong | Enable stack protectors for some functions vulnerable to stack smashing. | help + man |
-fstack-protector | Enable stack protectors for some functions vulnerable to stack smashing. | help + man |
-fstack-size-section | Emit section containing metadata on function stack sizes | help + man |
-fstack-usage | Emit .su file containing information on function stack sizes | help + man |
-fstandalone-debug | Emit full debug info for all types used by the program | help + man |
-fstrict-enums | Enable optimizations based on the strict definition of an enum's value range | help + man |
-fstrict-float-cast-overflow | Assume that overflowing float-to-int casts are undefined (default) | help + man |
-fstrict-vtable-pointers | Enable optimizations based on the strict rules for overwriting polymorphic C++ objects | help + man |
-fswift-async-fp option | Control emission of Swift async extended frame info (option: auto, always, never) | help + man |
-fsycl | Enables SYCL kernels compilation for device | help + man |
-fsystem-module | Build this module as a system module. | help + man |
-fthin-link-bitcode value | Write minimized bitcode to <file> for the ThinLTO thin link only | help + man |
-ftime-report value | (For new pass manager) "per-pass": one report for each pass; | help + man |
-ftime-trace-granularity value | Minimum time granularity (in microseconds) traced by time profiler | help + man |
-ftime-trace | Turn on time profiler. | help + man |
-ftrapv-handler function | Specify the function to be called on overflow | help + man |
-ftrapv | Trap on integer overflow | help + man |
-ftrigraphs | Process trigraph sequences | help + man |
-ftrivial-auto-var-init-stop-after value | Stop initializing trivial automatic stack variables after the specified number of instances | help + man |
-ftrivial-auto-var-init value | Initialize trivial automatic stack variables: uninitialized (default) | pattern | help + man |
-funique-basic-block-section-names | Use unique names for basic block sections (ELF Only) | help + man |
-funique-internal-linkage-names | Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path | help + man |
-funroll-loops | Turn on loop unroller | help + man |
-fuse-cuid value | 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… | help + man |
-fuse-line-directives | Use #line in preprocessed output | help + man |
-fvalidate-ast-input-files-content | Compute and store the hash of input files used to build an AST. | help + man |
-fveclib value | Use the given vector functions library | help + man |
-fvectorize | Enable the loop vectorization passes | help + man |
-fverbose-asm | Generate verbose assembly output | help + man |
-fvirtual-function-elimination | Enables dead virtual function elimination optimization. | help + man |
-fvisibility-dllexport value | The visibility for dllexport definitions [-fvisibility-from-dllstorageclass] | help + man |
-fvisibility-externs-dllimport value | The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass] | help + man |
-fvisibility-externs-nodllstorageclass value | The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass] | help + man |
-fvisibility-from-dllstorageclass | Set the visibility of symbols in the generated code from their DLL storage class | help + man |
-fvisibility-global-new-delete-hidden | Give global C++ operator new and delete declarations hidden visibility | help + man |
-fvisibility-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 | help + man |
-fvisibility-inlines-hidden | Give inline C++ member functions hidden visibility by default | help + man |
-fvisibility-ms-compat | Give global types 'default' visibility and global functions and variables 'hidden' visibility by default | help + man |
-fvisibility-nodllstorageclass value | The visibility for defintiions without an explicit DLL export class [-fvisibility-from-dllstorageclass] | help + man |
-fvisibility value | Set the default symbol visibility for all global declarations | help + man |
-fwasm-exceptions | Use WebAssembly style exceptions | help + man |
-fwrapv | Treat signed integer overflow as two's complement | help + man |
-fwritable-strings | Store string literals as writable data | help + man |
-fxl-pragma-pack | Enable IBM XL #pragma pack handling | help + man |
-fxray-always-emit-customevents | Always emit __xray_customevent(...) calls even if the containing function is not always instrumented | help + man |
-fxray-always-emit-typedevents | Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented | help + man |
-fxray-always-instrument value | DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute. | help + man |
-fxray-attr-list value | Filename defining the list of functions/types for imbuing XRay attributes. | help + man |
-fxray-function-groups value | Only instrument 1 of N groups | help + man |
-fxray-ignore-loops | Don't instrument functions with loops unless they also meet the minimum function size | help + man |
-fxray-instruction-threshold value | Sets the minimum function size to instrument with XRay | help + man |
-fxray-instrumentation-bundle value | Select which XRay instrumentation points to emit. | help + man |
-fxray-instrument | Generate XRay instrumentation sleds on function entry and exit | help + man |
-fxray-link-deps | Tells clang to add the link dependencies for XRay. | help + man |
-fxray-modes value | List of modes to link in by default into XRay instrumented binaries. | help + man |
-fxray-never-instrument value | DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute. | help + man |
-fxray-selected-function-group value | When using -fxray-function-groups, select which group of functions to instrument. | help + man |
-fzvector | Enable System z vector language extension | help + man |
-F value | Add directory to framework include search path | help + man |
-gcodeview-ghash | Emit type record hashes in a .debug$H section | help + man |
-gcodeview | Generate CodeView debug information | help + man |
-gdwarf-2 | Generate source-level debug information with dwarf version 2 | help + man |
-gdwarf-3 | Generate source-level debug information with dwarf version 3 | help + man |
-gdwarf-4 | Generate source-level debug information with dwarf version 4 | help + man |
-gdwarf-5 | Generate source-level debug information with dwarf version 5 | help + man |
-gdwarf32 | Enables DWARF32 format for ELF binaries, if debug information emission is enabled. | help + man |
-gdwarf64 | Enables DWARF64 format for ELF binaries, if debug information emission is enabled. | help + man |
-gdwarf | Generate source-level debug information with the default dwarf version | help + man |
-gembed-source | Embed source text in DWARF debug sections | help + man |
-gline-directives-only | Emit debug line info directives only | help + man |
-gline-tables-only | Emit debug line number tables only | help + man |
-gmodules | Generate debug info with external references to clang modules or precompiled headers | help + man |
-gno-embed-source | Restore the default behavior of not embedding source text in DWARF debug sections | help + man |
--gpu-bundle-output | Bundle output files of HIP device compilation | help + man |
--gpu-instrument-lib value | Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit | help + man |
--gpu-max-threads-per-block value | Default max threads per block for kernel launch bounds for HIP | help + man |
-gsplit-dwarf value | Set DWARF fission mode to either 'split' or 'single' | help + man |
-gz value | DWARF debug sections compression type | help + man |
-G size | Put objects of at most <size> bytes into small data section (MIPS / Hexagon) | help + man |
-g | Generate source-level debug information | help + man |
--help-hidden | Display help for hidden options | help + man |
-help | Display available options | help + man |
--hip-device-lib value | HIP device library | help + man |
--hip-link | Link clang-offload-bundler bundles for HIP | help + man |
--hip-path value | HIP runtime installation path, used for finding HIP version and adding HIP include path. | help + man |
--hip-version value | HIP version in the format of major.minor.patch | help + man |
--hipspv-pass-plugin dsopath | path to a pass plugin for HIP to SPIR-V passes. | help + man |
-H | Show header includes and nesting depth | help + man |
-I- | Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path | help + man |
-ibuiltininc | Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. | help + man |
-idirafter value | Add directory to AFTER include search path | help + man |
-iframeworkwithsysroot directory | Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot | help + man |
-iframework value | Add directory to SYSTEM framework search path | help + man |
-imacros file | Include macros from file before parsing | help + man |
-include-pch file | Include precompiled header file | help + man |
-include file | Include file before parsing | help + man |
-index-header-map | Make the next included directory (-I or -F) an indexer header map | help + man |
-iprefix dir | Set the -iwithprefix/-iwithprefixbefore prefix | help + man |
-iquote directory | Add directory to QUOTE include search path | help + man |
-isysroot dir | Set the system root directory (usually /) | help + man |
-isystem-after directory | Add directory to end of the SYSTEM include search path | help + man |
-isystem directory | Add directory to SYSTEM include search path | help + man |
-ivfsoverlay value | Overlay the virtual filesystem described by file over the real file system | help + man |
-iwithprefixbefore dir | Set directory to include search path with prefix | help |
-iwithprefix dir | Set directory to SYSTEM include search path with prefix | help |
-iwithsysroot directory | Add directory to SYSTEM include search path, absolute paths are relative to -isysroot | help |
-I dir | Add directory to the end of the list of include search paths | help |
--libomptarget-amdgcn-bc-path value | Path to libomptarget-amdgcn bitcode library | help |
--libomptarget-nvptx-bc-path value | Path to libomptarget-nvptx bitcode library | help |
-L dir | Add directory to library search path | help |
-mabi vec-default | Enable the default Altivec ABI on AIX (AIX only). | help |
-mabicalls | Enable SVR4-style position-independent code (Mips only) | help |
-maix-struct-return | Return all structs in memory (PPC32 only) | help |
-malign-branch-boundary value | Specify the boundary's size to align branches | help |
-malign-branch value | Specify types of branches to align | help |
-malign-double | Align doubles to two words in structs (x86 only) | help |
-mamdgpu-ieee | Sets the IEEE bit in the expected default floating point mode register. | help |
-mbackchain | Link stack frames through backchain on System Z | help |
-mbranch-protection value | Enforce targets of indirect branches and function returns | help |
-mbranches-within-32B-boundaries | Align selected branches (fused, jcc, jmp) within 32-byte boundary | help |
-mcmodel medany | Equivalent to -mcmodel=medium, compatible with RISC-V gcc. | help |
-mcmse | Allow use of CMSE (Armv8-M Security Extensions) | help |
-mcode-object-v3 | Legacy option to specify code object ABI V3 (AMDGPU only) | help |
-mcode-object-version version | Specify code object ABI version. | help |
-mcrc | Allow use of CRC instructions (ARM/Mips only) | help |
-mcumode | Specify CU wavefront execution mode (AMDGPU only) | help |
-mdouble value | Force double to be 32 bits or 64 bits | help |
-MD | Write a depfile containing user and system headers | help |
-meabi value | Set EABI type, e.g. 4, 5 or gnu (default depends on triple) | help |
-membedded-data | Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS) | help |
-menable-experimental-extensions | Enable use of experimental RISC-V extensions. | help |
-mexec-model value | Execution model (WebAssembly only) | help |
-mexecute-only | Disallow generation of data access to code sections (ARM only) | help |
-mextern-sdata | Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS) | help |
-mfentry | Insert calls to fentry at function entry (x86/SystemZ only) | help |
-mfix-cmse-cve-2021-35465 | Work around VLLDM erratum CVE-2021-35465 (ARM only) | help |
-mfp32 | Use 32-bit floating point registers (MIPS only) | help |
-mfp64 | Use 64-bit floating point registers (MIPS only) | help |
-MF file | Write depfile output from -MMD, -MD, -MM, or -M to <file> | help |
-mgeneral-regs-only | Generate code which only uses the general purpose registers (AArch64/x86 only) | help |
-mglobal-merge | Enable merging of globals | help |
-mgpopt | Use GP relative accesses for symbols known to be in a small data section (MIPS) | help |
-ccc-install-dir value | Simulate installation in the given directory (in the manual page but not in --help) | man |
-ccc-print-bindings Show | (in the manual page but not in --help) | man |
-ccc-print-phases | Dump list of actions to perform (in the manual page but not in --help) | man |
-gen-cdb-fragment-path value | Emit a compilation database fragment to the specified directory (in the manual page but not in --help) | man |
-gen-reproducer | Auto-generates preprocessed source files and a reproduction script (in the manual page but not in --help) | man |
-via-file-asm | Write assembly to file for input to assemble jobs (in the manual page but not in --help) | man |
-ccc-arcmt-check | Check for ARC migration issues that need manual handling (in the manual page but not in --help) | man |
-ccc-arcmt-migrate value | Apply modifications and produces temporary files that conform to ARC (in the manual page but not in --help) | man |
-ccc-arcmt-modify | Apply modifications to files to conform to ARC (in the manual page but not in --help) | man |
-ccc-gcc-name gcc-path | Name for native GCC compiler (in the manual page but not in --help) | man |
-ccc-objcmt-migrate value | Apply modifications and produces temporary files to migrate to modern ObjC syntax (in the manual page but not in --help) | man |
--driver-mode value | (in the manual page but not in --help) | man |
--gpu-use-aux-triple-only | Prepare '-aux-triple' only without populating '-aux-target-cpu' and '-aux-target-feature'. (in the manual page but not in --help) | man |
--rsp-quoting value | ## OPTIONS: (in the manual page but not in --help) | man |
-canonical-prefixes | Use absolute paths for invoking subcommands (default) (in the manual page but not in --help) | man |
--config-system-dir value | System directory for configuration files (in the manual page but not in --help) | man |
--config-user-dir value | User directory for configuration files (in the manual page but not in --help) | man |
-dependency-dot value | (in the manual page but not in --help) | man |
-fapplication-extension Restrict | (in the manual page but not in --help) | man |
-fbuild-session-timestamp time | Time when the current build session started (in the manual page but not in --help) | man |
-fgpu-allow-device-init Allow | (in the manual page but not in --help) | man |
-fgpu-exclude-wrong-side-overloads | Always exclude wrong side overloads in overloading resolution for CUDA/HIP (in the manual page but not in --help) | man |
-fgpu-inline-threshold value | Inline threshold for device compilation for CUDA/HIP (in the manual page but not in --help) | man |
-finline-hint-functions Inline | (in the manual page but not in --help) | man |
-finput-charset value | (in the manual page but not in --help) | man |
-fnew-alignment align | (in the manual page but not in --help) | man |
-fno-constant-cfstrings Disable | (in the manual page but not in --help) | man |
-fno-elide-constructors Disable | (in the manual page but not in --help) | man |
-fno-gpu-exclude-wrong-side-overloads | Exclude wrong side overloads only if there are same side overloads in overloading resolution for CUDA/HIP (in the manual page but not in --help) | man |
-fno-hip-new-launch-api Don't | (in the manual page but not in --help) | man |
-fno-keep-static-consts Don't | (in the manual page but not in --help) | man |
-fno-threadsafe-statics Do | (in the manual page but not in --help) | man |
-fopenmp-enable-irbuilder | Use the experimental OpenMP-IR-Builder codegen path. (in the manual page but not in --help) | man |
-fopenmp-implicit-rpath Set | (in the manual page but not in --help) | man |
-fpass-plugin dsopath | (in the manual page but not in --help) | man |
-fshow-skipped-includes Show | (in the manual page but not in --help) | man |
-fthinlto-index value | (in the manual page but not in --help) | man |
-ftrap-function value | (in the manual page but not in --help) | man |
-fwhole-program-vtables Enables | (in the manual page but not in --help) | man |
-gno-inline-line-tables Don't | (in the manual page but not in --help) | man |