{
"name": "g++",
"description": "The default C++ compiler for most linux distributions",
"options": [
{
"names": [
"--analyzer-output"
],
"description": "Static analyzer report output format",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"suggestions": [
"html",
"plist",
"plist-multi-file",
"plist-html",
"sarif",
"text"
]
}
},
{
"names": [
"--analyze"
],
"description": "Run the static analyzer"
},
{
"names": [
"-arcmt-migrate-emit-errors"
],
"description": "Emit ARC errors even if the migrator can fix them"
},
{
"names": [
"-arcmt-migrate-report-output"
],
"description": "Output path for the plist report",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-B"
],
"description": "Add <dir> to search path for binaries and object files used implicitly",
"takes_arg": true,
"arg": {
"name": "dir",
"description": "Dir",
"template": "folders"
}
},
{
"names": [
"-CC"
],
"description": "Include comments from within macros in preprocessed output"
},
{
"names": [
"-cl-denorms-are-zero"
],
"description": "OpenCL only. Allow denormals to be flushed to zero"
},
{
"names": [
"-cl-fast-relaxed-math"
],
"description": "OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__"
},
{
"names": [
"-cl-finite-math-only"
],
"description": "OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf"
},
{
"names": [
"-cl-fp32-correctly-rounded-divide-sqrt"
],
"description": "OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded"
},
{
"names": [
"-cl-kernel-arg-info"
],
"description": "OpenCL only. Generate kernel argument metadata"
},
{
"names": [
"-cl-mad-enable"
],
"description": "OpenCL only. Allow use of less precise MAD computations in the generated binary"
},
{
"names": [
"-cl-no-signed-zeros"
],
"description": "OpenCL only. Allow use of less precise no signed zeros computations in the generated binary"
},
{
"names": [
"-cl-opt-disable"
],
"description": "OpenCL only. This option disables all optimizations. By default optimizations are enabled"
},
{
"names": [
"-cl-single-precision-constant"
],
"description": "OpenCL only. Treat double precision floating-point constant as single precision constant"
},
{
"names": [
"-cl-std"
],
"description": "OpenCL language standard to compile for",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-cl-strict-aliasing"
],
"description": "OpenCL only. This option is added for compatibility with OpenCL 1.0"
},
{
"names": [
"-cl-uniform-work-group-size"
],
"description": "OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel"
},
{
"names": [
"-cl-unsafe-math-optimizations"
],
"description": "OpenCL only. Allow unsafe floating-point optimizations"
},
{
"names": [
"--config"
],
"description": "Specifies configuration file",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"--cuda-compile-host-device"
],
"description": "Compile CUDA code for both host and device (default)"
},
{
"names": [
"--cuda-device-only"
],
"description": "Compile CUDA code for device only"
},
{
"names": [
"--cuda-host-only"
],
"description": "Compile CUDA code for host only"
},
{
"names": [
"--cuda-include-ptx"
],
"description": "Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"is_variadic": true
}
},
{
"names": [
"--cuda-noopt-device-debug"
],
"description": "Enable device-side debug info generation. Disables ptxas optimizations"
},
{
"names": [
"--cuda-path-ignore-env"
],
"description": "Ignore environment variables to detect CUDA installation"
},
{
"names": [
"--cuda-path"
],
"description": "CUDA installation path",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"template": "folders"
}
},
{
"names": [
"-cxx-isystem"
],
"description": "Add directory to the C++ SYSTEM include search path",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-C"
],
"description": "Include comments in preprocessed output"
},
{
"names": [
"-c"
],
"description": "Only run preprocess, compile, and assemble steps"
},
{
"names": [
"-dD"
],
"description": "Print macro definitions in -E mode in addition to normal output"
},
{
"names": [
"-dependency-dot"
],
"description": "Filename to write DOT-formatted header dependencies to",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"template": "filepaths"
}
},
{
"names": [
"-dependency-file"
],
"description": "Filename (or -) to write dependency output to",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"suggestions": [
"-"
],
"template": "filepaths"
}
},
{
"names": [
"-dI"
],
"description": "Print include directives in -E mode in addition to normal output"
},
{
"names": [
"-dM"
],
"description": "Print macro definitions in -E mode instead of normal output"
},
{
"names": [
"-D"
],
"description": "Define <macro> to <value> (or 1 if <value> omitted)",
"takes_arg": true,
"arg": {
"name": "macro>=<value",
"description": "Macro>=<value"
}
},
{
"names": [
"-emit-ast"
],
"description": "Emit Clang AST files for source inputs"
},
{
"names": [
"-emit-interface-stubs"
],
"description": "Generate Interface Stub Files"
},
{
"names": [
"-emit-llvm"
],
"description": "Use the LLVM representation for assembler and object files"
},
{
"names": [
"-emit-merged-ifs"
],
"description": "Generate Interface Stub Files, emit merged text not binary"
},
{
"names": [
"--emit-static-lib"
],
"description": "Enable linker job to emit a static library"
},
{
"names": [
"-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang"
],
"description": "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"
},
{
"names": [
"-E"
],
"description": "Only run the preprocessor"
},
{
"names": [
"-fAAPCSBitfieldLoad"
],
"description": "Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only)"
},
{
"names": [
"-faddrsig"
],
"description": "Emit an address-significance table"
},
{
"names": [
"-faligned-allocation"
],
"description": "Enable C++17 aligned allocation functions"
},
{
"names": [
"-fallow-editor-placeholders"
],
"description": "Treat editor placeholders as valid source code"
},
{
"names": [
"-fansi-escape-codes"
],
"description": "Use ANSI escape codes for diagnostics"
},
{
"names": [
"-fapinotes-cache-path"
],
"description": "Does nothing; API notes are no longer cached separately from modules",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-fapinotes-modules"
],
"description": "Enable module-based external API notes support"
},
{
"names": [
"-fapinotes-swift-version"
],
"description": "Specify the Swift version to use when filtering API notes",
"takes_arg": true,
"arg": {
"name": "version",
"description": "Version"
}
},
{
"names": [
"-fapinotes"
],
"description": "Enable external API notes support"
},
{
"names": [
"-fapple-kext"
],
"description": "Use Apple's kernel extensions ABI"
},
{
"names": [
"-fapple-link-rtlib"
],
"description": "Force linking the clang builtins runtime library"
},
{
"names": [
"-fapple-pragma-pack"
],
"description": "Enable Apple gcc-compatible #pragma pack handling"
},
{
"names": [
"-fapplication-extension"
],
"description": "Restrict"
},
{
"names": [
"-fasm-blocks"
]
},
{
"names": [
"-fautolink"
]
},
{
"names": [
"-fbasic-block-sections"
],
"description": "Place each function's basic blocks in unique sections (ELF Only) : all | labels | none | list=<file>",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"suggestions": [
"all",
"labels",
"none"
]
}
},
{
"names": [
"-fblocks"
],
"description": "Enable the 'blocks' language feature"
},
{
"names": [
"-fborland-extensions"
],
"description": "Accept non-standard constructs supported by the Borland compiler"
},
{
"names": [
"-fbranch-target-identification"
],
"description": "Emit branch target identification instructions for indirect branch destinations"
},
{
"names": [
"-fbuild-session-file"
],
"description": "Use the last modification time of <file> as the build session timestamp",
"takes_arg": true,
"arg": {
"name": "file",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"-fbuild-session-timestamp"
],
"description": "Time when the current build session started",
"takes_arg": true,
"arg": {
"name": "time since Epoch in seconds",
"description": "Time since Epoch in seconds"
}
},
{
"names": [
"-fbuiltin-module-map"
],
"description": "Load the clang builtins module map file"
},
{
"names": [
"-fc++-static-destructors"
]
},
{
"names": [
"-fcall-saved-x10"
],
"description": "Make the x10 register call-saved (AArch64 only)"
},
{
"names": [
"-fcall-saved-x11"
],
"description": "Make the x11 register call-saved (AArch64 only)"
},
{
"names": [
"-fcall-saved-x12"
],
"description": "Make the x12 register call-saved (AArch64 only)"
},
{
"names": [
"-fcall-saved-x13"
],
"description": "Make the x13 register call-saved (AArch64 only)"
},
{
"names": [
"-fcall-saved-x14"
],
"description": "Make the x14 register call-saved (AArch64 only)"
},
{
"names": [
"-fcall-saved-x15"
],
"description": "Make the x15 register call-saved (AArch64 only)"
},
{
"names": [
"-fcall-saved-x18"
],
"description": "Make the x18 register call-saved (AArch64 only)"
},
{
"names": [
"-fcall-saved-x8"
],
"description": "Make the x8 register call-saved (AArch64 only)"
},
{
"names": [
"-fcall-saved-x9"
],
"description": "Make the x9 register call-saved (AArch64 only)"
},
{
"names": [
"-fcaret-diagnostics"
]
},
{
"names": [
"-fcf-protection"
],
"description": "Enable cf-protection in 'full' mode",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fchar8_t"
],
"description": "Enable C++ builtin type char8_t"
},
{
"names": [
"-fclang-abi-compat"
],
"description": "Attempt to match the ABI of Clang <version>",
"takes_arg": true,
"arg": {
"name": "version",
"description": "Version"
}
},
{
"names": [
"-fcolor-diagnostics"
],
"description": "Enable colors in diagnostics"
},
{
"names": [
"-fcomment-block-commands"
],
"description": "Treat each comma separated argument in <arg> as a documentation comment block command",
"takes_arg": true,
"arg": {
"name": "arg",
"description": "Arg"
}
},
{
"names": [
"-fcommon"
],
"description": "Place uninitialized global variables in a common block"
},
{
"names": [
"-fcomplete-member-pointers"
],
"description": "Require member pointer base types to be complete if they would be significant under the Microsoft ABI"
},
{
"names": [
"-fconvergent-functions"
],
"description": "Assume functions may be convergent"
},
{
"names": [
"-fcoroutines-ts"
],
"description": "Enable support for the C++ Coroutines TS"
},
{
"names": [
"-fcoverage-mapping"
],
"description": "Generate coverage mapping to enable code coverage analysis"
},
{
"names": [
"-fcs-profile-generate"
],
"description": "Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-fcuda-approx-transcendentals"
],
"description": "Use approximate transcendental functions"
},
{
"names": [
"-fcuda-flush-denormals-to-zero"
],
"description": "Flush denormal floating point values to zero in CUDA device mode"
},
{
"names": [
"-fcuda-short-ptr"
],
"description": "Use 32-bit pointers for accessing const/local/shared address spaces"
},
{
"names": [
"-fcxx-exceptions"
],
"description": "Enable C++ exceptions"
},
{
"names": [
"-fdata-sections"
],
"description": "Place each data in its own section"
},
{
"names": [
"-fdebug-compilation-dir"
],
"description": "The compilation directory to embed in the debug info",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"template": "folders"
}
},
{
"names": [
"-fdebug-default-version"
],
"description": "Default DWARF version to use, if a -g option caused DWARF debug info to be produced",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fdebug-info-for-profiling"
],
"description": "Emit extra debug info to make sample profile more accurate"
},
{
"names": [
"-fdebug-macro"
],
"description": "Emit macro debug information"
},
{
"names": [
"-fdebug-prefix-map"
],
"description": "Remap file source paths in debug info",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fdebug-ranges-base-address"
],
"description": "Use DWARF base address selection entries in .debug_ranges"
},
{
"names": [
"-fdebug-types-section"
],
"description": "Place debug types in their own section (ELF Only)"
},
{
"names": [
"-fdeclspec"
],
"description": "Allow __declspec as a keyword"
},
{
"names": [
"-fdelayed-template-parsing"
],
"description": "Parse templated function definitions at the end of the translation unit"
},
{
"names": [
"-fdelete-null-pointer-checks"
],
"description": "Treat usage of null pointers as undefined behavior (default)"
},
{
"names": [
"-fdiagnostics-absolute-paths"
],
"description": "Print absolute paths in diagnostics"
},
{
"names": [
"-fdiagnostics-hotness-threshold"
],
"description": "Prevent optimization remarks from being output if they do not have at least this profile count",
"takes_arg": true,
"arg": {
"name": "number",
"description": "Number"
}
},
{
"names": [
"-fdiagnostics-parseable-fixits"
],
"description": "Print fix-its in machine parseable form"
},
{
"names": [
"-fdiagnostics-print-source-range-info"
],
"description": "Print source range spans in numeric form"
},
{
"names": [
"-fdiagnostics-show-hotness"
],
"description": "Enable profile hotness information in diagnostic line"
},
{
"names": [
"-fdiagnostics-show-note-include-stack"
],
"description": "Display include stacks for diagnostic notes"
},
{
"names": [
"-fdiagnostics-show-option"
],
"description": "Print option name with mappable diagnostics"
},
{
"names": [
"-fdiagnostics-show-template-tree"
],
"description": "Print a template comparison tree for differing templates"
},
{
"names": [
"-fdigraphs"
],
"description": "Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)"
},
{
"names": [
"-fdiscard-value-names"
],
"description": "Discard value names in LLVM IR"
},
{
"names": [
"-fdollars-in-identifiers"
],
"description": "Allow '$' in identifiers"
},
{
"names": [
"-fdouble-square-bracket-attributes"
],
"description": "Enable '[[]]' attributes in all C and C++ language modes"
},
{
"names": [
"-fdwarf-directory-asm"
]
},
{
"names": [
"-fdwarf-exceptions"
],
"description": "Use DWARF style exceptions"
},
{
"names": [
"-fembed-bitcode-marker"
],
"description": "Embed placeholder LLVM IR data as a marker"
},
{
"names": [
"-fembed-bitcode"
],
"description": "Embed LLVM bitcode (option: off, all, bitcode, marker)",
"takes_arg": true,
"arg": {
"name": "option",
"description": "Option"
}
},
{
"names": [
"-femit-all-decls"
],
"description": "Emit all declarations, even if unused"
},
{
"names": [
"-femulated-tls"
],
"description": "Use emutls functions to access thread_local variables"
},
{
"names": [
"-fenable-globaldse"
],
"description": "Enable experimental global dead store elimination"
},
{
"names": [
"-fenable-matrix"
],
"description": "Enable matrix data type and related builtin functions"
},
{
"names": [
"-fexceptions"
],
"description": "Enable support for exception handling"
},
{
"names": [
"-fexperimental-new-constant-interpreter"
],
"description": "Enable the experimental new constant interpreter"
},
{
"names": [
"-fexperimental-new-pass-manager"
],
"description": "Enables an experimental new pass manager in LLVM"
},
{
"names": [
"-fexperimental-relative-c++-abi-vtables"
],
"description": "Use the experimental C++ class ABI for classes with virtual tables"
},
{
"names": [
"-fexperimental-strict-floating-point"
],
"description": "Enables experimental strict floating point in LLVM"
},
{
"names": [
"-ffast-math"
],
"description": "Allow aggressive, lossy floating-point optimizations"
},
{
"names": [
"-ffile-prefix-map"
],
"description": "Remap file source paths in debug info and predefined preprocessor macros",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-ffine-grained-bitfield-accesses"
],
"description": "Use separate accesses for consecutive bitfield runs with legal widths and alignments"
},
{
"names": [
"-ffixed-point"
],
"description": "Enable fixed point types"
},
{
"names": [
"-ffixed-r19"
],
"description": "Reserve register r19 (Hexagon only)"
},
{
"names": [
"-ffixed-r9"
],
"description": "Reserve the r9 register (ARM only)"
},
{
"names": [
"-ffixed-x10"
],
"description": "Reserve the x10 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x11"
],
"description": "Reserve the x11 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x12"
],
"description": "Reserve the x12 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x13"
],
"description": "Reserve the x13 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x14"
],
"description": "Reserve the x14 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x15"
],
"description": "Reserve the x15 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x16"
],
"description": "Reserve the x16 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x17"
],
"description": "Reserve the x17 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x18"
],
"description": "Reserve the x18 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x19"
],
"description": "Reserve the x19 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x1"
],
"description": "Reserve the x1 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x20"
],
"description": "Reserve the x20 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x21"
],
"description": "Reserve the x21 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x22"
],
"description": "Reserve the x22 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x23"
],
"description": "Reserve the x23 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x24"
],
"description": "Reserve the x24 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x25"
],
"description": "Reserve the x25 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x26"
],
"description": "Reserve the x26 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x27"
],
"description": "Reserve the x27 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x28"
],
"description": "Reserve the x28 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x29"
],
"description": "Reserve the x29 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x2"
],
"description": "Reserve the x2 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x30"
],
"description": "Reserve the x30 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x31"
],
"description": "Reserve the x31 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x3"
],
"description": "Reserve the x3 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x4"
],
"description": "Reserve the x4 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x5"
],
"description": "Reserve the x5 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x6"
],
"description": "Reserve the x6 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x7"
],
"description": "Reserve the x7 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x8"
],
"description": "Reserve the x8 register (AArch64/RISC-V only)"
},
{
"names": [
"-ffixed-x9"
],
"description": "Reserve the x9 register (AArch64/RISC-V only)"
},
{
"names": [
"-fforce-dwarf-frame"
],
"description": "Always emit a debug frame section"
},
{
"names": [
"-fforce-emit-vtables"
],
"description": "Emits more virtual tables to improve devirtualization"
},
{
"names": [
"-fforce-enable-int128"
],
"description": "Enable support for int128_t type"
},
{
"names": [
"-ffp-contract"
],
"description": "Form fused FP ops (e.g. FMAs): fast (everywhere) | on (according to FP_CONTRACT pragma) | off (never fuse). Default is 'fast' for CUDA/HIP and 'on' otherwise",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"suggestions": [
"fast",
"on",
"off"
]
}
},
{
"names": [
"-ffp-exception-behavior"
],
"description": "Specifies the exception behavior of floating-point operations",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-ffp-model"
],
"description": "Controls the semantics of floating-point calculations",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-ffreestanding"
],
"description": "Assert that the compilation takes place in a freestanding environment"
},
{
"names": [
"-ffunction-sections"
],
"description": "Place each function in its own section"
},
{
"names": [
"-fglobal-isel"
],
"description": "Enables the global instruction selector"
},
{
"names": [
"-fgnu-inline-asm"
]
},
{
"names": [
"-fgnu-keywords"
],
"description": "Allow GNU-extension keywords regardless of language standard"
},
{
"names": [
"-fgnu-runtime"
],
"description": "Generate output compatible with the standard GNU Objective-C runtime"
},
{
"names": [
"-fgnu89-inline"
],
"description": "Use the gnu89 inline semantics"
},
{
"names": [
"-fgnuc-version"
],
"description": "Sets various macros to claim compatibility with the given GCC version",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fgpu-allow-device-init"
],
"description": "Allow"
},
{
"names": [
"-fgpu-rdc"
],
"description": "Generate relocatable device code, also known as separate compilation mode"
},
{
"names": [
"-fhip-new-launch-api"
],
"description": "Use new kernel launching API for HIP"
},
{
"names": [
"-fignore-exceptions"
],
"description": "Enable support for ignoring exception handling constructs"
},
{
"names": [
"-fimplicit-module-maps"
],
"description": "Implicitly search the file system for module map files"
},
{
"names": [
"-finline-functions"
],
"description": "Inline suitable functions"
},
{
"names": [
"-finline-hint-functions"
],
"description": "Inline"
},
{
"names": [
"-finstrument-function-entry-bare"
],
"description": "Instrument function entry only, after inlining, without arguments to the instrumentation call"
},
{
"names": [
"-finstrument-functions-after-inlining"
],
"description": "Like -finstrument-functions, but insert the calls after inlining"
},
{
"names": [
"-finstrument-functions"
],
"description": "Generate calls to instrument function entry and exit"
},
{
"names": [
"-fintegrated-as"
],
"description": "Enable the integrated assembler"
},
{
"names": [
"-fintegrated-cc1"
],
"description": "Run cc1 in-process"
},
{
"names": [
"-fjump-tables"
],
"description": "Use jump tables for lowering switches"
},
{
"names": [
"-fkeep-static-consts"
],
"description": "Keep static const variables if unused"
},
{
"names": [
"-flax-vector-conversions"
],
"description": "Enable implicit vector bit-casts",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-flto-jobs"
],
"description": "Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-flto"
],
"description": "Set LTO mode to either 'full' or 'thin'",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"suggestions": [
"full",
"thin"
]
}
},
{
"names": [
"-fmacro-prefix-map"
],
"description": "Remap file source paths in predefined preprocessor macros",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fmath-errno"
],
"description": "Require math functions to indicate errors by setting errno"
},
{
"names": [
"-fmax-tokens"
],
"description": "Max total number of preprocessed tokens for -Wmax-tokens",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fmax-type-align"
],
"description": "Specify the maximum alignment to enforce on pointers lacking an explicit alignment",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fmerge-all-constants"
],
"description": "Allow merging of constants"
},
{
"names": [
"-fmessage-length"
],
"description": "Format message diagnostics so that they fit within N columns",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fmodule-file"
],
"description": "Specify the mapping of module name to precompiled module file, or load a module file if name is omitted",
"takes_arg": true,
"arg": {
"name": "<name",
"description": "<name"
}
},
{
"names": [
"-fmodule-map-file"
],
"description": "Load this module map file",
"takes_arg": true,
"arg": {
"name": "file",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"-fmodule-name"
],
"description": "Specify the name of the module to build",
"takes_arg": true,
"arg": {
"name": "name",
"description": "Name"
}
},
{
"names": [
"-fmodules-cache-path"
],
"description": "Specify the module cache path",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-fmodules-decluse"
],
"description": "Require declaration of modules used within a module"
},
{
"names": [
"-fmodules-disable-diagnostic-validation"
],
"description": "Disable validation of the diagnostic options when loading the module"
},
{
"names": [
"-fmodules-ignore-macro"
],
"description": "Ignore the definition of the given macro when building and loading modules",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fmodules-prune-after"
],
"description": "Specify the interval (in seconds) after which a module file will be considered unused",
"takes_arg": true,
"arg": {
"name": "seconds",
"description": "Seconds"
}
},
{
"names": [
"-fmodules-prune-interval"
],
"description": "Specify the interval (in seconds) between attempts to prune the module cache",
"takes_arg": true,
"arg": {
"name": "seconds",
"description": "Seconds"
}
},
{
"names": [
"-fmodules-search-all"
],
"description": "Search even non-imported modules to resolve references"
},
{
"names": [
"-fmodules-strict-decluse"
],
"description": "Like -fmodules-decluse but requires all headers to be in modules"
},
{
"names": [
"-fmodules-ts"
],
"description": "Enable support for the C++ Modules TS"
},
{
"names": [
"-fmodules-user-build-path"
],
"description": "Specify the module user build path",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-fmodules-validate-input-files-content"
],
"description": "Validate PCM input files based on content if mtime differs"
},
{
"names": [
"-fmodules-validate-once-per-build-session"
],
"description": "Don't verify input files for the modules if the module has been successfully validated or loaded during this build session"
},
{
"names": [
"-fmodules-validate-system-headers"
],
"description": "Validate the system headers that a module depends on when loading the module"
},
{
"names": [
"-fmodules"
],
"description": "Enable the 'modules' language feature"
},
{
"names": [
"-fms-compatibility-version"
],
"description": "Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fms-compatibility"
],
"description": "Enable full Microsoft Visual C++ compatibility"
},
{
"names": [
"-fms-extensions"
],
"description": "Accept some non-standard constructs supported by the Microsoft compiler"
},
{
"names": [
"-fmsc-version"
],
"description": "Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fnew-alignment"
],
"description": "Specifies the largest alignment guaranteed by '::operator new(size_t)'",
"takes_arg": true,
"arg": {
"name": "align",
"description": "Align"
}
},
{
"names": [
"-fno-access-control"
]
},
{
"names": [
"-fno-addrsig"
],
"description": "Don't emit an address-significance table"
},
{
"names": [
"-fno-allow-editor-placeholders"
]
},
{
"names": [
"-fno-apinotes-modules"
],
"description": "Disable module-based external API notes support"
},
{
"names": [
"-fno-apinotes"
],
"description": "Disable external API notes support"
},
{
"names": [
"-fno-asm-blocks"
]
},
{
"names": [
"-fno-assume-sane-operator-new"
],
"description": "Don't assume that C++'s global operator new can't alias any pointer"
},
{
"names": [
"-fno-autolink"
],
"description": "Disable generation of linker directives for automatic library linking"
},
{
"names": [
"-fno-blocks"
]
},
{
"names": [
"-fno-builtin"
],
"description": "Disable implicit builtin knowledge of functions",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fno-c++-static-destructors"
],
"description": "Disable C++ static destructor registration"
},
{
"names": [
"-fno-caret-diagnostics"
]
},
{
"names": [
"-fno-char8_t"
],
"description": "Disable C++ builtin type char8_t"
},
{
"names": [
"-fno-color-diagnostics"
],
"description": "Disable colors in diagnostics"
},
{
"names": [
"-fno-common"
],
"description": "Compile common globals like normal definitions"
},
{
"names": [
"-fno-complete-member-pointers"
],
"description": "Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI"
},
{
"names": [
"-fno-constant-cfstrings"
],
"description": "Disable"
},
{
"names": [
"-fno-constant-nsarray-literals"
],
"description": "Disable creation of CodeFoundation-type constant initializer `NSArray`s from array literals"
},
{
"names": [
"-fno-constant-nsdictionary-literals"
],
"description": "Disable creation of CodeFoundation-type constant initializer `NSDictionary`s from dictionary literals"
},
{
"names": [
"-fno-constant-nsnumber-literals"
],
"description": "Disable creation of CodeFoundation-type constant initializer `NSNumber`s from number literals"
},
{
"names": [
"-fno-coroutines-ts"
]
},
{
"names": [
"-fno-coverage-mapping"
],
"description": "Disable code coverage analysis"
},
{
"names": [
"-fno-crash-diagnostics"
],
"description": "Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash"
},
{
"names": [
"-fno-cuda-approx-transcendentals"
],
"description": "Don't use approximate transcendental functions"
},
{
"names": [
"-fno-cuda-short-ptr"
]
},
{
"names": [
"-fno-cxx-exceptions"
]
},
{
"names": [
"-fno-data-sections"
]
},
{
"names": [
"-fno-debug-info-for-profiling"
]
},
{
"names": [
"-fno-debug-macro"
],
"description": "Do not emit macro debug information"
},
{
"names": [
"-fno-debug-ranges-base-address"
]
},
{
"names": [
"-fno-declspec"
],
"description": "Disallow __declspec as a keyword"
},
{
"names": [
"-fno-delayed-template-parsing"
],
"description": "Disable delayed template parsing"
},
{
"names": [
"-fno-delete-null-pointer-checks"
],
"description": "Do not treat usage of null pointers as undefined behavior"
},
{
"names": [
"-fno-diagnostics-fixit-info"
],
"description": "Do not include fixit information in diagnostics"
},
{
"names": [
"-fno-digraphs"
],
"description": "Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'"
},
{
"names": [
"-fno-discard-value-names"
],
"description": "Do not discard value names in LLVM IR"
},
{
"names": [
"-fno-dollars-in-identifiers"
],
"description": "Disallow '$' in identifiers"
},
{
"names": [
"-fno-double-square-bracket-attributes"
],
"description": "Disable '[[]]' attributes in all C and C++ language modes"
},
{
"names": [
"-fno-dwarf-directory-asm"
]
},
{
"names": [
"-fno-elide-constructors"
],
"description": "Disable"
},
{
"names": [
"-fno-elide-type"
],
"description": "Do not elide types when printing diagnostics"
},
{
"names": [
"-fno-exceptions"
],
"description": "Disable support for exception handling"
},
{
"names": [
"-fno-experimental-new-pass-manager"
],
"description": "Disables an experimental new pass manager in LLVM"
},
{
"names": [
"-fno-experimental-relative-c++-abi-vtables"
],
"description": "Do not use the experimental C++ class ABI for classes with virtual tables"
},
{
"names": [
"-fno-fast-math"
]
},
{
"names": [
"-fno-fine-grained-bitfield-accesses"
],
"description": "Use large-integer access for consecutive bitfield runs"
},
{
"names": [
"-fno-fixed-point"
],
"description": "Disable fixed point types"
},
{
"names": [
"-fno-force-dwarf-frame"
]
},
{
"names": [
"-fno-force-emit-vtables"
]
},
{
"names": [
"-fno-force-enable-int128"
],
"description": "Disable support for int128_t type"
},
{
"names": [
"-fno-function-sections"
]
},
{
"names": [
"-fno-global-isel"
],
"description": "Disables the global instruction selector"
},
{
"names": [
"-fno-gnu-inline-asm"
],
"description": "Disable GNU style inline asm"
},
{
"names": [
"-fno-gnu89-inline"
]
},
{
"names": [
"-fno-gpu-allow-device-init"
],
"description": "Don't allow device side init function in HIP"
},
{
"names": [
"-fno-gpu-rdc"
]
},
{
"names": [
"-fno-hip-new-launch-api"
],
"description": "Don't"
},
{
"names": [
"-fno-integrated-as"
],
"description": "Disable the integrated assembler"
},
{
"names": [
"-fno-integrated-cc1"
],
"description": "Spawn a separate process for each cc1"
},
{
"names": [
"-fno-jump-tables"
],
"description": "Do not use jump tables for lowering switches"
},
{
"names": [
"-fno-keep-static-consts"
],
"description": "Don't"
},
{
"names": [
"-fno-lto"
],
"description": "Disable LTO mode (default)"
},
{
"names": [
"-fno-math-errno"
]
},
{
"names": [
"-fno-merge-all-constants"
],
"description": "Disallow merging of constants"
},
{
"names": [
"-fno-no-access-control"
],
"description": "Disable C++ access control"
},
{
"names": [
"-fno-objc-infer-related-result-type"
],
"description": "Do not infer Objective-C related result type based on method family"
},
{
"names": [
"-fno-operator-names"
],
"description": "Do not treat C++ operator name keywords as synonyms for operators"
},
{
"names": [
"-fno-pch-codegen"
],
"description": "Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH"
},
{
"names": [
"-fno-pch-debuginfo"
],
"description": "Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere"
},
{
"names": [
"-fno-plt"
],
"description": "Use GOT indirection instead of PLT to make external function calls (x86 only)"
},
{
"names": [
"-fno-preserve-as-comments"
],
"description": "Do not preserve comments in inline assembly"
},
{
"names": [
"-fno-profile-generate"
],
"description": "Disable generation of profile instrumentation"
},
{
"names": [
"-fno-profile-instr-generate"
],
"description": "Disable generation of profile instrumentation"
},
{
"names": [
"-fno-profile-instr-use"
],
"description": "Disable using instrumentation data for profile-guided optimization"
},
{
"names": [
"-fno-ptrauth-abi-version"
],
"description": "Disable Pointer Authentication ABI versioning"
},
{
"names": [
"-fno-ptrauth-kernel-abi-version"
],
"description": "Disable Pointer Authentication kernel ABI versioning"
},
{
"names": [
"-fno-register-global-dtors-with-atexit"
],
"description": "Don't use atexit or __cxa_atexit to register global destructors"
},
{
"names": [
"-fno-reroll-loops"
]
},
{
"names": [
"-fno-rewrite-imports"
]
},
{
"names": [
"-fno-rewrite-includes"
]
},
{
"names": [
"-fno-ropi"
]
},
{
"names": [
"-fno-rtlib-add-rpath"
],
"description": "Do not add -rpath with architecture-specific resource directory to the linker flags"
},
{
"names": [
"-fno-rtti-data"
],
"description": "Disable generation of RTTI data"
},
{
"names": [
"-fno-rtti"
],
"description": "Disable generation of rtti information"
},
{
"names": [
"-fno-rwpi"
]
},
{
"names": [
"-fno-sanitize-address-poison-custom-array-cookie"
],
"description": "Disable poisoning array cookies when using custom operator new[] in AddressSanitizer"
},
{
"names": [
"-fno-sanitize-address-use-after-scope"
],
"description": "Disable use-after-scope detection in AddressSanitizer"
},
{
"names": [
"-fno-sanitize-address-use-odr-indicator"
],
"description": "Disable ODR indicator globals"
},
{
"names": [
"-fno-sanitize-blacklist"
],
"description": "Don't"
},
{
"names": [
"-fno-sanitize-cfi-canonical-jump-tables"
],
"description": "Do not make the jump table addresses canonical in the symbol table"
},
{
"names": [
"-fno-sanitize-cfi-cross-dso"
],
"description": "Disable control flow integrity (CFI) checks for cross-DSO calls"
},
{
"names": [
"-fno-sanitize-coverage"
],
"description": "Disable specified features of coverage instrumentation for Sanitizers",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fno-sanitize-memory-track-origins"
],
"description": "Disable origins tracking in MemorySanitizer"
},
{
"names": [
"-fno-sanitize-memory-use-after-dtor"
],
"description": "Disable use-after-destroy detection in MemorySanitizer"
},
{
"names": [
"-fno-sanitize-recover"
],
"description": "Disable recovery for specified sanitizers",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fno-sanitize-stats"
],
"description": "Disable sanitizer statistics gathering"
},
{
"names": [
"-fno-sanitize-thread-atomics"
],
"description": "Disable atomic operations instrumentation in ThreadSanitizer"
},
{
"names": [
"-fno-sanitize-thread-func-entry-exit"
],
"description": "Disable function entry/exit instrumentation in ThreadSanitizer"
},
{
"names": [
"-fno-sanitize-thread-memory-access"
],
"description": "Disable memory access instrumentation in ThreadSanitizer"
},
{
"names": [
"-fno-sanitize-trap"
],
"description": "Disable trapping for specified sanitizers",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fno-short-wchar"
],
"description": "Force wchar_t to be an unsigned int"
},
{
"names": [
"-fno-show-column"
],
"description": "Do not include column number on diagnostics"
},
{
"names": [
"-fno-show-source-location"
],
"description": "Do not include source location information with diagnostics"
},
{
"names": [
"-fno-signed-char"
],
"description": "Char is unsigned"
},
{
"names": [
"-fno-signed-zeros"
],
"description": "Allow optimizations that ignore the sign of floating point zeros"
},
{
"names": [
"-fno-spell-checking"
],
"description": "Disable spell-checking"
},
{
"names": [
"-fno-split-lto-unit"
]
},
{
"names": [
"-fno-stack-check"
],
"description": "Disable stack checking"
},
{
"names": [
"-fno-stack-clash-protection"
],
"description": "Disable stack clash protection"
},
{
"names": [
"-fno-stack-protector"
],
"description": "Disable the use of stack protectors"
},
{
"names": [
"-fno-stack-size-section"
]
},
{
"names": [
"-fno-standalone-debug"
],
"description": "Limit debug information produced to reduce size of debug binary"
},
{
"names": [
"-fno-strict-float-cast-overflow"
],
"description": "Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions"
},
{
"names": [
"-fno-strict-return"
],
"description": "Don't treat control flow paths that fall off the end of a non-void function as unreachable"
},
{
"names": [
"-fno-sycl"
],
"description": "Disable SYCL kernels compilation for device"
},
{
"names": [
"-fno-temp-file"
],
"description": "Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes"
},
{
"names": [
"-fno-threadsafe-statics"
],
"description": "Do"
},
{
"names": [
"-fno-trigraphs"
],
"description": "Do not process trigraph sequences"
},
{
"names": [
"-fno-unique-basic-block-section-names"
]
},
{
"names": [
"-fno-unique-internal-linkage-names"
]
},
{
"names": [
"-fno-unique-section-names"
],
"description": "Don't use unique names for text and data sections"
},
{
"names": [
"-fno-unroll-loops"
],
"description": "Turn off loop unroller"
},
{
"names": [
"-fno-use-cxa-atexit"
],
"description": "Don't use __cxa_atexit for calling destructors"
},
{
"names": [
"-fno-use-init-array"
],
"description": "Use .ctors/.dtors instead of .init_array/.fini_array"
},
{
"names": [
"-fno-use-line-directives"
]
},
{
"names": [
"-fno-virtual-function-elimination"
]
},
{
"names": [
"-fno-visibility-inlines-hidden-static-local-var"
],
"description": "Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)"
},
{
"names": [
"-fno-whole-program-vtables"
]
},
{
"names": [
"-fno-xray-always-emit-customevents"
]
},
{
"names": [
"-fno-xray-always-emit-typedevents"
]
},
{
"names": [
"-fno-xray-function-index"
],
"description": "Omit function index section at the expense of single-function patching performance"
},
{
"names": [
"-fno-xray-ignore-loops"
]
},
{
"names": [
"-fno-xray-instrument"
]
},
{
"names": [
"-fno-zero-initialized-in-bss"
],
"description": "Don't place zero initialized data in BSS"
},
{
"names": [
"-fno-zvector"
]
},
{
"names": [
"-fobjc-arc-exceptions"
],
"description": "Use EH-safe code when synthesizing retains and releases in -fobjc-arc"
},
{
"names": [
"-fobjc-arc"
],
"description": "Synthesize retain and release calls for Objective-C pointers"
},
{
"names": [
"-fobjc-exceptions"
],
"description": "Enable Objective-C exceptions"
},
{
"names": [
"-fobjc-relative-method-lists"
],
"description": "Enable relative method lists"
},
{
"names": [
"-fobjc-runtime"
],
"description": "Specify the target Objective-C runtime kind and version",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fobjc-weak"
],
"description": "Enable ARC-style weak references in Objective-C"
},
{
"names": [
"-fopenmp-simd"
],
"description": "Emit OpenMP code only for SIMD-based constructs"
},
{
"names": [
"-fopenmp-targets"
],
"description": "Specify comma-separated list of triples OpenMP offloading targets to be supported",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fopenmp"
],
"description": "Parse OpenMP pragmas and generate parallel code"
},
{
"names": [
"-foptimization-record-file"
],
"description": "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",
"takes_arg": true,
"arg": {
"name": "file",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"-foptimization-record-passes"
],
"description": "Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)",
"takes_arg": true,
"arg": {
"name": "regex",
"description": "Regex"
}
},
{
"names": [
"-forder-file-instrumentation"
],
"description": "Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)"
},
{
"names": [
"-fpack-struct"
],
"description": "Specify the default maximum struct packing alignment",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fpascal-strings"
],
"description": "Recognize and construct Pascal-style string literals"
},
{
"names": [
"-fpass-plugin"
],
"description": "Load pass plugin from a dynamic shared object file (only with new pass manager)",
"takes_arg": true,
"arg": {
"name": "dsopath",
"description": "Dsopath"
}
},
{
"names": [
"-fpatchable-function-entry"
],
"description": "Generate M NOPs before function entry and N-M NOPs after function entry",
"takes_arg": true,
"arg": {
"name": "N,M",
"description": "N,M"
}
},
{
"names": [
"-fpcc-struct-return"
],
"description": "Override the default ABI to return all structs on the stack"
},
{
"names": [
"-fpch-codegen"
],
"description": "Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH"
},
{
"names": [
"-fpch-debuginfo"
],
"description": "Generate debug info for types in an object file built from this PCH and do not generate them elsewhere"
},
{
"names": [
"-fpch-instantiate-templates"
],
"description": "Instantiate templates already while building a PCH"
},
{
"names": [
"-fpch-validate-input-files-content"
],
"description": "Validate PCH input files based on content if mtime differs"
},
{
"names": [
"-fplt"
]
},
{
"names": [
"-fplugin"
],
"description": "Load the named plugin (dynamic shared object)",
"takes_arg": true,
"arg": {
"name": "dsopath",
"description": "Dsopath"
}
},
{
"names": [
"-fprebuilt-module-path"
],
"description": "Specify the prebuilt module path",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-fpreserve-as-comments"
]
},
{
"names": [
"-fprofile-exclude-files"
],
"description": "Instrument only functions from files where names don't match all the regexes separated by a semi-colon",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fprofile-filter-files"
],
"description": "Instrument only functions from files where names match any regex separated by a semi-colon",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fprofile-generate"
],
"description": "Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-fprofile-instr-generate"
],
"description": "Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)",
"takes_arg": true,
"arg": {
"name": "file",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"-fprofile-instr-use"
],
"description": "Use instrumentation data for profile-guided optimization",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fprofile-remapping-file"
],
"description": "Use the remappings described in <file> to match the profile data against names in the program",
"takes_arg": true,
"arg": {
"name": "file",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"-fprofile-sample-accurate"
],
"description": "Specifies that the sample profile is accurate"
},
{
"names": [
"-fprofile-sample-use"
],
"description": "Enable sample-based profile guided optimizations",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fprofile-use"
],
"description": "Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>",
"takes_arg": true,
"arg": {
"name": "pathname",
"description": "Pathname"
}
},
{
"names": [
"-fptrauth-abi-version"
],
"description": "Pointer Authentication ABI version",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fptrauth-auth-traps"
],
"description": "Enable traps on authentication failures"
},
{
"names": [
"-fptrauth-block-descriptor-pointers"
],
"description": "Enable signing block descriptors"
},
{
"names": [
"-fptrauth-calls"
],
"description": "Enable signing and authentication of all indirect calls"
},
{
"names": [
"-fptrauth-function-pointer-type-discrimination"
],
"description": "Enabling type discrimination on C function pointers"
},
{
"names": [
"-fptrauth-indirect-gotos"
],
"description": "Enable signing and authentication of indirect goto targets"
},
{
"names": [
"-fptrauth-intrinsics"
],
"description": "Enable pointer-authentication intrinsics"
},
{
"names": [
"-fptrauth-kernel-abi-version"
],
"description": "Enable Pointer Authentication kernel ABI version"
},
{
"names": [
"-fptrauth-objc-isa-masking"
],
"description": "Pre- and post-authentication masking mode of objective-c isa pointers"
},
{
"names": [
"-fptrauth-objc-isa-mode"
],
"description": "Authentication mode for ObjC isa field. Full auth if unspecified",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fptrauth-objc-isa"
],
"description": "Enable signing and authentication of Objective-C object's 'isa' field"
},
{
"names": [
"-fptrauth-returns"
],
"description": "Enable signing and authentication of return addresses"
},
{
"names": [
"-fptrauth-soft"
],
"description": "Enable software lowering of pointer authentication"
},
{
"names": [
"-fptrauth-vtable-pointer-address-discrimination"
],
"description": "Enable address discrimination of vtable pointers"
},
{
"names": [
"-fptrauth-vtable-pointer-type-discrimination"
],
"description": "Enable type discrimination of vtable pointers"
},
{
"names": [
"-freciprocal-math"
],
"description": "Allow division operations to be reassociated"
},
{
"names": [
"-freg-struct-return"
],
"description": "Override the default ABI to return small structs in registers"
},
{
"names": [
"-fregister-global-dtors-with-atexit"
],
"description": "Use atexit or __cxa_atexit to register global destructors"
},
{
"names": [
"-frelaxed-template-template-args"
],
"description": "Enable C++17 relaxed template template argument matching"
},
{
"names": [
"-freroll-loops"
],
"description": "Turn on loop reroller"
},
{
"names": [
"-frewrite-imports"
]
},
{
"names": [
"-frewrite-includes"
]
},
{
"names": [
"-fropi"
],
"description": "Generate read-only position independent code (ARM only)"
},
{
"names": [
"-frtlib-add-rpath"
],
"description": "Add -rpath with architecture-specific resource directory to the linker flags"
},
{
"names": [
"-frtti-data"
]
},
{
"names": [
"-frtti"
]
},
{
"names": [
"-frwpi"
],
"description": "Generate read-write position independent code (ARM only)"
},
{
"names": [
"-fsanitize-address-field-padding"
],
"description": "Level of field padding for AddressSanitizer",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-address-globals-dead-stripping"
],
"description": "Enable linker dead stripping of globals in AddressSanitizer"
},
{
"names": [
"-fsanitize-address-poison-custom-array-cookie"
],
"description": "Enable poisoning array cookies when using custom operator new[] in AddressSanitizer"
},
{
"names": [
"-fsanitize-address-use-after-scope"
],
"description": "Enable use-after-scope detection in AddressSanitizer"
},
{
"names": [
"-fsanitize-address-use-odr-indicator"
],
"description": "Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size"
},
{
"names": [
"-fsanitize-blacklist"
],
"description": "Path to blacklist file for sanitizers",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-cfi-canonical-jump-tables"
],
"description": "Make the jump table addresses canonical in the symbol table"
},
{
"names": [
"-fsanitize-cfi-cross-dso"
],
"description": "Enable control flow integrity (CFI) checks for cross-DSO calls"
},
{
"names": [
"-fsanitize-cfi-icall-generalize-pointers"
],
"description": "Generalize pointers in CFI indirect call type signature checks"
},
{
"names": [
"-fsanitize-coverage-allowlist"
],
"description": "Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-coverage-blacklist"
],
"description": "Deprecated, use -fsanitize-coverage-blocklist= instead",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-coverage-blocklist"
],
"description": "Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-coverage-whitelist"
],
"description": "Deprecated, use -fsanitize-coverage-allowlist= instead",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-coverage"
],
"description": "Specify the type of coverage instrumentation for Sanitizers",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-hwaddress-abi"
],
"description": "Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-memory-track-origins"
],
"description": "Enable origins tracking in MemorySanitizer",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-memory-use-after-dtor"
],
"description": "Enable use-after-destroy detection in MemorySanitizer"
},
{
"names": [
"-fsanitize-recover"
],
"description": "Enable recovery for specified sanitizers",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-stats"
],
"description": "Enable sanitizer statistics gathering"
},
{
"names": [
"-fsanitize-system-blacklist"
],
"description": "Path to system blacklist file for sanitizers",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-thread-atomics"
],
"description": "Enable atomic operations instrumentation in ThreadSanitizer (default)"
},
{
"names": [
"-fsanitize-thread-func-entry-exit"
],
"description": "Enable function entry/exit instrumentation in ThreadSanitizer (default)"
},
{
"names": [
"-fsanitize-thread-memory-access"
],
"description": "Enable memory access instrumentation in ThreadSanitizer (default)"
},
{
"names": [
"-fsanitize-trap"
],
"description": "Enable trapping for sanitizers",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fsanitize-undefined-strip-path-components"
],
"description": "Strip (or keep only, if negative) a given number of path components when emitting check metadata",
"takes_arg": true,
"arg": {
"name": "number",
"description": "Number"
}
},
{
"names": [
"-fsanitize"
],
"description": "Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks",
"takes_arg": true,
"arg": {
"name": "check",
"description": "Check"
}
},
{
"names": [
"-fsave-optimization-record"
],
"description": "Generate an optimization record file in a specific format",
"takes_arg": true,
"arg": {
"name": "format",
"description": "Format"
}
},
{
"names": [
"-fseh-exceptions"
],
"description": "Use SEH style exceptions"
},
{
"names": [
"-fshort-enums"
],
"description": "Allocate to an enum type only as many bytes as it needs for the declared range of possible values"
},
{
"names": [
"-fshort-wchar"
],
"description": "Force wchar_t to be a short unsigned int"
},
{
"names": [
"-fshow-column"
]
},
{
"names": [
"-fshow-overloads"
],
"description": "Which overload candidates to show when overload resolution fails: best|all; defaults to all",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"suggestions": [
"best",
"all"
]
}
},
{
"names": [
"-fsigned-char"
],
"description": "Char is signed"
},
{
"names": [
"-fsized-deallocation"
],
"description": "Enable C++14 sized global deallocation functions"
},
{
"names": [
"-fsjlj-exceptions"
],
"description": "Use SjLj style exceptions"
},
{
"names": [
"-fslp-vectorize"
],
"description": "Enable the superword-level parallelism vectorization passes"
},
{
"names": [
"-fsmall-block-descriptors"
],
"description": "Enable small block descriptors"
},
{
"names": [
"-fsplit-dwarf-inlining"
],
"description": "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"
},
{
"names": [
"-fsplit-lto-unit"
],
"description": "Enables splitting of the LTO unit"
},
{
"names": [
"-fstack-check"
],
"description": "Enable stack checking"
},
{
"names": [
"-fstack-clash-protection"
],
"description": "Enable stack clash protection"
},
{
"names": [
"-fstack-protector-all"
],
"description": "Enable stack protectors for all functions"
},
{
"names": [
"-fstack-protector-strong"
],
"description": "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 ty"
},
{
"names": [
"-fstack-protector"
],
"description": "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 siz"
},
{
"names": [
"-fstack-size-section"
],
"description": "Emit section containing metadata on function stack sizes"
},
{
"names": [
"-fstandalone-debug"
],
"description": "Emit full debug info for all types used by the program"
},
{
"names": [
"-fstrict-enums"
],
"description": "Enable optimizations based on the strict definition of an enum's value range"
},
{
"names": [
"-fstrict-float-cast-overflow"
],
"description": "Assume that overflowing float-to-int casts are undefined (default)"
},
{
"names": [
"-fstrict-return"
]
},
{
"names": [
"-fstrict-vtable-pointers"
],
"description": "Enable optimizations based on the strict rules for overwriting polymorphic C++ objects"
},
{
"names": [
"-fsycl"
],
"description": "Enable SYCL kernels compilation for device"
},
{
"names": [
"-fsystem-module"
],
"description": "Build this module as a system module. Only used with -emit-module"
},
{
"names": [
"-ftarget-variant-availability-checks"
],
"description": "Enable availability checks for the target variant platform"
},
{
"names": [
"-fthin-link-bitcode"
],
"description": "Write minimized bitcode to <file> for the ThinLTO thin link only",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fthinlto-index"
],
"description": "Perform ThinLTO importing using provided function summary index",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-ftime-trace-granularity"
],
"description": "Minimum time granularity (in microseconds) traced by time profiler",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-ftime-trace"
],
"description": "Turn on time profiler. Generates JSON file based on output filename"
},
{
"names": [
"-ftrap-function"
],
"description": "Issue call to specified function rather than a trap instruction",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-ftrapv-handler"
],
"description": "Specify the function to be called on overflow",
"takes_arg": true,
"arg": {
"name": "function name",
"description": "Function name"
}
},
{
"names": [
"-ftrapv"
],
"description": "Trap on integer overflow"
},
{
"names": [
"-ftrigraphs"
],
"description": "Process trigraph sequences"
},
{
"names": [
"-ftrivial-auto-var-init-stop-after"
],
"description": "Stop initializing trivial automatic stack variables after the specified number of instances",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-ftrivial-auto-var-init"
],
"description": "Initialize trivial automatic stack variables",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"suggestions": [
"uninitialized",
"pattern"
]
}
},
{
"names": [
"-funique-basic-block-section-names"
],
"description": "Use unique names for basic block sections (ELF Only)"
},
{
"names": [
"-funique-internal-linkage-names"
],
"description": "Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path"
},
{
"names": [
"-funique-section-names"
]
},
{
"names": [
"-funroll-loops"
],
"description": "Turn on loop unroller"
},
{
"names": [
"-fuse-init-array"
]
},
{
"names": [
"-fuse-line-directives"
],
"description": "Use #line in preprocessed output"
},
{
"names": [
"-fvalidate-ast-input-files-content"
],
"description": "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"
},
{
"names": [
"-fveclib"
],
"description": "Use the given vector functions library",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fvectorize"
],
"description": "Enable the loop vectorization passes"
},
{
"names": [
"-fverbose-asm"
],
"description": "Generate verbose assembly output"
},
{
"names": [
"-fvirtual-function-elimination"
],
"description": "Enables dead virtual function elimination optimization. Requires -flto=full"
},
{
"names": [
"-fvisibility-global-new-delete-hidden"
],
"description": "Give global C++ operator new and delete declarations hidden visibility"
},
{
"names": [
"-fvisibility-inlines-hidden-static-local-var"
],
"description": "When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default"
},
{
"names": [
"-fvisibility-inlines-hidden"
],
"description": "Give inline C++ member functions hidden visibility by default"
},
{
"names": [
"-fvisibility-ms-compat"
],
"description": "Give global types 'default' visibility and global functions and variables 'hidden' visibility by default"
},
{
"names": [
"-fvisibility"
],
"description": "Set the default symbol visibility for all global declarations",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fwasm-exceptions"
],
"description": "Use WebAssembly style exceptions"
},
{
"names": [
"-fwhole-program-vtables"
],
"description": "Enables"
},
{
"names": [
"-fwrapv"
],
"description": "Treat signed integer overflow as two's complement"
},
{
"names": [
"-fwritable-strings"
],
"description": "Store string literals as writable data"
},
{
"names": [
"-fxray-always-emit-customevents"
],
"description": "Always emit __xray_customevent(...) calls even if the containing function is not always instrumented"
},
{
"names": [
"-fxray-always-emit-typedevents"
],
"description": "Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented"
},
{
"names": [
"-fxray-always-instrument"
],
"description": "DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fxray-attr-list"
],
"description": "Filename defining the list of functions/types for imbuing XRay attributes",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fxray-function-index"
]
},
{
"names": [
"-fxray-ignore-loops"
],
"description": "Don't instrument functions with loops unless they also meet the minimum function size"
},
{
"names": [
"-fxray-instruction-threshold"
],
"description": "Sets the minimum function size to instrument with XRay",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fxray-instrumentation-bundle"
],
"description": "Select which XRay instrumentation points to emit. 'function' includes both 'function-entry' and 'function-exit'",
"takes_arg": true,
"arg": {
"name": "fxray-instrumentation-bundle",
"suggestions": [
"all",
"none",
"function-entry",
"function-exit",
"function",
"custom"
]
}
},
{
"names": [
"-fxray-instrument"
],
"description": "Generate XRay instrumentation sleds on function entry and exit"
},
{
"names": [
"-fxray-link-deps"
],
"description": "Tells clang to add the link dependencies for XRay"
},
{
"names": [
"-fxray-modes"
],
"description": "List of modes to link in by default into XRay instrumented binaries",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fxray-never-instrument"
],
"description": "DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-fzero-initialized-in-bss"
]
},
{
"names": [
"-fzvector"
],
"description": "Enable System z vector language extension"
},
{
"names": [
"-F"
],
"description": "Add directory to framework include search path",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"--gcc-toolchain"
],
"description": "Use the gcc toolchain at the given directory",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-gcodeview-ghash"
],
"description": "Emit type record hashes in a .debug$H section"
},
{
"names": [
"-gcodeview"
],
"description": "Generate CodeView debug information"
},
{
"names": [
"-gdwarf-2"
],
"description": "Generate source-level debug information with dwarf version 2"
},
{
"names": [
"-gdwarf-3"
],
"description": "Generate source-level debug information with dwarf version 3"
},
{
"names": [
"-gdwarf-4"
],
"description": "Generate source-level debug information with dwarf version 4"
},
{
"names": [
"-gdwarf-5"
],
"description": "Generate source-level debug information with dwarf version 5"
},
{
"names": [
"-gdwarf"
],
"description": "Generate source-level debug information with the default dwarf version"
},
{
"names": [
"-gembed-source"
],
"description": "Embed source text in DWARF debug sections"
},
{
"names": [
"-gline-directives-only"
],
"description": "Emit debug line info directives only"
},
{
"names": [
"-gline-tables-only"
],
"description": "Emit debug line number tables only"
},
{
"names": [
"-gmodules"
],
"description": "Generate debug info with external references to clang modules or precompiled headers"
},
{
"names": [
"-gno-embed-source"
],
"description": "Restore the default behavior of not embedding source text in DWARF debug sections"
},
{
"names": [
"-gno-inline-line-tables"
],
"description": "Don't"
},
{
"names": [
"--gpu-max-threads-per-block"
],
"description": "Default max threads per block for kernel launch bounds for HIP",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-gsplit-dwarf"
],
"description": "Set DWARF fission mode to either 'split' or 'single'",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-gz"
],
"description": "DWARF debug sections compression type",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-G"
],
"description": "Put objects of at most <size> bytes into small data section (MIPS / Hexagon)",
"takes_arg": true,
"arg": {
"name": "size",
"description": "Size"
}
},
{
"names": [
"-g"
],
"description": "Generate source-level debug information"
},
{
"names": [
"--help-hidden"
],
"description": "Display help for hidden options"
},
{
"names": [
"-help"
],
"description": "Display available options"
},
{
"names": [
"--hip-device-lib"
],
"description": "HIP device library",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"--hip-link"
],
"description": "Link clang-offload-bundler bundles for HIP"
},
{
"names": [
"--hip-version"
],
"description": "HIP version in the format of major.minor.patch",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-H"
],
"description": "Show header includes and nesting depth"
},
{
"names": [
"-I-"
],
"description": "Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path"
},
{
"names": [
"-iapinotes-modules"
],
"description": "Add directory to the API notes search path referenced by module name",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-ibuiltininc"
],
"description": "Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it"
},
{
"names": [
"-idirafter"
],
"description": "Add directory to AFTER include search path",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-iframeworkwithsysroot"
],
"description": "Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-iframework"
],
"description": "Add directory to SYSTEM framework search path",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-imacros"
],
"description": "Include macros from file before parsing",
"takes_arg": true,
"arg": {
"name": "file",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"-include-pch"
],
"description": "Include precompiled header file",
"takes_arg": true,
"arg": {
"name": "file",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"-include"
],
"description": "Include file before parsing",
"takes_arg": true,
"arg": {
"name": "file",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"-index-header-map"
],
"description": "Make the next included directory (-I or -F) an indexer header map"
},
{
"names": [
"-index-ignore-system-symbols"
],
"description": "Ignore symbols from system headers"
},
{
"names": [
"-index-record-codegen-name"
],
"description": "Record the codegen name for symbols"
},
{
"names": [
"-index-store-path"
],
"description": "Enable indexing with the specified data store path",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-iprefix"
],
"description": "Set the -iwithprefix/-iwithprefixbefore prefix",
"takes_arg": true,
"arg": {
"name": "dir",
"description": "Dir",
"template": "folders"
}
},
{
"names": [
"-iquote"
],
"description": "Add directory to QUOTE include search path",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-isysroot"
],
"description": "Set the system root directory (usually /)",
"takes_arg": true,
"arg": {
"name": "dir",
"description": "Dir",
"template": "folders"
}
},
{
"names": [
"-isystem-after"
],
"description": "Add directory to end of the SYSTEM include search path",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-isystem"
],
"description": "Add directory to SYSTEM include search path",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-ivfsoverlay"
],
"description": "Overlay the virtual filesystem described by file over the real file system",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-iwithprefixbefore"
],
"description": "Set directory to include search path with prefix",
"takes_arg": true,
"arg": {
"name": "dir",
"description": "Dir",
"template": "folders"
}
},
{
"names": [
"-iwithprefix"
],
"description": "Set directory to SYSTEM include search path with prefix",
"takes_arg": true,
"arg": {
"name": "dir",
"description": "Dir",
"template": "folders"
}
},
{
"names": [
"-iwithsysroot"
],
"description": "Add directory to SYSTEM include search path, absolute paths are relative to -isysroot",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-I"
],
"description": "Add directory to include search path",
"takes_arg": true,
"arg": {
"name": "dir",
"description": "Dir",
"template": "folders"
}
},
{
"names": [
"--libomptarget-nvptx-path"
],
"description": "Path to libomptarget-nvptx libraries",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-L"
],
"description": "Add directory to library search path",
"takes_arg": true,
"arg": {
"name": "dir",
"description": "Dir",
"template": "folders"
}
},
{
"names": [
"-mabicalls"
],
"description": "Enable SVR4-style position-independent code (Mips only)"
},
{
"names": [
"-maix-struct-return"
],
"description": "Return all structs in memory (PPC32 only)"
},
{
"names": [
"-malign-branch-boundary"
],
"description": "Specify the boundary's size to align branches",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-malign-branch"
],
"description": "Specify types of branches to align",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-malign-double"
],
"description": "Align doubles to two words in structs (x86 only)"
},
{
"names": [
"-mbackchain"
],
"description": "Link stack frames through backchain on System Z"
},
{
"names": [
"-mbranch-protection"
],
"description": "Enforce targets of indirect branches and function returns",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mbranches-within-32B-boundaries"
],
"description": "Align selected branches (fused, jcc, jmp) within 32-byte boundary"
},
{
"names": [
"-mcmodel"
],
"description": "Equivalent to -mcmodel=medium, compatible with RISC-V gcc",
"takes_arg": true,
"arg": {
"name": "edan",
"description": "Edan"
}
},
{
"names": [
"-mcmse"
],
"description": "Allow use of CMSE (Armv8-M Security Extensions)"
},
{
"names": [
"-mcode-object-v3"
],
"description": "Enable code object v3 (AMDGPU only)"
},
{
"names": [
"-mcrc"
],
"description": "Allow use of CRC instructions (ARM/Mips only)"
},
{
"names": [
"-mcumode"
],
"description": "CU wavefront execution mode is used (AMDGPU only)"
},
{
"names": [
"-mdouble"
],
"description": "Force double to be 32 bits or 64 bits",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-MD"
],
"description": "Write a depfile containing user and system headers"
},
{
"names": [
"-meabi"
],
"description": "Set EABI type, e.g. 4, 5 or gnu (default depends on triple)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-membedded-data"
],
"description": "Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)"
},
{
"names": [
"-menable-experimental-extensions"
],
"description": "Enable use of experimental RISC-V extensions"
},
{
"names": [
"-mexec-model"
],
"description": "Execution model (WebAssembly only)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mexecute-only"
],
"description": "Disallow generation of data access to code sections (ARM only)"
},
{
"names": [
"-mextern-sdata"
],
"description": "Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)"
},
{
"names": [
"-mfentry"
],
"description": "Insert calls to fentry at function entry (x86/SystemZ only)"
},
{
"names": [
"-mfix-cortex-a53-835769"
],
"description": "Workaround"
},
{
"names": [
"-mfp32"
],
"description": "Use 32-bit floating point registers (MIPS only)"
},
{
"names": [
"-mfp64"
],
"description": "Use 64-bit floating point registers (MIPS only)"
},
{
"names": [
"-MF"
],
"description": "Write depfile output from -MMD, -MD, -MM, or -M to <file>",
"takes_arg": true,
"arg": {
"name": "file",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"-mgeneral-regs-only"
],
"description": "Generate code which only uses the general purpose registers (AArch64 only)"
},
{
"names": [
"-mglobal-merge"
],
"description": "Enable merging of globals"
},
{
"names": [
"-mgpopt"
],
"description": "Use GP relative accesses for symbols known to be in a small data section (MIPS)"
},
{
"names": [
"-MG"
],
"description": "Add missing headers to depfile"
},
{
"names": [
"-mharden-sls"
],
"description": "Select straight-line speculation hardening scope",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mhvx-length"
],
"description": "Set Hexagon Vector Length",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mhvx"
],
"description": "Enable Hexagon Vector eXtensions",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-miamcu"
],
"description": "Use Intel MCU ABI"
},
{
"names": [
"--migrate"
],
"description": "Run the migrator"
},
{
"names": [
"-mincremental-linker-compatible"
],
"description": "(integrated-as) Emit an object file which can be used with an incremental linker"
},
{
"names": [
"-mindirect-jump"
],
"description": "Change indirect jump instructions to inhibit speculation",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mios-version-min"
],
"description": "Set iOS deployment target",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-MJ"
],
"description": "Write a compilation database entry per input",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mllvm"
],
"description": "Additional arguments to forward to LLVM's option processing",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mlocal-sdata"
],
"description": "Extend the -G behaviour to object local data (MIPS)"
},
{
"names": [
"-mlong-calls"
],
"description": "Generate branches with extended addressability, usually via indirect jumps"
},
{
"names": [
"-mlong-double-128"
],
"description": "Force long double to be 128 bits"
},
{
"names": [
"-mlong-double-64"
],
"description": "Force long double to be 64 bits"
},
{
"names": [
"-mlong-double-80"
],
"description": "Force long double to be 80 bits, padded to 128 bits for storage"
},
{
"names": [
"-mlvi-cfi"
],
"description": "Enable only control-flow mitigations for Load Value Injection (LVI)"
},
{
"names": [
"-mlvi-hardening"
],
"description": "Enable all mitigations for Load Value Injection (LVI)"
},
{
"names": [
"-mmacosx-version-min"
],
"description": "Set Mac OS X deployment target",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mmadd4"
],
"description": "Enable the generation of 4-operand madd.s, madd.d and related instructions"
},
{
"names": [
"-MMD"
],
"description": "Write a depfile containing user headers"
},
{
"names": [
"-mmemops"
],
"description": "Enable generation of memop instructions"
},
{
"names": [
"-mms-bitfields"
],
"description": "Set the default structure layout to be compatible with the Microsoft compiler standard"
},
{
"names": [
"-mmsa"
],
"description": "Enable MSA ASE (MIPS only)"
},
{
"names": [
"-mmt"
],
"description": "Enable MT ASE (MIPS only)"
},
{
"names": [
"-MM"
],
"description": "Like -MMD, but also implies -E and writes to stdout by default"
},
{
"names": [
"-mno-abicalls"
],
"description": "Disable SVR4-style position-independent code (Mips only)"
},
{
"names": [
"-mno-code-object-v3"
],
"description": "Disable code object v3 (AMDGPU only)"
},
{
"names": [
"-mno-crc"
],
"description": "Disallow use of CRC instructions (Mips only)"
},
{
"names": [
"-mno-cumode"
],
"description": "WGP wavefront execution mode is used (AMDGPU only)"
},
{
"names": [
"-mno-embedded-data"
],
"description": "Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)"
},
{
"names": [
"-mno-execute-only"
],
"description": "Allow generation of data access to code sections (ARM only)"
},
{
"names": [
"-mno-extern-sdata"
],
"description": "Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)"
},
{
"names": [
"-mno-fix-cortex-a53-835769"
],
"description": "Don't workaround Cortex-A53 erratum 835769 (AArch64 only)"
},
{
"names": [
"-mno-global-merge"
],
"description": "Disable merging of globals"
},
{
"names": [
"-mno-gpopt"
],
"description": "Do not use GP relative accesses for symbols known to be in a small data section (MIPS)"
},
{
"names": [
"-mno-hvx"
],
"description": "Disable Hexagon Vector eXtensions"
},
{
"names": [
"-mno-implicit-float"
],
"description": "Don't generate implicit floating point instructions"
},
{
"names": [
"-mno-incremental-linker-compatible"
],
"description": "(integrated-as) Emit an object file which cannot be used with an incremental linker"
},
{
"names": [
"-mno-local-sdata"
],
"description": "Do not extend the -G behaviour to object local data (MIPS)"
},
{
"names": [
"-mno-long-calls"
],
"description": "Restore the default behaviour of not generating long calls"
},
{
"names": [
"-mno-lvi-cfi"
],
"description": "Disable control-flow mitigations for Load Value Injection (LVI)"
},
{
"names": [
"-mno-lvi-hardening"
],
"description": "Disable mitigations for Load Value Injection (LVI)"
},
{
"names": [
"-mno-madd4"
],
"description": "Disable the generation of 4-operand madd.s, madd.d and related instructions"
},
{
"names": [
"-mno-memops"
],
"description": "Disable generation of memop instructions"
},
{
"names": [
"-mno-movt"
],
"description": "Disallow use of movt/movw pairs (ARM only)"
},
{
"names": [
"-mno-ms-bitfields"
],
"description": "Do not set the default structure layout to be compatible with the Microsoft compiler standard"
},
{
"names": [
"-mno-msa"
],
"description": "Disable MSA ASE (MIPS only)"
},
{
"names": [
"-mno-mt"
],
"description": "Disable MT ASE (MIPS only)"
},
{
"names": [
"-mno-neg-immediates"
],
"description": "Disallow converting instructions with negative immediates to their negation or inversion"
},
{
"names": [
"-mno-nvj"
],
"description": "Disable generation of new-value jumps"
},
{
"names": [
"-mno-nvs"
],
"description": "Disable generation of new-value stores"
},
{
"names": [
"-mno-outline"
],
"description": "Disable function outlining (AArch64 only)"
},
{
"names": [
"-mno-packets"
],
"description": "Disable generation of instruction packets"
},
{
"names": [
"-mno-relax"
],
"description": "Disable linker relaxation"
},
{
"names": [
"-mno-restrict-it"
],
"description": "Allow generation of deprecated IT blocks for ARMv8. It is off by default for ARMv8 Thumb mode"
},
{
"names": [
"-mno-save-restore"
],
"description": "Disable using library calls for save and restore"
},
{
"names": [
"-mno-seses"
],
"description": "Disable speculative execution side effect suppression (SESES)"
},
{
"names": [
"-mno-sram-ecc"
],
"description": "Disable SRAM ECC (AMDGPU only)"
},
{
"names": [
"-mno-stack-arg-probe"
],
"description": "Disable stack probes which are enabled by default"
},
{
"names": [
"-mno-tls-direct-seg-refs"
],
"description": "Disable direct TLS access through segment registers"
},
{
"names": [
"-mno-unaligned-access"
],
"description": "Force all memory accesses to be aligned (AArch32/AArch64 only)"
},
{
"names": [
"-mno-wavefrontsize64"
],
"description": "Wavefront size 32 is used"
},
{
"names": [
"-mno-xnack"
],
"description": "Disable XNACK (AMDGPU only)"
},
{
"names": [
"-mnocrc"
],
"description": "Disallow use of CRC instructions (ARM only)"
},
{
"names": [
"-mnop-mcount"
],
"description": "Generate mcount/__fentry__ calls as nops. To activate they need to be patched in"
},
{
"names": [
"-mnvj"
],
"description": "Enable generation of new-value jumps"
},
{
"names": [
"-mnvs"
],
"description": "Enable generation of new-value stores"
},
{
"names": [
"-module-dependency-dir"
],
"description": "Directory to dump module dependencies to",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-module-file-info"
],
"description": "Provide information about a particular module file"
},
{
"names": [
"-momit-leaf-frame-pointer"
],
"description": "Omit frame pointer setup for leaf functions"
},
{
"names": [
"-moutline"
],
"description": "Enable function outlining (AArch64 only)"
},
{
"names": [
"-mpacked-stack"
],
"description": "Use packed stack layout (SystemZ only)"
},
{
"names": [
"-mpackets"
],
"description": "Enable generation of instruction packets"
},
{
"names": [
"-mpad-max-prefix-size"
],
"description": "Specify maximum number of prefixes to use for padding",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mpie-copy-relocations"
],
"description": "Use copy relocations support for PIE builds"
},
{
"names": [
"-mprefer-vector-width"
],
"description": "Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-MP"
],
"description": "Create phony target for each dependency (other than main file)"
},
{
"names": [
"-mqdsp6-compat"
],
"description": "Enable hexagon-qdsp6 backward compatibility"
},
{
"names": [
"-MQ"
],
"description": "Specify name of main file output to quote in depfile",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mrecord-mcount"
],
"description": "Generate a __mcount_loc section entry for each __fentry__ call"
},
{
"names": [
"-mrelax-all"
],
"description": "(integrated-as) Relax all machine instructions"
},
{
"names": [
"-mrelax"
],
"description": "Enable linker relaxation"
},
{
"names": [
"-mrestrict-it"
],
"description": "Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode"
},
{
"names": [
"-mrtd"
],
"description": "Make StdCall calling convention the default"
},
{
"names": [
"-msave-restore"
],
"description": "Enable using library calls for save and restore"
},
{
"names": [
"-mseses"
],
"description": "Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations"
},
{
"names": [
"-msign-return-address"
],
"description": "Select return address signing scope",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-msmall-data-limit"
],
"description": "Put global and static data smaller than the limit into a special section",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-msoft-float"
],
"description": "Use software floating point"
},
{
"names": [
"-msram-ecc"
],
"description": "Enable SRAM ECC (AMDGPU only)"
},
{
"names": [
"-mstack-alignment"
],
"description": "Set the stack alignment",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mstack-arg-probe"
],
"description": "Enable stack probes"
},
{
"names": [
"-mstack-probe-size"
],
"description": "Set the stack probe size",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mstackrealign"
],
"description": "Force realign the stack at entry to every function"
},
{
"names": [
"-msvr4-struct-return"
],
"description": "Return small structs in registers (PPC32 only)"
},
{
"names": [
"-mthread-model"
],
"description": "The thread model to use, e.g. posix, single (posix by default)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mtls-direct-seg-refs"
],
"description": "Enable direct TLS access through segment registers (default)"
},
{
"names": [
"-mtls-size"
],
"description": "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)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"suggestions": [
"12",
"24",
"32",
"48"
]
}
},
{
"names": [
"-mtp"
],
"description": "Thread pointer access method (AArch32/AArch64 only)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-mtune"
],
"description": "Accepted for compatibility with GCC. Currently has no effect",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-MT"
],
"description": "Specify name of main file output in depfile",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-munaligned-access"
],
"description": "Allow memory accesses to be unaligned (AArch32/AArch64 only)"
},
{
"names": [
"-MV"
],
"description": "Use NMake/Jom format for the depfile"
},
{
"names": [
"-mwavefrontsize64"
],
"description": "Wavefront size 64 is used"
},
{
"names": [
"-mxnack"
],
"description": "Enable XNACK (AMDGPU only)"
},
{
"names": [
"-M"
],
"description": "Like -MD, but also implies -E and writes to stdout by default"
},
{
"names": [
"--no-cuda-include-ptx"
],
"description": "Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"is_variadic": true
}
},
{
"names": [
"--no-cuda-version-check"
],
"description": "Don't"
},
{
"names": [
"--no-offload-arch"
],
"description": "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",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"--no-system-header-prefix"
],
"description": "Treat all #include paths starting with <prefix> as not including a system header",
"takes_arg": true,
"arg": {
"name": "prefix",
"description": "Prefix"
}
},
{
"names": [
"-nobuiltininc"
],
"description": "Disable builtin #include directories"
},
{
"names": [
"-nogpulib"
],
"description": "Do not link device library for CUDA/HIP device compilation"
},
{
"names": [
"-nostdinc++"
],
"description": "Disable standard #include directories for the C++ standard library"
},
{
"names": [
"-ObjC++"
],
"description": "Treat source input files as Objective-C++ inputs"
},
{
"names": [
"-objcmt-atomic-property"
],
"description": "Make"
},
{
"names": [
"-objcmt-migrate-all"
],
"description": "Enable migration to modern ObjC"
},
{
"names": [
"-objcmt-migrate-annotation"
],
"description": "Enable migration to property and method annotations"
},
{
"names": [
"-objcmt-migrate-designated-init"
],
"description": "Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods"
},
{
"names": [
"-objcmt-migrate-instancetype"
],
"description": "Enable migration to infer instancetype for method result type"
},
{
"names": [
"-objcmt-migrate-literals"
],
"description": "Enable migration to modern ObjC literals"
},
{
"names": [
"-objcmt-migrate-ns-macros"
],
"description": "Enable migration to NS_ENUM/NS_OPTIONS macros"
},
{
"names": [
"-objcmt-migrate-property-dot-syntax"
],
"description": "Enable migration of setter/getter messages to property-dot syntax"
},
{
"names": [
"-objcmt-migrate-property"
],
"description": "Enable migration to modern ObjC property"
},
{
"names": [
"-objcmt-migrate-protocol-conformance"
],
"description": "Enable migration to add protocol conformance on classes"
},
{
"names": [
"-objcmt-migrate-readonly-property"
],
"description": "Enable migration to modern ObjC readonly property"
},
{
"names": [
"-objcmt-migrate-readwrite-property"
],
"description": "Enable migration to modern ObjC readwrite property"
},
{
"names": [
"-objcmt-migrate-subscripting"
],
"description": "Enable migration to modern ObjC subscripting"
},
{
"names": [
"-objcmt-ns-nonatomic-iosonly"
],
"description": "Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute"
},
{
"names": [
"-objcmt-returns-innerpointer-property"
],
"description": "Enable migration to annotate property with NS_RETURNS_INNER_POINTER"
},
{
"names": [
"-objcmt-whitelist-dir-path"
],
"description": "Only modify files with a filename contained in the provided directory path",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-ObjC"
],
"description": "Treat source input files as Objective-C inputs"
},
{
"names": [
"-o"
],
"description": "Write output to <file>",
"takes_arg": true,
"arg": {
"name": "file",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"-pg"
],
"description": "Enable mcount instrumentation"
},
{
"names": [
"-pipe"
],
"description": "Use pipes between commands, when possible"
},
{
"names": [
"--precompile"
],
"description": "Only precompile the input"
},
{
"names": [
"-print-effective-triple"
],
"description": "Print"
},
{
"names": [
"-print-file-name"
],
"description": "Print the full library path",
"takes_arg": true,
"arg": {
"name": "file",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"-print-ivar-layout"
],
"description": "Enable Objective-C Ivar layout bitmap print trace"
},
{
"names": [
"-print-libgcc-file-name"
],
"description": "Print"
},
{
"names": [
"-print-prog-name"
],
"description": "Print the full program path of <name>",
"takes_arg": true,
"arg": {
"name": "name",
"description": "Name"
}
},
{
"names": [
"-print-resource-dir"
],
"description": "Print the resource directory pathname"
},
{
"names": [
"-print-search-dirs"
],
"description": "Print the paths used for finding libraries and programs"
},
{
"names": [
"-print-supported-cpus"
],
"description": "Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)"
},
{
"names": [
"-print-target-triple"
],
"description": "Print the normalized target triple"
},
{
"names": [
"-print-targets"
],
"description": "Print the registered targets"
},
{
"names": [
"-pthread"
],
"description": "Support POSIX threads in generated code"
},
{
"names": [
"--ptxas-path"
],
"description": "Path to ptxas (used for compiling CUDA code)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-P"
],
"description": "Disable linemarker output in -E mode"
},
{
"names": [
"-Qn"
],
"description": "Do not emit metadata containing compiler name and version"
},
{
"names": [
"-Qunused-arguments"
],
"description": "Don't emit warning for unused driver arguments"
},
{
"names": [
"-Qy"
],
"description": "Emit metadata containing compiler name and version"
},
{
"names": [
"-relocatable-pch"
],
"description": "Whether to build a relocatable precompiled header"
},
{
"names": [
"-rewrite-legacy-objc"
],
"description": "Rewrite Legacy Objective-C source to C++"
},
{
"names": [
"-rewrite-objc"
],
"description": "Rewrite Objective-C source to C++"
},
{
"names": [
"--rocm-device-lib-path"
],
"description": "ROCm device library path. Alternative to rocm-path",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"--rocm-path"
],
"description": "ROCm installation path, used for finding and automatically linking required bitcode libraries",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-Rpass-analysis"
],
"description": "Report transformation analysis from optimization passes whose name matches the given POSIX regular expression",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-Rpass-missed"
],
"description": "Report missed transformations by optimization passes whose name matches the given POSIX regular expression",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-Rpass"
],
"description": "Report transformations performed by optimization passes whose name matches the given POSIX regular expression",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-rtlib"
],
"description": "Compiler runtime library to use",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-R"
],
"description": "Enable the specified remark",
"takes_arg": true,
"arg": {
"name": "remark",
"description": "Remark"
}
},
{
"names": [
"-save-stats"
],
"description": "Save llvm statistics",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-save-temps"
],
"description": "Save intermediate compilation results",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-serialize-diagnostics"
],
"description": "Serialize compiler diagnostics to a file",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-shared-libsan"
],
"description": "Dynamically link the sanitizer runtime"
},
{
"names": [
"-static-libsan"
],
"description": "Statically link the sanitizer runtime"
},
{
"names": [
"-static-openmp"
],
"description": "Use the static host OpenMP runtime while linking"
},
{
"names": [
"-stdlib++-isystem"
],
"description": "Use directory as the C++ standard library include path",
"takes_arg": true,
"arg": {
"name": "directory",
"description": "Directory",
"template": "folders"
}
},
{
"names": [
"-stdlib"
],
"description": "C++ standard library to use",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-sycl-std"
],
"description": "SYCL language standard to compile for",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"--system-header-prefix"
],
"description": "Treat all #include paths starting with <prefix> as including a system header",
"takes_arg": true,
"arg": {
"name": "prefix",
"description": "Prefix"
}
},
{
"names": [
"-S"
],
"description": "Only run preprocess and compilation steps"
},
{
"names": [
"-target-variant"
],
"description": "Generate code that may run on a particular variant of the deployment target",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"--target"
],
"description": "Generate code for the given target",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-Tbss"
],
"description": "Set starting address of BSS to <addr>",
"takes_arg": true,
"arg": {
"name": "addr",
"description": "Addr"
}
},
{
"names": [
"-Tdata"
],
"description": "Set starting address of DATA to <addr>",
"takes_arg": true,
"arg": {
"name": "addr",
"description": "Addr"
}
},
{
"names": [
"-time"
],
"description": "Time individual commands"
},
{
"names": [
"-traditional-cpp"
],
"description": "Enable some traditional CPP emulation"
},
{
"names": [
"-trigraphs"
],
"description": "Process trigraph sequences"
},
{
"names": [
"-Ttext"
],
"description": "Set starting address of TEXT to <addr>",
"takes_arg": true,
"arg": {
"name": "addr",
"description": "Addr"
}
},
{
"names": [
"-T"
],
"description": "Specify <script> as linker script",
"takes_arg": true,
"arg": {
"name": "script",
"description": "Script"
}
},
{
"names": [
"-undef"
],
"description": "Undef all system defines"
},
{
"names": [
"-unwindlib"
],
"description": "Unwind library to use",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value"
}
},
{
"names": [
"-U"
],
"description": "Undefine macro <macro>",
"takes_arg": true,
"arg": {
"name": "macro",
"description": "Macro"
}
},
{
"names": [
"--verify-debug-info"
],
"description": "Verify the binary representation of debug output"
},
{
"names": [
"-verify-pch"
],
"description": "Load and verify that a pre-compiled header file is not stale"
},
{
"names": [
"--version"
],
"description": "Print version information"
},
{
"names": [
"-v"
],
"description": "Show commands to run and use verbose output"
},
{
"names": [
"-Wdeprecated"
],
"description": "Enable warnings for deprecated constructs and define __DEPRECATED"
},
{
"names": [
"-working-directory"
],
"description": "Resolve file paths relative to the specified directory",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Value",
"is_variadic": true
}
},
{
"names": [
"-w"
],
"description": "Suppress all warnings"
},
{
"names": [
"-Xanalyzer"
],
"description": "Pass <arg> to the static analyzer",
"takes_arg": true,
"arg": {
"name": "arg",
"description": "Arg"
}
},
{
"names": [
"-Xarch_device"
],
"description": "Pass <arg> to the CUDA/HIP device compilation",
"takes_arg": true,
"arg": {
"name": "arg",
"description": "Arg"
}
},
{
"names": [
"-Xarch_host"
],
"description": "Pass <arg> to the CUDA/HIP host compilation",
"takes_arg": true,
"arg": {
"name": "arg",
"description": "Arg"
}
},
{
"names": [
"-Xassembler"
],
"description": "Pass <arg> to the assembler",
"takes_arg": true,
"arg": {
"name": "arg",
"description": "Arg"
}
},
{
"names": [
"-Xclang"
],
"description": "Pass <arg> to the clang compiler",
"takes_arg": true,
"arg": {
"name": "arg",
"description": "Arg"
}
},
{
"names": [
"-Xcuda-fatbinary"
],
"description": "Pass <arg> to fatbinary invocation",
"takes_arg": true,
"arg": {
"name": "arg",
"description": "Arg"
}
},
{
"names": [
"-Xcuda-ptxas"
],
"description": "Pass <arg> to the ptxas assembler",
"takes_arg": true,
"arg": {
"name": "arg",
"description": "Arg"
}
},
{
"names": [
"-Xlinker"
],
"description": "Pass <arg> to the linker",
"takes_arg": true,
"arg": {
"name": "arg",
"description": "Arg"
}
},
{
"names": [
"-Xopenmp-target"
],
"description": "Pass <arg> to the target offloading toolchain identified by <triple>",
"takes_arg": true,
"arg": {
"name": "triple",
"description": "Triple"
}
},
{
"names": [
"-Xpreprocessor"
],
"description": "Pass <arg> to the preprocessor",
"takes_arg": true,
"arg": {
"name": "arg",
"description": "Arg"
}
},
{
"names": [
"-x"
],
"description": "Treat subsequent input files as having type <language>",
"takes_arg": true,
"arg": {
"name": "language",
"description": "Language"
}
},
{
"names": [
"-z"
],
"description": "Pass -z <arg> to the linker",
"takes_arg": true,
"arg": {
"name": "arg",
"description": "Arg"
}
},
{
"names": [
"-std"
],
"description": "Language standard to compile for",
"takes_arg": true,
"arg": {
"name": "value",
"suggestions": [
"c++98",
"gnu++98",
"c++11",
"gnu++11",
"c++14",
"gnu++14",
"c++17",
"gnu++17",
"c++20",
"gnu++20",
"c++2b",
"gnu++2b"
]
}
}
]
}