| 1 | OVERVIEW: clang LLVM compiler
|
| 2 |
|
| 3 | USAGE: clang-14 [options] file...
|
| 4 |
|
| 5 | OPTIONS:
|
| 6 | -### Print (but do not run) the commands to run for this compilation
|
| 7 | --amdgpu-arch-tool=<value>
|
| 8 | Tool used for detecting AMD GPU arch in the system.
|
| 9 | --analyzer-output <value>
|
| 10 | Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
|
| 11 | --analyze Run the static analyzer
|
| 12 | -arcmt-migrate-emit-errors
|
| 13 | Emit ARC errors even if the migrator can fix them
|
| 14 | -arcmt-migrate-report-output <value>
|
| 15 | Output path for the plist report
|
| 16 | -B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
|
| 17 | -b <arg> Pass -b <arg> to the linker on AIX (only).
|
| 18 | -CC Include comments from within macros in preprocessed output
|
| 19 | -cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
|
| 20 | -cl-fast-relaxed-math OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
|
| 21 | -cl-finite-math-only OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
|
| 22 | -cl-fp32-correctly-rounded-divide-sqrt
|
| 23 | OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
|
| 24 | -cl-kernel-arg-info OpenCL only. Generate kernel argument metadata.
|
| 25 | -cl-mad-enable OpenCL only. Allow use of less precise MAD computations in the generated binary.
|
| 26 | -cl-no-signed-zeros OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
|
| 27 | -cl-no-stdinc OpenCL only. Disables all standard includes containing non-native compiler types and functions.
|
| 28 | -cl-opt-disable OpenCL only. This option disables all optimizations. By default optimizations are enabled.
|
| 29 | -cl-single-precision-constant
|
| 30 | OpenCL only. Treat double precision floating-point constant as single precision constant.
|
| 31 | -cl-std=<value> OpenCL language standard to compile for.
|
| 32 | -cl-strict-aliasing OpenCL only. This option is added for compatibility with OpenCL 1.0.
|
| 33 | -cl-uniform-work-group-size
|
| 34 | OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
|
| 35 | -cl-unsafe-math-optimizations
|
| 36 | OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
|
| 37 | --config <value> Specifies configuration file
|
| 38 | --cuda-compile-host-device
|
| 39 | Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
|
| 40 | --cuda-device-only Compile CUDA code for device only
|
| 41 | --cuda-host-only Compile CUDA code for host only. Has no effect on non-CUDA compilations.
|
| 42 | --cuda-include-ptx=<value>
|
| 43 | Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
|
| 44 | --cuda-noopt-device-debug
|
| 45 | Enable device-side debug info generation. Disables ptxas optimizations.
|
| 46 | --cuda-path-ignore-env Ignore environment variables to detect CUDA installation
|
| 47 | --cuda-path=<value> CUDA installation path
|
| 48 | -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.
|
| 49 | -cxx-isystem <directory>
|
| 50 | Add directory to the C++ SYSTEM include search path
|
| 51 | -C Include comments in preprocessed output
|
| 52 | -c Only run preprocess, compile, and assemble steps
|
| 53 | -dD Print macro definitions in -E mode in addition to normal output
|
| 54 | -dependency-dot <value> Filename to write DOT-formatted header dependencies to
|
| 55 | -dependency-file <value>
|
| 56 | Filename (or -) to write dependency output to
|
| 57 | -dI Print include directives in -E mode in addition to normal output
|
| 58 | -dM Print macro definitions in -E mode instead of normal output
|
| 59 | -dsym-dir <dir> Directory to output dSYM's (if any) to
|
| 60 | -D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
|
| 61 | -emit-ast Emit Clang AST files for source inputs
|
| 62 | -emit-interface-stubs Generate Interface Stub Files.
|
| 63 | -emit-llvm Use the LLVM representation for assembler and object files
|
| 64 | -emit-merged-ifs Generate Interface Stub Files, emit merged text not binary.
|
| 65 | --emit-static-lib Enable linker job to emit a static library.
|
| 66 | -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
|
| 67 | 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
|
| 68 | --end-no-unused-arguments
|
| 69 | Start emitting warnings for unused driver arguments
|
| 70 | -extract-api Extract API information
|
| 71 | -E Only run the preprocessor
|
| 72 | -faapcs-bitfield-load Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
|
| 73 | -faapcs-bitfield-width Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
|
| 74 | -faddrsig Emit an address-significance table
|
| 75 | -falign-loops=<N> N must be a power of two. Align loops to the boundary
|
| 76 | -faligned-allocation Enable C++17 aligned allocation functions
|
| 77 | -fallow-editor-placeholders
|
| 78 | Treat editor placeholders as valid source code
|
| 79 | -faltivec-src-compat=<value>
|
| 80 | 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'.
|
| 81 | -fansi-escape-codes Use ANSI escape codes for diagnostics
|
| 82 | -fapple-kext Use Apple's kernel extensions ABI
|
| 83 | -fapple-link-rtlib Force linking the clang builtins runtime library
|
| 84 | -fapple-pragma-pack Enable Apple gcc-compatible #pragma pack handling
|
| 85 | -fapplication-extension Restrict code to those available for App Extensions
|
| 86 | -fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
|
| 87 | -fasync-exceptions Enable EH Asynchronous exceptions
|
| 88 | -fbasic-block-sections=<value>
|
| 89 | Place each function's basic blocks in unique sections (ELF Only) : all | labels | none | list=<file>
|
| 90 | -fbinutils-version=<major.minor>
|
| 91 | 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.
|
| 92 | -fblocks Enable the 'blocks' language feature
|
| 93 | -fborland-extensions Accept non-standard constructs supported by the Borland compiler
|
| 94 | -fbuild-session-file=<file>
|
| 95 | Use the last modification time of <file> as the build session timestamp
|
| 96 | -fbuild-session-timestamp=<time since Epoch in seconds>
|
| 97 | Time when the current build session started
|
| 98 | -fbuiltin-module-map Load the clang builtins module map file.
|
| 99 | -fc++-abi=<value> C++ ABI to use. This will override the target C++ ABI.
|
| 100 | -fcall-saved-x10 Make the x10 register call-saved (AArch64 only)
|
| 101 | -fcall-saved-x11 Make the x11 register call-saved (AArch64 only)
|
| 102 | -fcall-saved-x12 Make the x12 register call-saved (AArch64 only)
|
| 103 | -fcall-saved-x13 Make the x13 register call-saved (AArch64 only)
|
| 104 | -fcall-saved-x14 Make the x14 register call-saved (AArch64 only)
|
| 105 | -fcall-saved-x15 Make the x15 register call-saved (AArch64 only)
|
| 106 | -fcall-saved-x18 Make the x18 register call-saved (AArch64 only)
|
| 107 | -fcall-saved-x8 Make the x8 register call-saved (AArch64 only)
|
| 108 | -fcall-saved-x9 Make the x9 register call-saved (AArch64 only)
|
| 109 | -fcf-protection=<value> Instrument control-flow architecture protection. Options: return, branch, full, none.
|
| 110 | -fcf-protection Enable cf-protection in 'full' mode
|
| 111 | -fchar8_t Enable C++ builtin type char8_t
|
| 112 | -fclang-abi-compat=<version>
|
| 113 | Attempt to match the ABI of Clang <version>
|
| 114 | -fcolor-diagnostics Enable colors in diagnostics
|
| 115 | -fcomment-block-commands=<arg>
|
| 116 | Treat each comma separated argument in <arg> as a documentation comment block command
|
| 117 | -fcommon Place uninitialized global variables in a common block
|
| 118 | -fcomplete-member-pointers
|
| 119 | Require member pointer base types to be complete if they would be significant under the Microsoft ABI
|
| 120 | -fconvergent-functions Assume functions may be convergent
|
| 121 | -fcoroutines-ts Enable support for the C++ Coroutines TS
|
| 122 | -fcoverage-compilation-dir=<value>
|
| 123 | The compilation directory to embed in the coverage mapping.
|
| 124 | -fcoverage-mapping Generate coverage mapping to enable code coverage analysis
|
| 125 | -fcoverage-prefix-map=<value>
|
| 126 | remap file source paths in coverage mapping
|
| 127 | -fcrash-diagnostics-dir=<dir>
|
| 128 | Put crash-report files in <dir>
|
| 129 | -fcs-profile-generate=<directory>
|
| 130 | Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
|
| 131 | -fcs-profile-generate Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
|
| 132 | -fcuda-approx-transcendentals
|
| 133 | Use approximate transcendental functions
|
| 134 | -fcuda-short-ptr Use 32-bit pointers for accessing const/local/shared address spaces
|
| 135 | -fcxx-exceptions Enable C++ exceptions
|
| 136 | -fcxx-modules Enable modules for C++
|
| 137 | -fdata-sections Place each data in its own section
|
| 138 | -fdebug-compilation-dir=<value>
|
| 139 | The compilation directory to embed in the debug info
|
| 140 | -fdebug-default-version=<value>
|
| 141 | Default DWARF version to use, if a -g option caused DWARF debug info to be produced
|
| 142 | -fdebug-info-for-profiling
|
| 143 | Emit extra debug info to make sample profile more accurate
|
| 144 | -fdebug-macro Emit macro debug information
|
| 145 | -fdebug-prefix-map=<value>
|
| 146 | remap file source paths in debug info
|
| 147 | -fdebug-ranges-base-address
|
| 148 | Use DWARF base address selection entries in .debug_ranges
|
| 149 | -fdebug-types-section Place debug types in their own section (ELF Only)
|
| 150 | -fdeclspec Allow __declspec as a keyword
|
| 151 | -fdelayed-template-parsing
|
| 152 | Parse templated function definitions at the end of the translation unit
|
| 153 | -fdelete-null-pointer-checks
|
| 154 | Treat usage of null pointers as undefined behavior (default)
|
| 155 | -fdiagnostics-absolute-paths
|
| 156 | Print absolute paths in diagnostics
|
| 157 | -fdiagnostics-hotness-threshold=<value>
|
| 158 | 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
|
| 159 | -fdiagnostics-parseable-fixits
|
| 160 | Print fix-its in machine parseable form
|
| 161 | -fdiagnostics-print-source-range-info
|
| 162 | Print source range spans in numeric form
|
| 163 | -fdiagnostics-show-hotness
|
| 164 | Enable profile hotness information in diagnostic line
|
| 165 | -fdiagnostics-show-note-include-stack
|
| 166 | Display include stacks for diagnostic notes
|
| 167 | -fdiagnostics-show-option
|
| 168 | Print option name with mappable diagnostics
|
| 169 | -fdiagnostics-show-template-tree
|
| 170 | Print a template comparison tree for differing templates
|
| 171 | -fdigraphs Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
|
| 172 | -fdirect-access-external-data
|
| 173 | Don't use GOT indirection to reference external data symbols
|
| 174 | -fdiscard-value-names Discard value names in LLVM IR
|
| 175 | -fdollars-in-identifiers
|
| 176 | Allow '$' in identifiers
|
| 177 | -fdouble-square-bracket-attributes
|
| 178 | Enable '[[]]' attributes in all C and C++ language modes
|
| 179 | -fdwarf-exceptions Use DWARF style exceptions
|
| 180 | -feliminate-unused-debug-types
|
| 181 | Do not emit debug info for defined but unused types
|
| 182 | -fembed-bitcode-marker Embed placeholder LLVM IR data as a marker
|
| 183 | -fembed-bitcode=<option>
|
| 184 | Embed LLVM bitcode (option: off, all, bitcode, marker)
|
| 185 | -fembed-bitcode Embed LLVM IR bitcode as data
|
| 186 | -fembed-offload-object=<value>
|
| 187 | Embed Offloading device-side binary into host object file as a section.
|
| 188 | -femit-all-decls Emit all declarations, even if unused
|
| 189 | -femulated-tls Use emutls functions to access thread_local variables
|
| 190 | -fenable-matrix Enable matrix data type and related builtin functions
|
| 191 | -fexceptions Enable support for exception handling
|
| 192 | -fexperimental-new-constant-interpreter
|
| 193 | Enable the experimental new constant interpreter
|
| 194 | -fexperimental-relative-c++-abi-vtables
|
| 195 | Use the experimental C++ class ABI for classes with virtual tables
|
| 196 | -fexperimental-strict-floating-point
|
| 197 | Enables experimental strict floating point in LLVM.
|
| 198 | -fextend-arguments=<value>
|
| 199 | Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
|
| 200 | -ffast-math Allow aggressive, lossy floating-point optimizations
|
| 201 | -ffile-compilation-dir=<value>
|
| 202 | The compilation directory to embed in the debug info and coverage mapping.
|
| 203 | -ffile-prefix-map=<value>
|
| 204 | remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE()
|
| 205 | -ffine-grained-bitfield-accesses
|
| 206 | Use separate accesses for consecutive bitfield runs with legal widths and alignments.
|
| 207 | -ffinite-loops Assume all loops are finite.
|
| 208 | -ffixed-a0 Reserve the a0 register (M68k only)
|
| 209 | -ffixed-a1 Reserve the a1 register (M68k only)
|
| 210 | -ffixed-a2 Reserve the a2 register (M68k only)
|
| 211 | -ffixed-a3 Reserve the a3 register (M68k only)
|
| 212 | -ffixed-a4 Reserve the a4 register (M68k only)
|
| 213 | -ffixed-a5 Reserve the a5 register (M68k only)
|
| 214 | -ffixed-a6 Reserve the a6 register (M68k only)
|
| 215 | -ffixed-d0 Reserve the d0 register (M68k only)
|
| 216 | -ffixed-d1 Reserve the d1 register (M68k only)
|
| 217 | -ffixed-d2 Reserve the d2 register (M68k only)
|
| 218 | -ffixed-d3 Reserve the d3 register (M68k only)
|
| 219 | -ffixed-d4 Reserve the d4 register (M68k only)
|
| 220 | -ffixed-d5 Reserve the d5 register (M68k only)
|
| 221 | -ffixed-d6 Reserve the d6 register (M68k only)
|
| 222 | -ffixed-d7 Reserve the d7 register (M68k only)
|
| 223 | -ffixed-point Enable fixed point types
|
| 224 | -ffixed-r19 Reserve register r19 (Hexagon only)
|
| 225 | -ffixed-r9 Reserve the r9 register (ARM only)
|
| 226 | -ffixed-x10 Reserve the x10 register (AArch64/RISC-V only)
|
| 227 | -ffixed-x11 Reserve the x11 register (AArch64/RISC-V only)
|
| 228 | -ffixed-x12 Reserve the x12 register (AArch64/RISC-V only)
|
| 229 | -ffixed-x13 Reserve the x13 register (AArch64/RISC-V only)
|
| 230 | -ffixed-x14 Reserve the x14 register (AArch64/RISC-V only)
|
| 231 | -ffixed-x15 Reserve the x15 register (AArch64/RISC-V only)
|
| 232 | -ffixed-x16 Reserve the x16 register (AArch64/RISC-V only)
|
| 233 | -ffixed-x17 Reserve the x17 register (AArch64/RISC-V only)
|
| 234 | -ffixed-x18 Reserve the x18 register (AArch64/RISC-V only)
|
| 235 | -ffixed-x19 Reserve the x19 register (AArch64/RISC-V only)
|
| 236 | -ffixed-x1 Reserve the x1 register (AArch64/RISC-V only)
|
| 237 | -ffixed-x20 Reserve the x20 register (AArch64/RISC-V only)
|
| 238 | -ffixed-x21 Reserve the x21 register (AArch64/RISC-V only)
|
| 239 | -ffixed-x22 Reserve the x22 register (AArch64/RISC-V only)
|
| 240 | -ffixed-x23 Reserve the x23 register (AArch64/RISC-V only)
|
| 241 | -ffixed-x24 Reserve the x24 register (AArch64/RISC-V only)
|
| 242 | -ffixed-x25 Reserve the x25 register (AArch64/RISC-V only)
|
| 243 | -ffixed-x26 Reserve the x26 register (AArch64/RISC-V only)
|
| 244 | -ffixed-x27 Reserve the x27 register (AArch64/RISC-V only)
|
| 245 | -ffixed-x28 Reserve the x28 register (AArch64/RISC-V only)
|
| 246 | -ffixed-x29 Reserve the x29 register (AArch64/RISC-V only)
|
| 247 | -ffixed-x2 Reserve the x2 register (AArch64/RISC-V only)
|
| 248 | -ffixed-x30 Reserve the x30 register (AArch64/RISC-V only)
|
| 249 | -ffixed-x31 Reserve the x31 register (AArch64/RISC-V only)
|
| 250 | -ffixed-x3 Reserve the x3 register (AArch64/RISC-V only)
|
| 251 | -ffixed-x4 Reserve the x4 register (AArch64/RISC-V only)
|
| 252 | -ffixed-x5 Reserve the x5 register (AArch64/RISC-V only)
|
| 253 | -ffixed-x6 Reserve the x6 register (AArch64/RISC-V only)
|
| 254 | -ffixed-x7 Reserve the x7 register (AArch64/RISC-V only)
|
| 255 | -ffixed-x8 Reserve the x8 register (AArch64/RISC-V only)
|
| 256 | -ffixed-x9 Reserve the x9 register (AArch64/RISC-V only)
|
| 257 | -fforce-dwarf-frame Always emit a debug frame section
|
| 258 | -fforce-emit-vtables Emits more virtual tables to improve devirtualization
|
| 259 | -fforce-enable-int128 Enable support for int128_t type
|
| 260 | -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.
|
| 261 | -ffp-exception-behavior=<value>
|
| 262 | Specifies the exception behavior of floating-point operations.
|
| 263 | -ffp-model=<value> Controls the semantics of floating-point calculations.
|
| 264 | -ffreestanding Assert that the compilation takes place in a freestanding environment
|
| 265 | -ffuchsia-api-level=<value>
|
| 266 | Set Fuchsia API level
|
| 267 | -ffunction-sections Place each function in its own section
|
| 268 | -fglobal-isel Enables the global instruction selector
|
| 269 | -fgnu-keywords Allow GNU-extension keywords regardless of language standard
|
| 270 | -fgnu-runtime Generate output compatible with the standard GNU Objective-C runtime
|
| 271 | -fgnu89-inline Use the gnu89 inline semantics
|
| 272 | -fgnuc-version=<value> Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
|
| 273 | -fgpu-allow-device-init Allow device side init function in HIP (experimental)
|
| 274 | -fgpu-defer-diag Defer host/device related diagnostic messages for CUDA/HIP
|
| 275 | -fgpu-flush-denormals-to-zero
|
| 276 | Flush denormal floating point values to zero in CUDA/HIP device mode.
|
| 277 | -fgpu-rdc Generate relocatable device code, also known as separate compilation mode
|
| 278 | -fgpu-sanitize Enable sanitizer for AMDGPU target
|
| 279 | -fhip-fp32-correctly-rounded-divide-sqrt
|
| 280 | Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
|
| 281 | -fhip-new-launch-api Use new kernel launching API for HIP
|
| 282 | -fignore-exceptions Enable support for ignoring exception handling constructs
|
| 283 | -fimplicit-module-maps Implicitly search the file system for module map files.
|
| 284 | -finline-functions Inline suitable functions
|
| 285 | -finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
|
| 286 | -finput-charset=<value> Specify the default character set for source files
|
| 287 | -finstrument-function-entry-bare
|
| 288 | Instrument function entry only, after inlining, without arguments to the instrumentation call
|
| 289 | -finstrument-functions-after-inlining
|
| 290 | Like -finstrument-functions, but insert the calls after inlining
|
| 291 | -finstrument-functions Generate calls to instrument function entry and exit
|
| 292 | -fintegrated-as Enable the integrated assembler
|
| 293 | -fintegrated-cc1 Run cc1 in-process
|
| 294 | -fjump-tables Use jump tables for lowering switches
|
| 295 | -fkeep-static-consts Keep static const variables if unused
|
| 296 | -flax-vector-conversions=<value>
|
| 297 | Enable implicit vector bit-casts
|
| 298 | -flegacy-pass-manager Use the legacy pass manager in LLVM (deprecated, to be removed in a future release)
|
| 299 | -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)
|
| 300 | -flto=auto Enable LTO in 'full' mode
|
| 301 | -flto=jobserver Enable LTO in 'full' mode
|
| 302 | -flto=<value> Set LTO mode to either 'full' or 'thin'
|
| 303 | -flto Enable LTO in 'full' mode
|
| 304 | -fmacro-prefix-map=<value>
|
| 305 | remap file source paths in predefined preprocessor macros and __builtin_FILE()
|
| 306 | -fmath-errno Require math functions to indicate errors by setting errno
|
| 307 | -fmax-tokens=<value> Max total number of preprocessed tokens for -Wmax-tokens.
|
| 308 | -fmax-type-align=<value>
|
| 309 | Specify the maximum alignment to enforce on pointers lacking an explicit alignment
|
| 310 | -fmemory-profile=<directory>
|
| 311 | Enable heap memory profiling and dump results into <directory>
|
| 312 | -fmemory-profile Enable heap memory profiling
|
| 313 | -fmerge-all-constants Allow merging of constants
|
| 314 | -fmessage-length=<value>
|
| 315 | Format message diagnostics so that they fit within N columns
|
| 316 | -fminimize-whitespace Minimize whitespace when emitting preprocessor output
|
| 317 | -fmodule-file=[<name>=]<file>
|
| 318 | Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
|
| 319 | -fmodule-map-file=<file>
|
| 320 | Load this module map file
|
| 321 | -fmodule-name=<name> Specify the name of the module to build
|
| 322 | -fmodules-cache-path=<directory>
|
| 323 | Specify the module cache path
|
| 324 | -fmodules-decluse Require declaration of modules used within a module
|
| 325 | -fmodules-disable-diagnostic-validation
|
| 326 | Disable validation of the diagnostic options when loading the module
|
| 327 | -fmodules-ignore-macro=<value>
|
| 328 | Ignore the definition of the given macro when building and loading modules
|
| 329 | -fmodules-prune-after=<seconds>
|
| 330 | Specify the interval (in seconds) after which a module file will be considered unused
|
| 331 | -fmodules-prune-interval=<seconds>
|
| 332 | Specify the interval (in seconds) between attempts to prune the module cache
|
| 333 | -fmodules-search-all Search even non-imported modules to resolve references
|
| 334 | -fmodules-strict-decluse
|
| 335 | Like -fmodules-decluse but requires all headers to be in modules
|
| 336 | -fmodules-ts Enable support for the C++ Modules TS
|
| 337 | -fmodules-user-build-path <directory>
|
| 338 | Specify the module user build path
|
| 339 | -fmodules-validate-input-files-content
|
| 340 | Validate PCM input files based on content if mtime differs
|
| 341 | -fmodules-validate-once-per-build-session
|
| 342 | Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
|
| 343 | -fmodules-validate-system-headers
|
| 344 | Validate the system headers that a module depends on when loading the module
|
| 345 | -fmodules Enable the 'modules' language feature
|
| 346 | -fms-compatibility-version=<value>
|
| 347 | Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
|
| 348 | -fms-compatibility Enable full Microsoft Visual C++ compatibility
|
| 349 | -fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
|
| 350 | -fms-hotpatch Ensure that all functions can be hotpatched at runtime
|
| 351 | -fmsc-version=<value> Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
|
| 352 | -fnew-alignment=<align> Specifies the largest alignment guaranteed by '::operator new(size_t)'
|
| 353 | -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.
|
| 354 | -fno-aapcs-bitfield-width
|
| 355 | Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
|
| 356 | -fno-access-control Disable C++ access control
|
| 357 | -fno-addrsig Don't emit an address-significance table
|
| 358 | -fno-assume-sane-operator-new
|
| 359 | Don't assume that C++'s global operator new can't alias any pointer
|
| 360 | -fno-autolink Disable generation of linker directives for automatic library linking
|
| 361 | -fno-builtin-<value> Disable implicit builtin knowledge of a specific function
|
| 362 | -fno-builtin Disable implicit builtin knowledge of functions
|
| 363 | -fno-c++-static-destructors
|
| 364 | Disable C++ static destructor registration
|
| 365 | -fno-char8_t Disable C++ builtin type char8_t
|
| 366 | -fno-color-diagnostics Disable colors in diagnostics
|
| 367 | -fno-common Compile common globals like normal definitions
|
| 368 | -fno-complete-member-pointers
|
| 369 | Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI
|
| 370 | -fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings
|
| 371 | -fno-coverage-mapping Disable code coverage analysis
|
| 372 | -fno-crash-diagnostics Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
|
| 373 | -fno-cuda-approx-transcendentals
|
| 374 | Don't use approximate transcendental functions
|
| 375 | -fno-cxx-modules Disable modules for C++
|
| 376 | -fno-debug-macro Do not emit macro debug information
|
| 377 | -fno-declspec Disallow __declspec as a keyword
|
| 378 | -fno-delayed-template-parsing
|
| 379 | Disable delayed template parsing
|
| 380 | -fno-delete-null-pointer-checks
|
| 381 | Do not treat usage of null pointers as undefined behavior
|
| 382 | -fno-diagnostics-fixit-info
|
| 383 | Do not include fixit information in diagnostics
|
| 384 | -fno-digraphs Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'
|
| 385 | -fno-direct-access-external-data
|
| 386 | Use GOT indirection to reference external data symbols
|
| 387 | -fno-discard-value-names
|
| 388 | Do not discard value names in LLVM IR
|
| 389 | -fno-dollars-in-identifiers
|
| 390 | Disallow '$' in identifiers
|
| 391 | -fno-double-square-bracket-attributes
|
| 392 | Disable '[[]]' attributes in all C and C++ language modes
|
| 393 | -fno-elide-constructors Disable C++ copy constructor elision
|
| 394 | -fno-elide-type Do not elide types when printing diagnostics
|
| 395 | -fno-eliminate-unused-debug-types
|
| 396 | Emit debug info for defined but unused types
|
| 397 | -fno-exceptions Disable support for exception handling
|
| 398 | -fno-experimental-relative-c++-abi-vtables
|
| 399 | Do not use the experimental C++ class ABI for classes with virtual tables
|
| 400 | -fno-fine-grained-bitfield-accesses
|
| 401 | Use large-integer access for consecutive bitfield runs.
|
| 402 | -fno-finite-loops Do not assume that any loop is finite.
|
| 403 | -fno-fixed-point Disable fixed point types
|
| 404 | -fno-force-enable-int128
|
| 405 | Disable support for int128_t type
|
| 406 | -fno-global-isel Disables the global instruction selector
|
| 407 | -fno-gnu-inline-asm Disable GNU style inline asm
|
| 408 | -fno-gpu-allow-device-init
|
| 409 | Don't allow device side init function in HIP (experimental)
|
| 410 | -fno-gpu-defer-diag Don't defer host/device related diagnostic messages for CUDA/HIP
|
| 411 | -fno-hip-fp32-correctly-rounded-divide-sqrt
|
| 412 | Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
|
| 413 | -fno-hip-new-launch-api Don't use new kernel launching API for HIP
|
| 414 | -fno-integrated-as Disable the integrated assembler
|
| 415 | -fno-integrated-cc1 Spawn a separate process for each cc1
|
| 416 | -fno-jump-tables Do not use jump tables for lowering switches
|
| 417 | -fno-keep-static-consts Don't keep static const variables if unused
|
| 418 | -fno-legacy-pass-manager
|
| 419 | Use the new pass manager in LLVM
|
| 420 | -fno-lto Disable LTO mode (default)
|
| 421 | -fno-memory-profile Disable heap memory profiling
|
| 422 | -fno-merge-all-constants
|
| 423 | Disallow merging of constants
|
| 424 | -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.
|
| 425 | -fno-objc-infer-related-result-type
|
| 426 | do not infer Objective-C related result type based on method family
|
| 427 | -fno-offload-lto Disable LTO mode (default) for offload compilation
|
| 428 | -fno-openmp-extensions Disable all Clang extensions for OpenMP directives and clauses
|
| 429 | -fno-operator-names Do not treat C++ operator name keywords as synonyms for operators
|
| 430 | -fno-pch-codegen Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
|
| 431 | -fno-pch-debuginfo Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere
|
| 432 | -fno-plt Use GOT indirection instead of PLT to make external function calls (x86 only)
|
| 433 | -fno-preserve-as-comments
|
| 434 | Do not preserve comments in inline assembly
|
| 435 | -fno-profile-generate Disable generation of profile instrumentation.
|
| 436 | -fno-profile-instr-generate
|
| 437 | Disable generation of profile instrumentation.
|
| 438 | -fno-profile-instr-use Disable using instrumentation data for profile-guided optimization
|
| 439 | -fno-pseudo-probe-for-profiling
|
| 440 | Do not emit pseudo probes for sample profiling
|
| 441 | -fno-register-global-dtors-with-atexit
|
| 442 | Don't use atexit or __cxa_atexit to register global destructors
|
| 443 | -fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags
|
| 444 | -fno-rtti-data Disable generation of RTTI data
|
| 445 | -fno-rtti Disable generation of rtti information
|
| 446 | -fno-sanitize-address-outline-instrumentation
|
| 447 | Use default code inlining logic for the address sanitizer
|
| 448 | -fno-sanitize-address-poison-custom-array-cookie
|
| 449 | Disable poisoning array cookies when using custom operator new[] in AddressSanitizer
|
| 450 | -fno-sanitize-address-use-after-scope
|
| 451 | Disable use-after-scope detection in AddressSanitizer
|
| 452 | -fno-sanitize-address-use-odr-indicator
|
| 453 | Disable ODR indicator globals
|
| 454 | -fno-sanitize-cfi-canonical-jump-tables
|
| 455 | Do not make the jump table addresses canonical in the symbol table
|
| 456 | -fno-sanitize-cfi-cross-dso
|
| 457 | Disable control flow integrity (CFI) checks for cross-DSO calls.
|
| 458 | -fno-sanitize-coverage=<value>
|
| 459 | Disable features of coverage instrumentation for Sanitizers
|
| 460 | -fno-sanitize-hwaddress-experimental-aliasing
|
| 461 | Disable aliasing mode in HWAddressSanitizer
|
| 462 | -fno-sanitize-ignorelist
|
| 463 | Don't use ignorelist file for sanitizers
|
| 464 | -fno-sanitize-memory-param-retval
|
| 465 | Disable detection of uninitialized parameters and return values
|
| 466 | -fno-sanitize-memory-track-origins
|
| 467 | Disable origins tracking in MemorySanitizer
|
| 468 | -fno-sanitize-memory-use-after-dtor
|
| 469 | Disable use-after-destroy detection in MemorySanitizer
|
| 470 | -fno-sanitize-recover=<value>
|
| 471 | Disable recovery for specified sanitizers
|
| 472 | -fno-sanitize-stats Disable sanitizer statistics gathering.
|
| 473 | -fno-sanitize-thread-atomics
|
| 474 | Disable atomic operations instrumentation in ThreadSanitizer
|
| 475 | -fno-sanitize-thread-func-entry-exit
|
| 476 | Disable function entry/exit instrumentation in ThreadSanitizer
|
| 477 | -fno-sanitize-thread-memory-access
|
| 478 | Disable memory access instrumentation in ThreadSanitizer
|
| 479 | -fno-sanitize-trap=<value>
|
| 480 | Disable trapping for specified sanitizers
|
| 481 | -fno-sanitize-trap Disable trapping for all sanitizers
|
| 482 | -fno-short-wchar Force wchar_t to be an unsigned int
|
| 483 | -fno-show-column Do not include column number on diagnostics
|
| 484 | -fno-show-source-location
|
| 485 | Do not include source location information with diagnostics
|
| 486 | -fno-signed-char char is unsigned
|
| 487 | -fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
|
| 488 | -fno-spell-checking Disable spell-checking
|
| 489 | -fno-split-machine-functions
|
| 490 | Disable late function splitting using profile information (x86 ELF)
|
| 491 | -fno-split-stack Wouldn't use segmented stack
|
| 492 | -fno-stack-clash-protection
|
| 493 | Disable stack clash protection
|
| 494 | -fno-stack-protector Disable the use of stack protectors
|
| 495 | -fno-standalone-debug Limit debug information produced to reduce size of debug binary
|
| 496 | -fno-strict-float-cast-overflow
|
| 497 | Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions
|
| 498 | -fno-strict-return Don't treat control flow paths that fall off the end of a non-void function as unreachable
|
| 499 | -fno-sycl Disables SYCL kernels compilation for device
|
| 500 | -fno-temp-file Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
|
| 501 | -fno-threadsafe-statics Do not emit code to make initialization of local statics thread safe
|
| 502 | -fno-trigraphs Do not process trigraph sequences
|
| 503 | -fno-unique-section-names
|
| 504 | Don't use unique names for text and data sections
|
| 505 | -fno-unroll-loops Turn off loop unroller
|
| 506 | -fno-use-cxa-atexit Don't use __cxa_atexit for calling destructors
|
| 507 | -fno-use-init-array Use .ctors/.dtors instead of .init_array/.fini_array
|
| 508 | -fno-visibility-inlines-hidden-static-local-var
|
| 509 | Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)
|
| 510 | -fno-xray-function-index
|
| 511 | Omit function index section at the expense of single-function patching performance
|
| 512 | -fno-zero-initialized-in-bss
|
| 513 | Don't place zero initialized data in BSS
|
| 514 | -fobjc-arc-exceptions Use EH-safe code when synthesizing retains and releases in -fobjc-arc
|
| 515 | -fobjc-arc Synthesize retain and release calls for Objective-C pointers
|
| 516 | -fobjc-disable-direct-methods-for-testing
|
| 517 | Ignore attribute objc_direct so that direct methods can be tested
|
| 518 | -fobjc-encode-cxx-class-template-spec
|
| 519 | Fully encode c++ class template specialization
|
| 520 | -fobjc-exceptions Enable Objective-C exceptions
|
| 521 | -fobjc-runtime=<value> Specify the target Objective-C runtime kind and version
|
| 522 | -fobjc-weak Enable ARC-style weak references in Objective-C
|
| 523 | -foffload-lto=<value> Set LTO mode to either 'full' or 'thin' for offload compilation
|
| 524 | -foffload-lto Enable LTO in 'full' mode for offload compilation
|
| 525 | -fopenmp-extensions Enable all Clang extensions for OpenMP directives and clauses
|
| 526 | -fopenmp-implicit-rpath Set rpath on OpenMP executables
|
| 527 | -fopenmp-new-driver Use the new driver for OpenMP offloading.
|
| 528 | -fopenmp-simd Emit OpenMP code only for SIMD-based constructs.
|
| 529 | -fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
|
| 530 | -fopenmp-target-new-runtime
|
| 531 | Use the new bitcode library for OpenMP offloading
|
| 532 | -fopenmp-targets=<value>
|
| 533 | Specify comma-separated list of triples OpenMP offloading targets to be supported
|
| 534 | -fopenmp-version=<value>
|
| 535 | Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.
|
| 536 | -fopenmp Parse OpenMP pragmas and generate parallel code.
|
| 537 | -foptimization-record-file=<file>
|
| 538 | 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.
|
| 539 | -foptimization-record-passes=<regex>
|
| 540 | Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
|
| 541 | -forder-file-instrumentation
|
| 542 | Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
|
| 543 | -fpack-struct=<value> Specify the default maximum struct packing alignment
|
| 544 | -fpascal-strings Recognize and construct Pascal-style string literals
|
| 545 | -fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
|
| 546 | -fpatchable-function-entry=<N,M>
|
| 547 | Generate M NOPs before function entry and N-M NOPs after function entry
|
| 548 | -fpcc-struct-return Override the default ABI to return all structs on the stack
|
| 549 | -fpch-codegen Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
|
| 550 | -fpch-debuginfo Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
|
| 551 | -fpch-instantiate-templates
|
| 552 | Instantiate templates already while building a PCH
|
| 553 | -fpch-validate-input-files-content
|
| 554 | Validate PCH input files based on content if mtime differs
|
| 555 | -fplugin-arg-<name>-<arg>
|
| 556 | Pass <arg> to plugin <name>
|
| 557 | -fplugin=<dsopath> Load the named plugin (dynamic shared object)
|
| 558 | -fprebuilt-implicit-modules
|
| 559 | Look up implicit modules in the prebuilt module path
|
| 560 | -fprebuilt-module-path=<directory>
|
| 561 | Specify the prebuilt module path
|
| 562 | -fproc-stat-report=<value>
|
| 563 | Save subprocess statistics to the given file
|
| 564 | -fproc-stat-report<value>
|
| 565 | Print subprocess statistics
|
| 566 | -fprofile-exclude-files=<value>
|
| 567 | Instrument only functions from files where names don't match all the regexes separated by a semi-colon
|
| 568 | -fprofile-filter-files=<value>
|
| 569 | Instrument only functions from files where names match any regex separated by a semi-colon
|
| 570 | -fprofile-generate=<directory>
|
| 571 | Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
|
| 572 | -fprofile-generate Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
|
| 573 | -fprofile-instr-generate=<file>
|
| 574 | Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)
|
| 575 | -fprofile-instr-generate
|
| 576 | Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
|
| 577 | -fprofile-instr-use=<value>
|
| 578 | Use instrumentation data for profile-guided optimization
|
| 579 | -fprofile-list=<value> Filename defining the list of functions/files to instrument
|
| 580 | -fprofile-remapping-file=<file>
|
| 581 | Use the remappings described in <file> to match the profile data against names in the program
|
| 582 | -fprofile-sample-accurate
|
| 583 | Specifies that the sample profile is accurate
|
| 584 | -fprofile-sample-use=<value>
|
| 585 | Enable sample-based profile guided optimizations
|
| 586 | -fprofile-update=<method>
|
| 587 | Set update method of profile counters (atomic,prefer-atomic,single)
|
| 588 | -fprofile-use=<pathname>
|
| 589 | Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
|
| 590 | -fprotect-parens Determines whether the optimizer honors parentheses when floating-point expressions are evaluated
|
| 591 | -fpseudo-probe-for-profiling
|
| 592 | Emit pseudo probes for sample profiling
|
| 593 | -freciprocal-math Allow division operations to be reassociated
|
| 594 | -freg-struct-return Override the default ABI to return small structs in registers
|
| 595 | -fregister-global-dtors-with-atexit
|
| 596 | Use atexit or __cxa_atexit to register global destructors
|
| 597 | -frelaxed-template-template-args
|
| 598 | Enable C++17 relaxed template template argument matching
|
| 599 | -freroll-loops Turn on loop reroller
|
| 600 | -fropi Generate read-only position independent code (ARM only)
|
| 601 | -frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags
|
| 602 | -frwpi Generate read-write position independent code (ARM only)
|
| 603 | -fsanitize-address-destructor=<value>
|
| 604 | Set destructor type used in ASan instrumentation
|
| 605 | -fsanitize-address-field-padding=<value>
|
| 606 | Level of field padding for AddressSanitizer
|
| 607 | -fsanitize-address-globals-dead-stripping
|
| 608 | Enable linker dead stripping of globals in AddressSanitizer
|
| 609 | -fsanitize-address-outline-instrumentation
|
| 610 | Always generate function calls for address sanitizer instrumentation
|
| 611 | -fsanitize-address-poison-custom-array-cookie
|
| 612 | Enable poisoning array cookies when using custom operator new[] in AddressSanitizer
|
| 613 | -fsanitize-address-use-after-return=<mode>
|
| 614 | Select the mode of detecting stack use-after-return in AddressSanitizer: never | runtime (default) | always
|
| 615 | -fsanitize-address-use-after-scope
|
| 616 | Enable use-after-scope detection in AddressSanitizer
|
| 617 | -fsanitize-address-use-odr-indicator
|
| 618 | Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
|
| 619 | -fsanitize-blacklist=<value>
|
| 620 | Alias for -fsanitize-ignorelist=
|
| 621 | -fsanitize-cfi-canonical-jump-tables
|
| 622 | Make the jump table addresses canonical in the symbol table
|
| 623 | -fsanitize-cfi-cross-dso
|
| 624 | Enable control flow integrity (CFI) checks for cross-DSO calls.
|
| 625 | -fsanitize-cfi-icall-generalize-pointers
|
| 626 | Generalize pointers in CFI indirect call type signature checks
|
| 627 | -fsanitize-coverage-allowlist=<value>
|
| 628 | Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
|
| 629 | -fsanitize-coverage-blacklist=<value>
|
| 630 | Deprecated, use -fsanitize-coverage-ignorelist= instead
|
| 631 | -fsanitize-coverage-ignorelist=<value>
|
| 632 | Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
|
| 633 | -fsanitize-coverage-whitelist=<value>
|
| 634 | Deprecated, use -fsanitize-coverage-allowlist= instead
|
| 635 | -fsanitize-coverage=<value>
|
| 636 | Specify the type of coverage instrumentation for Sanitizers
|
| 637 | -fsanitize-hwaddress-abi=<value>
|
| 638 | Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
|
| 639 | -fsanitize-hwaddress-experimental-aliasing
|
| 640 | Enable aliasing mode in HWAddressSanitizer
|
| 641 | -fsanitize-ignorelist=<value>
|
| 642 | Path to ignorelist file for sanitizers
|
| 643 | -fsanitize-memory-param-retval
|
| 644 | Enable detection of uninitialized parameters and return values
|
| 645 | -fsanitize-memory-track-origins=<value>
|
| 646 | Enable origins tracking in MemorySanitizer
|
| 647 | -fsanitize-memory-track-origins
|
| 648 | Enable origins tracking in MemorySanitizer
|
| 649 | -fsanitize-memory-use-after-dtor
|
| 650 | Enable use-after-destroy detection in MemorySanitizer
|
| 651 | -fsanitize-recover=<value>
|
| 652 | Enable recovery for specified sanitizers
|
| 653 | -fsanitize-stats Enable sanitizer statistics gathering.
|
| 654 | -fsanitize-system-blacklist=<value>
|
| 655 | Alias for -fsanitize-system-ignorelist=
|
| 656 | -fsanitize-system-ignorelist=<value>
|
| 657 | Path to system ignorelist file for sanitizers
|
| 658 | -fsanitize-thread-atomics
|
| 659 | Enable atomic operations instrumentation in ThreadSanitizer (default)
|
| 660 | -fsanitize-thread-func-entry-exit
|
| 661 | Enable function entry/exit instrumentation in ThreadSanitizer (default)
|
| 662 | -fsanitize-thread-memory-access
|
| 663 | Enable memory access instrumentation in ThreadSanitizer (default)
|
| 664 | -fsanitize-trap=<value> Enable trapping for specified sanitizers
|
| 665 | -fsanitize-trap Enable trapping for all sanitizers
|
| 666 | -fsanitize-undefined-strip-path-components=<number>
|
| 667 | Strip (or keep only, if negative) a given number of path components when emitting check metadata.
|
| 668 | -fsanitize=<check> Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
|
| 669 | -fsave-optimization-record=<format>
|
| 670 | Generate an optimization record file in a specific format
|
| 671 | -fsave-optimization-record
|
| 672 | Generate a YAML optimization record file
|
| 673 | -fseh-exceptions Use SEH style exceptions
|
| 674 | -fshort-enums Allocate to an enum type only as many bytes as it needs for the declared range of possible values
|
| 675 | -fshort-wchar Force wchar_t to be a short unsigned int
|
| 676 | -fshow-overloads=<value>
|
| 677 | Which overload candidates to show when overload resolution fails: best|all; defaults to all
|
| 678 | -fshow-skipped-includes Show skipped includes in -H output.
|
| 679 | -fsigned-char char is signed
|
| 680 | -fsized-deallocation Enable C++14 sized global deallocation functions
|
| 681 | -fsjlj-exceptions Use SjLj style exceptions
|
| 682 | -fslp-vectorize Enable the superword-level parallelism vectorization passes
|
| 683 | -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
|
| 684 | -fsplit-lto-unit Enables splitting of the LTO unit
|
| 685 | -fsplit-machine-functions
|
| 686 | Enable late function splitting using profile information (x86 ELF)
|
| 687 | -fsplit-stack Use segmented stack
|
| 688 | -fstack-clash-protection
|
| 689 | Enable stack clash protection
|
| 690 | -fstack-protector-all Enable stack protectors for all functions
|
| 691 | -fstack-protector-strong
|
| 692 | 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
|
| 693 | -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.
|
| 694 | -fstack-size-section Emit section containing metadata on function stack sizes
|
| 695 | -fstack-usage Emit .su file containing information on function stack sizes
|
| 696 | -fstandalone-debug Emit full debug info for all types used by the program
|
| 697 | -fstrict-enums Enable optimizations based on the strict definition of an enum's value range
|
| 698 | -fstrict-float-cast-overflow
|
| 699 | Assume that overflowing float-to-int casts are undefined (default)
|
| 700 | -fstrict-vtable-pointers
|
| 701 | Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
|
| 702 | -fswift-async-fp=<option>
|
| 703 | Control emission of Swift async extended frame info (option: auto, always, never)
|
| 704 | -fsycl Enables SYCL kernels compilation for device
|
| 705 | -fsystem-module Build this module as a system module. Only used with -emit-module
|
| 706 | -fthin-link-bitcode=<value>
|
| 707 | Write minimized bitcode to <file> for the ThinLTO thin link only
|
| 708 | -fthinlto-index=<value> Perform ThinLTO importing using provided function summary index
|
| 709 | -ftime-report=<value> (For new pass manager) "per-pass": one report for each pass; "per-pass-run": one report for each pass invocation
|
| 710 | -ftime-trace-granularity=<value>
|
| 711 | Minimum time granularity (in microseconds) traced by time profiler
|
| 712 | -ftime-trace Turn on time profiler. Generates JSON file based on output filename.
|
| 713 | -ftrap-function=<value> Issue call to specified function rather than a trap instruction
|
| 714 | -ftrapv-handler=<function name>
|
| 715 | Specify the function to be called on overflow
|
| 716 | -ftrapv Trap on integer overflow
|
| 717 | -ftrigraphs Process trigraph sequences
|
| 718 | -ftrivial-auto-var-init-stop-after=<value>
|
| 719 | Stop initializing trivial automatic stack variables after the specified number of instances
|
| 720 | -ftrivial-auto-var-init=<value>
|
| 721 | Initialize trivial automatic stack variables: uninitialized (default) | pattern
|
| 722 | -funique-basic-block-section-names
|
| 723 | Use unique names for basic block sections (ELF Only)
|
| 724 | -funique-internal-linkage-names
|
| 725 | Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
|
| 726 | -funroll-loops Turn on loop unroller
|
| 727 | -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.
|
| 728 | -fuse-line-directives Use #line in preprocessed output
|
| 729 | -fvalidate-ast-input-files-content
|
| 730 | 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
|
| 731 | -fveclib=<value> Use the given vector functions library
|
| 732 | -fvectorize Enable the loop vectorization passes
|
| 733 | -fverbose-asm Generate verbose assembly output
|
| 734 | -fvirtual-function-elimination
|
| 735 | Enables dead virtual function elimination optimization. Requires -flto=full
|
| 736 | -fvisibility-dllexport=<value>
|
| 737 | The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]
|
| 738 | -fvisibility-externs-dllimport=<value>
|
| 739 | The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]
|
| 740 | -fvisibility-externs-nodllstorageclass=<value>
|
| 741 | The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]
|
| 742 | -fvisibility-from-dllstorageclass
|
| 743 | Set the visibility of symbols in the generated code from their DLL storage class
|
| 744 | -fvisibility-global-new-delete-hidden
|
| 745 | Give global C++ operator new and delete declarations hidden visibility
|
| 746 | -fvisibility-inlines-hidden-static-local-var
|
| 747 | When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default
|
| 748 | -fvisibility-inlines-hidden
|
| 749 | Give inline C++ member functions hidden visibility by default
|
| 750 | -fvisibility-ms-compat Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
|
| 751 | -fvisibility-nodllstorageclass=<value>
|
| 752 | The visibility for defintiions without an explicit DLL export class [-fvisibility-from-dllstorageclass]
|
| 753 | -fvisibility=<value> Set the default symbol visibility for all global declarations
|
| 754 | -fwasm-exceptions Use WebAssembly style exceptions
|
| 755 | -fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto
|
| 756 | -fwrapv Treat signed integer overflow as two's complement
|
| 757 | -fwritable-strings Store string literals as writable data
|
| 758 | -fxl-pragma-pack Enable IBM XL #pragma pack handling
|
| 759 | -fxray-always-emit-customevents
|
| 760 | Always emit __xray_customevent(...) calls even if the containing function is not always instrumented
|
| 761 | -fxray-always-emit-typedevents
|
| 762 | Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented
|
| 763 | -fxray-always-instrument= <value>
|
| 764 | DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
|
| 765 | -fxray-attr-list= <value>
|
| 766 | Filename defining the list of functions/types for imbuing XRay attributes.
|
| 767 | -fxray-function-groups=<value>
|
| 768 | Only instrument 1 of N groups
|
| 769 | -fxray-ignore-loops Don't instrument functions with loops unless they also meet the minimum function size
|
| 770 | -fxray-instruction-threshold= <value>
|
| 771 | Sets the minimum function size to instrument with XRay
|
| 772 | -fxray-instrumentation-bundle= <value>
|
| 773 | 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'.
|
| 774 | -fxray-instrument Generate XRay instrumentation sleds on function entry and exit
|
| 775 | -fxray-link-deps Tells clang to add the link dependencies for XRay.
|
| 776 | -fxray-modes= <value> List of modes to link in by default into XRay instrumented binaries.
|
| 777 | -fxray-never-instrument= <value>
|
| 778 | DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
|
| 779 | -fxray-selected-function-group=<value>
|
| 780 | When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
|
| 781 | -fzvector Enable System z vector language extension
|
| 782 | -F <value> Add directory to framework include search path
|
| 783 | --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
|
| 784 | -gcodeview-ghash Emit type record hashes in a .debug$H section
|
| 785 | -gcodeview Generate CodeView debug information
|
| 786 | -gdwarf-2 Generate source-level debug information with dwarf version 2
|
| 787 | -gdwarf-3 Generate source-level debug information with dwarf version 3
|
| 788 | -gdwarf-4 Generate source-level debug information with dwarf version 4
|
| 789 | -gdwarf-5 Generate source-level debug information with dwarf version 5
|
| 790 | -gdwarf32 Enables DWARF32 format for ELF binaries, if debug information emission is enabled.
|
| 791 | -gdwarf64 Enables DWARF64 format for ELF binaries, if debug information emission is enabled.
|
| 792 | -gdwarf Generate source-level debug information with the default dwarf version
|
| 793 | -gembed-source Embed source text in DWARF debug sections
|
| 794 | -gline-directives-only Emit debug line info directives only
|
| 795 | -gline-tables-only Emit debug line number tables only
|
| 796 | -gmodules Generate debug info with external references to clang modules or precompiled headers
|
| 797 | -gno-embed-source Restore the default behavior of not embedding source text in DWARF debug sections
|
| 798 | -gno-inline-line-tables Don't emit inline line tables.
|
| 799 | --gpu-bundle-output Bundle output files of HIP device compilation
|
| 800 | --gpu-instrument-lib=<value>
|
| 801 | Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit
|
| 802 | --gpu-max-threads-per-block=<value>
|
| 803 | Default max threads per block for kernel launch bounds for HIP
|
| 804 | -gsplit-dwarf=<value> Set DWARF fission mode to either 'split' or 'single'
|
| 805 | -gz=<value> DWARF debug sections compression type
|
| 806 | -G <size> Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
|
| 807 | -g Generate source-level debug information
|
| 808 | --help-hidden Display help for hidden options
|
| 809 | -help Display available options
|
| 810 | --hip-device-lib=<value>
|
| 811 | HIP device library
|
| 812 | --hip-link Link clang-offload-bundler bundles for HIP
|
| 813 | --hip-path=<value> HIP runtime installation path, used for finding HIP version and adding HIP include path.
|
| 814 | --hip-version=<value> HIP version in the format of major.minor.patch
|
| 815 | --hipspv-pass-plugin=<dsopath>
|
| 816 | path to a pass plugin for HIP to SPIR-V passes.
|
| 817 | -H Show header includes and nesting depth
|
| 818 | -I- Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
|
| 819 | -ibuiltininc Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
|
| 820 | -idirafter <value> Add directory to AFTER include search path
|
| 821 | -iframeworkwithsysroot <directory>
|
| 822 | Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
|
| 823 | -iframework <value> Add directory to SYSTEM framework search path
|
| 824 | -imacros <file> Include macros from file before parsing
|
| 825 | -include-pch <file> Include precompiled header file
|
| 826 | -include <file> Include file before parsing
|
| 827 | -index-header-map Make the next included directory (-I or -F) an indexer header map
|
| 828 | -iprefix <dir> Set the -iwithprefix/-iwithprefixbefore prefix
|
| 829 | -iquote <directory> Add directory to QUOTE include search path
|
| 830 | -isysroot <dir> Set the system root directory (usually /)
|
| 831 | -isystem-after <directory>
|
| 832 | Add directory to end of the SYSTEM include search path
|
| 833 | -isystem <directory> Add directory to SYSTEM include search path
|
| 834 | -ivfsoverlay <value> Overlay the virtual filesystem described by file over the real file system
|
| 835 | -iwithprefixbefore <dir>
|
| 836 | Set directory to include search path with prefix
|
| 837 | -iwithprefix <dir> Set directory to SYSTEM include search path with prefix
|
| 838 | -iwithsysroot <directory>
|
| 839 | Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
|
| 840 | -I <dir> Add directory to the end of the list of include search paths
|
| 841 | --libomptarget-amdgcn-bc-path=<value>
|
| 842 | Path to libomptarget-amdgcn bitcode library
|
| 843 | --libomptarget-nvptx-bc-path=<value>
|
| 844 | Path to libomptarget-nvptx bitcode library
|
| 845 | -L <dir> Add directory to library search path
|
| 846 | -mabi=vec-default Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
|
| 847 | -mabi=vec-extabi Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers
|
| 848 | -mabicalls Enable SVR4-style position-independent code (Mips only)
|
| 849 | -maix-struct-return Return all structs in memory (PPC32 only)
|
| 850 | -malign-branch-boundary=<value>
|
| 851 | Specify the boundary's size to align branches
|
| 852 | -malign-branch=<value> Specify types of branches to align
|
| 853 | -malign-double Align doubles to two words in structs (x86 only)
|
| 854 | -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)
|
| 855 | -mbackchain Link stack frames through backchain on System Z
|
| 856 | -mbranch-protection=<value>
|
| 857 | Enforce targets of indirect branches and function returns
|
| 858 | -mbranches-within-32B-boundaries
|
| 859 | Align selected branches (fused, jcc, jmp) within 32-byte boundary
|
| 860 | -mcmodel=medany Equivalent to -mcmodel=medium, compatible with RISC-V gcc.
|
| 861 | -mcmodel=medlow Equivalent to -mcmodel=small, compatible with RISC-V gcc.
|
| 862 | -mcmse Allow use of CMSE (Armv8-M Security Extensions)
|
| 863 | -mcode-object-v3 Legacy option to specify code object ABI V3 (AMDGPU only)
|
| 864 | -mcode-object-version=<version>
|
| 865 | Specify code object ABI version. Defaults to 3. (AMDGPU only)
|
| 866 | -mcrc Allow use of CRC instructions (ARM/Mips only)
|
| 867 | -mcumode Specify CU wavefront execution mode (AMDGPU only)
|
| 868 | -mdouble=<value> Force double to be 32 bits or 64 bits
|
| 869 | -MD Write a depfile containing user and system headers
|
| 870 | -meabi <value> Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
|
| 871 | -membedded-data Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
|
| 872 | -menable-experimental-extensions
|
| 873 | Enable use of experimental RISC-V extensions.
|
| 874 | -menable-unsafe-fp-math Allow unsafe floating-point math optimizations which may decrease precision
|
| 875 | -mexec-model=<value> Execution model (WebAssembly only)
|
| 876 | -mexecute-only Disallow generation of data access to code sections (ARM only)
|
| 877 | -mextern-sdata Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
|
| 878 | -mfentry Insert calls to fentry at function entry (x86/SystemZ only)
|
| 879 | -mfix-cmse-cve-2021-35465
|
| 880 | Work around VLLDM erratum CVE-2021-35465 (ARM only)
|
| 881 | -mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)
|
| 882 | -mfp32 Use 32-bit floating point registers (MIPS only)
|
| 883 | -mfp64 Use 64-bit floating point registers (MIPS only)
|
| 884 | -MF <file> Write depfile output from -MMD, -MD, -MM, or -M to <file>
|
| 885 | -mgeneral-regs-only Generate code which only uses the general purpose registers (AArch64/x86 only)
|
| 886 | -mglobal-merge Enable merging of globals
|
| 887 | -mgpopt Use GP relative accesses for symbols known to be in a small data section (MIPS)
|
| 888 | -MG Add missing headers to depfile
|
| 889 | -mharden-sls=<value> Select straight-line speculation hardening scope
|
| 890 | -mhvx-ieee-fp Enable Hexagon HVX IEEE floating-point
|
| 891 | -mhvx-length=<value> Set Hexagon Vector Length
|
| 892 | -mhvx-qfloat Enable Hexagon HVX QFloat instructions
|
| 893 | -mhvx=<value> Enable Hexagon Vector eXtensions
|
| 894 | -mhvx Enable Hexagon Vector eXtensions
|
| 895 | -miamcu Use Intel MCU ABI
|
| 896 | -mibt-seal Optimize fcf-protection=branch/full (requires LTO).
|
| 897 | -mignore-xcoff-visibility
|
| 898 | Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
|
| 899 | --migrate Run the migrator
|
| 900 | -mincremental-linker-compatible
|
| 901 | (integrated-as) Emit an object file which can be used with an incremental linker
|
| 902 | -mindirect-jump=<value> Change indirect jump instructions to inhibit speculation
|
| 903 | -mios-version-min=<value>
|
| 904 | Set iOS deployment target
|
| 905 | -MJ <value> Write a compilation database entry per input
|
| 906 | -mllvm <value> Additional arguments to forward to LLVM's option processing
|
| 907 | -mlocal-sdata Extend the -G behaviour to object local data (MIPS)
|
| 908 | -mlong-calls Generate branches with extended addressability, usually via indirect jumps.
|
| 909 | -mlong-double-128 Force long double to be 128 bits
|
| 910 | -mlong-double-64 Force long double to be 64 bits
|
| 911 | -mlong-double-80 Force long double to be 80 bits, padded to 128 bits for storage
|
| 912 | -mlvi-cfi Enable only control-flow mitigations for Load Value Injection (LVI)
|
| 913 | -mlvi-hardening Enable all mitigations for Load Value Injection (LVI)
|
| 914 | -mmacosx-version-min=<value>
|
| 915 | Set Mac OS X deployment target
|
| 916 | -mmadd4 Enable the generation of 4-operand madd.s, madd.d and related instructions.
|
| 917 | -mmark-bti-property Add .note.gnu.property with BTI to assembly files (AArch64 only)
|
| 918 | -MMD Write a depfile containing user headers
|
| 919 | -mmemops Enable generation of memop instructions
|
| 920 | -mms-bitfields Set the default structure layout to be compatible with the Microsoft compiler standard
|
| 921 | -mmsa Enable MSA ASE (MIPS only)
|
| 922 | -mmt Enable MT ASE (MIPS only)
|
| 923 | -MM Like -MMD, but also implies -E and writes to stdout by default
|
| 924 | -mno-abicalls Disable SVR4-style position-independent code (Mips only)
|
| 925 | -mno-bti-at-return-twice
|
| 926 | Do not add a BTI instruction after a setjmp or other return-twice construct (Arm only)
|
| 927 | -mno-code-object-v3 Legacy option to specify code object ABI V2 (AMDGPU only)
|
| 928 | -mno-crc Disallow use of CRC instructions (Mips only)
|
| 929 | -mno-cumode Specify WGP wavefront execution mode (AMDGPU only)
|
| 930 | -mno-embedded-data Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)
|
| 931 | -mno-execute-only Allow generation of data access to code sections (ARM only)
|
| 932 | -mno-extern-sdata Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
|
| 933 | -mno-fix-cmse-cve-2021-35465
|
| 934 | Don't work around VLLDM erratum CVE-2021-35465 (ARM only)
|
| 935 | -mno-fix-cortex-a53-835769
|
| 936 | Don't workaround Cortex-A53 erratum 835769 (AArch64 only)
|
| 937 | -mno-global-merge Disable merging of globals
|
| 938 | -mno-gpopt Do not use GP relative accesses for symbols known to be in a small data section (MIPS)
|
| 939 | -mno-hvx-ieee-fp Disable Hexagon HVX IEEE floating-point
|
| 940 | -mno-hvx-qfloat Disable Hexagon HVX QFloat instructions
|
| 941 | -mno-hvx Disable Hexagon Vector eXtensions
|
| 942 | -mno-implicit-float Don't generate implicit floating point instructions
|
| 943 | -mno-incremental-linker-compatible
|
| 944 | (integrated-as) Emit an object file which cannot be used with an incremental linker
|
| 945 | -mno-local-sdata Do not extend the -G behaviour to object local data (MIPS)
|
| 946 | -mno-long-calls Restore the default behaviour of not generating long calls
|
| 947 | -mno-lvi-cfi Disable control-flow mitigations for Load Value Injection (LVI)
|
| 948 | -mno-lvi-hardening Disable mitigations for Load Value Injection (LVI)
|
| 949 | -mno-madd4 Disable the generation of 4-operand madd.s, madd.d and related instructions.
|
| 950 | -mno-memops Disable generation of memop instructions
|
| 951 | -mno-movt Disallow use of movt/movw pairs (ARM only)
|
| 952 | -mno-ms-bitfields Do not set the default structure layout to be compatible with the Microsoft compiler standard
|
| 953 | -mno-msa Disable MSA ASE (MIPS only)
|
| 954 | -mno-mt Disable MT ASE (MIPS only)
|
| 955 | -mno-neg-immediates Disallow converting instructions with negative immediates to their negation or inversion.
|
| 956 | -mno-nvj Disable generation of new-value jumps
|
| 957 | -mno-nvs Disable generation of new-value stores
|
| 958 | -mno-outline-atomics Don't generate local calls to out-of-line atomic operations
|
| 959 | -mno-outline Disable function outlining (AArch64 only)
|
| 960 | -mno-packets Disable generation of instruction packets
|
| 961 | -mno-relax Disable linker relaxation
|
| 962 | -mno-restrict-it Allow generation of deprecated IT blocks for ARMv8. It is off by default for ARMv8 Thumb mode
|
| 963 | -mno-save-restore Disable using library calls for save and restore
|
| 964 | -mno-seses Disable speculative execution side effect suppression (SESES)
|
| 965 | -mno-stack-arg-probe Disable stack probes which are enabled by default
|
| 966 | -mno-tgsplit Disable threadgroup split execution mode (AMDGPU only)
|
| 967 | -mno-tls-direct-seg-refs
|
| 968 | Disable direct TLS access through segment registers
|
| 969 | -mno-unaligned-access Force all memory accesses to be aligned (AArch32/AArch64 only)
|
| 970 | -mno-wavefrontsize64 Specify wavefront size 32 mode (AMDGPU only)
|
| 971 | -mnocrc Disallow use of CRC instructions (ARM only)
|
| 972 | -mnop-mcount Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.
|
| 973 | -mnvj Enable generation of new-value jumps
|
| 974 | -mnvs Enable generation of new-value stores
|
| 975 | -module-dependency-dir <value>
|
| 976 | Directory to dump module dependencies to
|
| 977 | -module-file-info Provide information about a particular module file
|
| 978 | -momit-leaf-frame-pointer
|
| 979 | Omit frame pointer setup for leaf functions
|
| 980 | -moutline-atomics Generate local calls to out-of-line atomic operations
|
| 981 | -moutline Enable function outlining (AArch64 only)
|
| 982 | -mpacked-stack Use packed stack layout (SystemZ only).
|
| 983 | -mpackets Enable generation of instruction packets
|
| 984 | -mpad-max-prefix-size=<value>
|
| 985 | Specify maximum number of prefixes to use for padding
|
| 986 | -mprefer-vector-width=<value>
|
| 987 | Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
|
| 988 | -MP Create phony target for each dependency (other than main file)
|
| 989 | -mqdsp6-compat Enable hexagon-qdsp6 backward compatibility
|
| 990 | -MQ <value> Specify name of main file output to quote in depfile
|
| 991 | -mrecord-mcount Generate a __mcount_loc section entry for each __fentry__ call.
|
| 992 | -mrelax-all (integrated-as) Relax all machine instructions
|
| 993 | -mrelax Enable linker relaxation
|
| 994 | -mrestrict-it Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
|
| 995 | -mrtd Make StdCall calling convention the default
|
| 996 | -msave-restore Enable using library calls for save and restore
|
| 997 | -mseses Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
|
| 998 | -msign-return-address=<value>
|
| 999 | Select return address signing scope
|
| 1000 | -mskip-rax-setup Skip setting up RAX register when passing variable arguments (x86 only)
|
| 1001 | -msmall-data-limit=<value>
|
| 1002 | Put global and static data smaller than the limit into a special section
|
| 1003 | -msoft-float Use software floating point
|
| 1004 | -mstack-alignment=<value>
|
| 1005 | Set the stack alignment
|
| 1006 | -mstack-arg-probe Enable stack probes
|
| 1007 | -mstack-probe-size=<value>
|
| 1008 | Set the stack probe size
|
| 1009 | -mstack-protector-guard-offset=<value>
|
| 1010 | Use the given offset for addressing the stack-protector guard
|
| 1011 | -mstack-protector-guard-reg=<value>
|
| 1012 | Use the given reg for addressing the stack-protector guard
|
| 1013 | -mstack-protector-guard=<value>
|
| 1014 | Use the given guard (global, tls) for addressing the stack-protector guard
|
| 1015 | -mstackrealign Force realign the stack at entry to every function
|
| 1016 | -msve-vector-bits=<value>
|
| 1017 | Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
|
| 1018 | -msvr4-struct-return Return small structs in registers (PPC32 only)
|
| 1019 | -mtargetos=<value> Set the deployment target to be the specified OS and OS version
|
| 1020 | -mtgsplit Enable threadgroup split execution mode (AMDGPU only)
|
| 1021 | -mthread-model <value> The thread model to use, e.g. posix, single (posix by default)
|
| 1022 | -mtls-direct-seg-refs Enable direct TLS access through segment registers (default)
|
| 1023 | -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)
|
| 1024 | -mtp=<value> Thread pointer access method (AArch32/AArch64 only)
|
| 1025 | -mtune=<value> Only supported on X86 and RISC-V. Otherwise accepted for compatibility with GCC.
|
| 1026 | -MT <value> Specify name of main file output in depfile
|
| 1027 | -munaligned-access Allow memory accesses to be unaligned (AArch32/AArch64 only)
|
| 1028 | -munsafe-fp-atomics Enable unsafe floating point atomic instructions (AMDGPU only)
|
| 1029 | -mvscale-max=<value> Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)
|
| 1030 | -mvscale-min=<value> Specify the vscale minimum. Defaults to "1". (AArch64 only)
|
| 1031 | -MV Use NMake/Jom format for the depfile
|
| 1032 | -mwavefrontsize64 Specify wavefront size 64 mode (AMDGPU only)
|
| 1033 | -M Like -MD, but also implies -E and writes to stdout by default
|
| 1034 | --no-cuda-include-ptx=<value>
|
| 1035 | Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
|
| 1036 | --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.
|
| 1037 | --no-gpu-bundle-output Do not bundle output files of HIP device compilation
|
| 1038 | --no-offload-arch=<value>
|
| 1039 | 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.
|
| 1040 | --no-system-header-prefix=<prefix>
|
| 1041 | Treat all #include paths starting with <prefix> as not including a system header.
|
| 1042 | -nobuiltininc Disable builtin #include directories
|
| 1043 | -nogpuinc Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers
|
| 1044 | -nogpulib Do not link device library for CUDA/HIP device compilation
|
| 1045 | -nohipwrapperinc Do not include the default HIP wrapper headers and include paths
|
| 1046 | -nostdinc++ Disable standard #include directories for the C++ standard library
|
| 1047 | -ObjC++ Treat source input files as Objective-C++ inputs
|
| 1048 | -objcmt-allowlist-dir-path=<value>
|
| 1049 | Only modify files with a filename contained in the provided directory path
|
| 1050 | -objcmt-atomic-property Make migration to 'atomic' properties
|
| 1051 | -objcmt-migrate-all Enable migration to modern ObjC
|
| 1052 | -objcmt-migrate-annotation
|
| 1053 | Enable migration to property and method annotations
|
| 1054 | -objcmt-migrate-designated-init
|
| 1055 | Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods
|
| 1056 | -objcmt-migrate-instancetype
|
| 1057 | Enable migration to infer instancetype for method result type
|
| 1058 | -objcmt-migrate-literals
|
| 1059 | Enable migration to modern ObjC literals
|
| 1060 | -objcmt-migrate-ns-macros
|
| 1061 | Enable migration to NS_ENUM/NS_OPTIONS macros
|
| 1062 | -objcmt-migrate-property-dot-syntax
|
| 1063 | Enable migration of setter/getter messages to property-dot syntax
|
| 1064 | -objcmt-migrate-property
|
| 1065 | Enable migration to modern ObjC property
|
| 1066 | -objcmt-migrate-protocol-conformance
|
| 1067 | Enable migration to add protocol conformance on classes
|
| 1068 | -objcmt-migrate-readonly-property
|
| 1069 | Enable migration to modern ObjC readonly property
|
| 1070 | -objcmt-migrate-readwrite-property
|
| 1071 | Enable migration to modern ObjC readwrite property
|
| 1072 | -objcmt-migrate-subscripting
|
| 1073 | Enable migration to modern ObjC subscripting
|
| 1074 | -objcmt-ns-nonatomic-iosonly
|
| 1075 | Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute
|
| 1076 | -objcmt-returns-innerpointer-property
|
| 1077 | Enable migration to annotate property with NS_RETURNS_INNER_POINTER
|
| 1078 | -objcmt-whitelist-dir-path=<value>
|
| 1079 | Alias for -objcmt-allowlist-dir-path
|
| 1080 | -ObjC Treat source input files as Objective-C inputs
|
| 1081 | -object-file-name=<file>
|
| 1082 | Set the output <file> for debug infos
|
| 1083 | --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.
|
| 1084 | --offload=<value> Specify comma-separated list of offloading target triples (CUDA and HIP only)
|
| 1085 | -o <file> Write output to <file>
|
| 1086 | -pedantic Warn on language extensions
|
| 1087 | -pg Enable mcount instrumentation
|
| 1088 | -pipe Use pipes between commands, when possible
|
| 1089 | --precompile Only precompile the input
|
| 1090 | -print-effective-triple Print the effective target triple
|
| 1091 | -print-file-name=<file> Print the full library path of <file>
|
| 1092 | -print-ivar-layout Enable Objective-C Ivar layout bitmap print trace
|
| 1093 | -print-libgcc-file-name Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")
|
| 1094 | -print-multiarch Print the multiarch target triple
|
| 1095 | -print-prog-name=<name> Print the full program path of <name>
|
| 1096 | -print-resource-dir Print the resource directory pathname
|
| 1097 | -print-rocm-search-dirs Print the paths used for finding ROCm installation
|
| 1098 | -print-runtime-dir Print the directory pathname containing clangs runtime libraries
|
| 1099 | -print-search-dirs Print the paths used for finding libraries and programs
|
| 1100 | -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)
|
| 1101 | -print-target-triple Print the normalized target triple
|
| 1102 | -print-targets Print the registered targets
|
| 1103 | -pthread Support POSIX threads in generated code
|
| 1104 | --ptxas-path=<value> Path to ptxas (used for compiling CUDA code)
|
| 1105 | -P Disable linemarker output in -E mode
|
| 1106 | -Qn Do not emit metadata containing compiler name and version
|
| 1107 | -Qunused-arguments Don't emit warning for unused driver arguments
|
| 1108 | -Qy Emit metadata containing compiler name and version
|
| 1109 | -relocatable-pch Whether to build a relocatable precompiled header
|
| 1110 | -rewrite-legacy-objc Rewrite Legacy Objective-C source to C++
|
| 1111 | -rewrite-objc Rewrite Objective-C source to C++
|
| 1112 | --rocm-device-lib-path=<value>
|
| 1113 | ROCm device library path. Alternative to rocm-path.
|
| 1114 | --rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
|
| 1115 | -Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
|
| 1116 | -Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
|
| 1117 | -Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
|
| 1118 | -rtlib=<value> Compiler runtime library to use
|
| 1119 | -R<remark> Enable the specified remark
|
| 1120 | -save-stats=<value> Save llvm statistics.
|
| 1121 | -save-stats Save llvm statistics.
|
| 1122 | -save-temps=<value> Save intermediate compilation results.
|
| 1123 | -save-temps Save intermediate compilation results
|
| 1124 | -serialize-diagnostics <value>
|
| 1125 | Serialize compiler diagnostics to a file
|
| 1126 | -shared-libsan Dynamically link the sanitizer runtime
|
| 1127 | --start-no-unused-arguments
|
| 1128 | Don't emit warnings about unused arguments for the following arguments
|
| 1129 | -static-libsan Statically link the sanitizer runtime
|
| 1130 | -static-openmp Use the static host OpenMP runtime while linking.
|
| 1131 | -std=<value> Language standard to compile for
|
| 1132 | -stdlib++-isystem <directory>
|
| 1133 | Use directory as the C++ standard library include path
|
| 1134 | -stdlib=<value> C++ standard library to use
|
| 1135 | -sycl-std=<value> SYCL language standard to compile for.
|
| 1136 | --system-header-prefix=<prefix>
|
| 1137 | Treat all #include paths starting with <prefix> as including a system header.
|
| 1138 | -S Only run preprocess and compilation steps
|
| 1139 | --target=<value> Generate code for the given target
|
| 1140 | -Tbss <addr> Set starting address of BSS to <addr>
|
| 1141 | -Tdata <addr> Set starting address of DATA to <addr>
|
| 1142 | -time Time individual commands
|
| 1143 | -traditional-cpp Enable some traditional CPP emulation
|
| 1144 | -trigraphs Process trigraph sequences
|
| 1145 | -Ttext <addr> Set starting address of TEXT to <addr>
|
| 1146 | -T <script> Specify <script> as linker script
|
| 1147 | -undef undef all system defines
|
| 1148 | -unwindlib=<value> Unwind library to use
|
| 1149 | -U <macro> Undefine macro <macro>
|
| 1150 | --verify-debug-info Verify the binary representation of debug output
|
| 1151 | -verify-pch Load and verify that a pre-compiled header file is not stale
|
| 1152 | --version Print version information
|
| 1153 | -v Show commands to run and use verbose output
|
| 1154 | -Wa,<arg> Pass the comma separated arguments in <arg> to the assembler
|
| 1155 | -Wdeprecated Enable warnings for deprecated constructs and define __DEPRECATED
|
| 1156 | -Wl,<arg> Pass the comma separated arguments in <arg> to the linker
|
| 1157 | -working-directory <value>
|
| 1158 | Resolve file paths relative to the specified directory
|
| 1159 | -Wp,<arg> Pass the comma separated arguments in <arg> to the preprocessor
|
| 1160 | -W<warning> Enable the specified warning
|
| 1161 | -w Suppress all warnings
|
| 1162 | -Xanalyzer <arg> Pass <arg> to the static analyzer
|
| 1163 | -Xarch_device <arg> Pass <arg> to the CUDA/HIP device compilation
|
| 1164 | -Xarch_host <arg> Pass <arg> to the CUDA/HIP host compilation
|
| 1165 | -Xassembler <arg> Pass <arg> to the assembler
|
| 1166 | -Xclang <arg> Pass <arg> to the clang compiler
|
| 1167 | -Xcuda-fatbinary <arg> Pass <arg> to fatbinary invocation
|
| 1168 | -Xcuda-ptxas <arg> Pass <arg> to the ptxas assembler
|
| 1169 | -Xlinker <arg> Pass <arg> to the linker
|
| 1170 | -Xopenmp-target=<triple> <arg>
|
| 1171 | Pass <arg> to the target offloading toolchain identified by <triple>.
|
| 1172 | -Xopenmp-target <arg> Pass <arg> to the target offloading toolchain.
|
| 1173 | -Xpreprocessor <arg> Pass <arg> to the preprocessor
|
| 1174 | -x <language> Treat subsequent input files as having type <language>
|
| 1175 | -z <arg> Pass -z <arg> to the linker
|