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