| .. |
| ------------------------------------------------------------------- |
| NOTE: This file is automatically generated by running clang-tblgen |
| -gen-opt-docs. Do not edit this file by hand!! |
| ------------------------------------------------------------------- |
| |
| ===================================== |
| Clang command line argument reference |
| ===================================== |
| .. contents:: |
| :local: |
| |
| Introduction |
| ============ |
| |
| This page lists the command line arguments currently supported by the |
| GCC-compatible ``clang`` and ``clang++`` drivers. |
| |
| |
| .. program:: clang |
| .. option:: -B<prefix>, --prefix <arg>, --prefix=<arg> |
| |
| 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 |
| |
| .. option:: -F<arg> |
| |
| Add directory to framework include search path |
| |
| .. option:: -ObjC |
| |
| Treat source input files as Objective-C inputs |
| |
| .. program:: clang1 |
| .. option:: -ObjC++ |
| .. program:: clang |
| |
| Treat source input files as Objective-C++ inputs |
| |
| .. option:: -Qn, -fno-ident |
| |
| Do not emit metadata containing compiler name and version |
| |
| .. option:: -Qunused-arguments |
| |
| Don't emit warning for unused driver arguments |
| |
| .. option:: -Qy, -fident |
| |
| Emit metadata containing compiler name and version |
| |
| .. option:: -Wa,<arg>,<arg2>... |
| |
| Pass the comma separated arguments in <arg> to the assembler |
| |
| .. option:: -Wlarge-by-value-copy=<arg> |
| |
| .. option:: -Xarch\_<arg1> <arg2> |
| |
| .. program:: clang1 |
| .. option:: -Xarch\_device <arg> |
| .. program:: clang |
| |
| Pass <arg> to the CUDA/HIP device compilation |
| |
| .. program:: clang2 |
| .. option:: -Xarch\_host <arg> |
| .. program:: clang |
| |
| Pass <arg> to the CUDA/HIP host compilation |
| |
| .. option:: -Xcuda-fatbinary <arg> |
| |
| Pass <arg> to fatbinary invocation |
| |
| .. option:: -Xcuda-ptxas <arg> |
| |
| Pass <arg> to the ptxas assembler |
| |
| .. option:: -Xopenmp-target <arg> |
| |
| Pass <arg> to the target offloading toolchain. |
| |
| .. program:: clang1 |
| .. option:: -Xopenmp-target=<triple> <arg> |
| .. program:: clang |
| |
| Pass <arg> to the target offloading toolchain identified by <triple>. |
| |
| .. option:: -Z<arg> |
| |
| .. option:: -a<arg>, --profile-blocks |
| |
| .. option:: -all\_load |
| |
| .. option:: -allowable\_client <arg> |
| |
| .. option:: --analyze |
| |
| Run the static analyzer |
| |
| .. option:: --analyzer-no-default-checks |
| |
| .. option:: --analyzer-output<arg> |
| |
| Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|sarif\|sarif-html\|text). |
| |
| .. option:: -arch <arg> |
| |
| .. program:: clang1 |
| .. option:: -arch\_errors\_fatal |
| .. program:: clang |
| |
| .. program:: clang2 |
| .. option:: -arch\_only <arg> |
| .. program:: clang |
| |
| .. option:: -arcmt-migrate-emit-errors |
| |
| Emit ARC errors even if the migrator can fix them |
| |
| .. option:: -arcmt-migrate-report-output <arg> |
| |
| Output path for the plist report |
| |
| .. option:: --autocomplete=<arg> |
| |
| .. option:: -bind\_at\_load |
| |
| .. option:: -bundle |
| |
| .. program:: clang1 |
| .. option:: -bundle\_loader <arg> |
| .. program:: clang |
| |
| .. option:: -client\_name<arg> |
| |
| .. option:: -compatibility\_version<arg> |
| |
| .. option:: --config <arg> |
| |
| Specifies configuration file |
| |
| .. option:: --constant-cfstrings |
| |
| .. option:: --cuda-compile-host-device |
| |
| Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations. |
| |
| .. option:: --cuda-device-only |
| |
| Compile CUDA code for device only |
| |
| .. option:: --cuda-host-only |
| |
| Compile CUDA code for host only. Has no effect on non-CUDA compilations. |
| |
| .. option:: --cuda-include-ptx=<arg>, --no-cuda-include-ptx=<arg> |
| |
| Include PTX for the following GPU architecture (e.g. sm\_35) or 'all'. May be specified more than once. |
| |
| .. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug |
| |
| Enable device-side debug info generation. Disables ptxas optimizations. |
| |
| .. option:: -cuid=<arg> |
| |
| 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. |
| |
| .. option:: -current\_version<arg> |
| |
| .. option:: -dead\_strip |
| |
| .. option:: -dependency-dot <arg> |
| |
| Filename to write DOT-formatted header dependencies to |
| |
| .. option:: -dependency-file <arg> |
| |
| Filename (or -) to write dependency output to |
| |
| .. option:: -dsym-dir<dir> |
| |
| Directory to output dSYM's (if any) to |
| |
| .. option:: -dumpmachine |
| |
| .. option:: -dumpversion |
| |
| .. option:: --dyld-prefix=<arg>, --dyld-prefix <arg> |
| |
| .. option:: -dylib\_file <arg> |
| |
| .. option:: -dylinker |
| |
| .. program:: clang1 |
| .. option:: -dylinker\_install\_name<arg> |
| .. program:: clang |
| |
| .. option:: -dynamic |
| |
| .. option:: -dynamiclib |
| |
| .. option:: -emit-ast |
| |
| Emit Clang AST files for source inputs |
| |
| .. option:: --emit-static-lib |
| |
| Enable linker job to emit a static library. |
| |
| .. option:: -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang |
| |
| Trivial automatic variable initialization to zero is only here for benchmarks, it'll eventually be removed, and I'm OK with that because I'm only using it to benchmark |
| |
| .. option:: -exported\_symbols\_list <arg> |
| |
| .. option:: -faligned-new=<arg> |
| |
| .. option:: -ffixed-r19 |
| |
| Reserve register r19 (Hexagon only) |
| |
| .. option:: -fgpu-flush-denormals-to-zero, -fcuda-flush-denormals-to-zero, -fno-gpu-flush-denormals-to-zero |
| |
| Flush denormal floating point values to zero in CUDA/HIP device mode. |
| |
| .. option:: -fheinous-gnu-extensions |
| |
| .. option:: -flat\_namespace |
| |
| .. option:: -fopenmp-targets=<arg1>,<arg2>... |
| |
| Specify comma-separated list of triples OpenMP offloading targets to be supported |
| |
| .. option:: -force\_cpusubtype\_ALL |
| |
| .. program:: clang1 |
| .. option:: -force\_flat\_namespace |
| .. program:: clang |
| |
| .. program:: clang2 |
| .. option:: -force\_load <arg> |
| .. program:: clang |
| |
| .. option:: -framework <arg> |
| |
| .. option:: -frtlib-add-rpath, -fno-rtlib-add-rpath |
| |
| Add -rpath with architecture-specific resource directory to the linker flags |
| |
| .. option:: -fsanitize-system-ignorelist=<arg>, -fsanitize-system-blacklist=<arg> |
| |
| Path to system ignorelist file for sanitizers |
| |
| .. option:: -fshow-skipped-includes |
| |
| #include files may be "skipped" due to include guard optimization |
| or #pragma once. This flag makes -H show also such includes. |
| |
| .. option:: -fsystem-module |
| |
| Build this module as a system module. Only used with -emit-module |
| |
| .. option:: -fuse-cuid=<arg> |
| |
| Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) \| 'random' (ID's generated as random numbers) \| 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=\[ID\]' if it is specified. |
| |
| .. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg> |
| |
| 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 |
| |
| .. option:: -gcodeview |
| |
| Generate CodeView debug information |
| |
| .. option:: -gcodeview-ghash, -gno-codeview-ghash |
| |
| Emit type record hashes in a .debug$H section |
| |
| .. option:: --gpu-instrument-lib=<arg> |
| |
| Instrument device library for HIP, which is a LLVM bitcode containing \_\_cyg\_profile\_func\_enter and \_\_cyg\_profile\_func\_exit |
| |
| .. option:: --gpu-max-threads-per-block=<arg> |
| |
| Default max threads per block for kernel launch bounds for HIP |
| |
| .. option:: -headerpad\_max\_install\_names<arg> |
| |
| .. option:: -help, --help |
| |
| Display available options |
| |
| .. option:: --help-hidden |
| |
| Display help for hidden options |
| |
| .. option:: --hip-link |
| |
| Link clang-offload-bundler bundles for HIP |
| |
| .. option:: --hip-version=<arg> |
| |
| HIP version in the format of major.minor.patch |
| |
| .. option:: -ibuiltininc |
| |
| Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it |
| |
| .. option:: -image\_base <arg> |
| |
| .. option:: -index-header-map |
| |
| Make the next included directory (-I or -F) an indexer header map |
| |
| .. option:: -init <arg> |
| |
| .. option:: -install\_name <arg> |
| |
| .. option:: -interface-stub-version=<arg> |
| |
| .. option:: -keep\_private\_externs |
| |
| .. option:: -lazy\_framework <arg> |
| |
| .. program:: clang1 |
| .. option:: -lazy\_library <arg> |
| .. program:: clang |
| |
| .. option:: -mbig-endian, -EB |
| |
| .. option:: -mbranch-protection=<arg> |
| |
| Enforce targets of indirect branches and function returns |
| |
| .. option:: -menable-unsafe-fp-math |
| |
| Allow unsafe floating-point math optimizations which may decrease precision |
| |
| .. option:: -mharden-sls=<arg> |
| |
| Select straight-line speculation hardening scope |
| |
| .. option:: --migrate |
| |
| Run the migrator |
| |
| .. option:: -mios-simulator-version-min=<arg>, -miphonesimulator-version-min=<arg> |
| |
| .. option:: -mlinker-version=<arg> |
| |
| .. option:: -mlittle-endian, -EL |
| |
| .. option:: -mllvm <arg> |
| |
| Additional arguments to forward to LLVM's option processing |
| |
| .. option:: -module-dependency-dir <arg> |
| |
| Directory to dump module dependencies to |
| |
| .. option:: -mtvos-simulator-version-min=<arg>, -mappletvsimulator-version-min=<arg> |
| |
| .. option:: -multi\_module |
| |
| .. option:: -multiply\_defined <arg> |
| |
| .. program:: clang1 |
| .. option:: -multiply\_defined\_unused <arg> |
| .. program:: clang |
| |
| .. option:: -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg> |
| |
| .. option:: --no-cuda-version-check |
| |
| Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture. |
| |
| .. option:: -no-integrated-cpp, --no-integrated-cpp |
| |
| .. option:: -no\_dead\_strip\_inits\_and\_terms |
| |
| .. option:: -nobuiltininc |
| |
| Disable builtin #include directories |
| |
| .. option:: -nodefaultlibs |
| |
| .. option:: -nofixprebinding |
| |
| .. option:: -nogpuinc, -nocudainc |
| |
| Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers |
| |
| .. option:: -nogpulib, -nocudalib |
| |
| Do not link device library for CUDA/HIP device compilation |
| |
| .. option:: -nolibc |
| |
| .. option:: -nomultidefs |
| |
| .. option:: -nopie, -no-pie |
| |
| .. option:: -noprebind |
| |
| .. option:: -noprofilelib |
| |
| .. option:: -noseglinkedit |
| |
| .. option:: -nostdinc, --no-standard-includes |
| |
| .. program:: clang1 |
| .. option:: -nostdinc++ |
| .. program:: clang |
| |
| Disable standard #include directories for the C++ standard library |
| |
| .. option:: -nostdlib++ |
| |
| .. option:: -nostdlibinc |
| |
| .. option:: -o<file>, --output <arg>, --output=<arg> |
| |
| Write output to <file> |
| |
| .. option:: -objcmt-atomic-property |
| |
| Make migration to 'atomic' properties |
| |
| .. option:: -objcmt-migrate-all |
| |
| Enable migration to modern ObjC |
| |
| .. option:: -objcmt-migrate-annotation |
| |
| Enable migration to property and method annotations |
| |
| .. option:: -objcmt-migrate-designated-init |
| |
| Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods |
| |
| .. option:: -objcmt-migrate-instancetype |
| |
| Enable migration to infer instancetype for method result type |
| |
| .. option:: -objcmt-migrate-literals |
| |
| Enable migration to modern ObjC literals |
| |
| .. option:: -objcmt-migrate-ns-macros |
| |
| Enable migration to NS\_ENUM/NS\_OPTIONS macros |
| |
| .. option:: -objcmt-migrate-property |
| |
| Enable migration to modern ObjC property |
| |
| .. option:: -objcmt-migrate-property-dot-syntax |
| |
| Enable migration of setter/getter messages to property-dot syntax |
| |
| .. option:: -objcmt-migrate-protocol-conformance |
| |
| Enable migration to add protocol conformance on classes |
| |
| .. option:: -objcmt-migrate-readonly-property |
| |
| Enable migration to modern ObjC readonly property |
| |
| .. option:: -objcmt-migrate-readwrite-property |
| |
| Enable migration to modern ObjC readwrite property |
| |
| .. option:: -objcmt-migrate-subscripting |
| |
| Enable migration to modern ObjC subscripting |
| |
| .. option:: -objcmt-ns-nonatomic-iosonly |
| |
| Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute |
| |
| .. option:: -objcmt-returns-innerpointer-property |
| |
| Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER |
| |
| .. option:: -objcmpt-allowlist-dir-path=<arg>, -objcmt-whitelist-dir-path=<arg>, -objcmt-white-list-dir-path=<arg> |
| |
| Only modify files with a filename contained in the provided directory path |
| |
| .. option:: -object |
| |
| .. option:: --offload-arch=<arg>, --cuda-gpu-arch=<arg>, --no-offload-arch=<arg> |
| |
| CUDA 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. |
| |
| .. option:: -p, --profile |
| |
| .. option:: -pagezero\_size<arg> |
| |
| .. option:: -pg |
| |
| Enable mcount instrumentation |
| |
| .. option:: -pipe, --pipe |
| |
| Use pipes between commands, when possible |
| |
| .. option:: -prebind |
| |
| .. program:: clang1 |
| .. option:: -prebind\_all\_twolevel\_modules |
| .. program:: clang |
| |
| .. option:: -preload |
| |
| .. option:: --print-diagnostic-categories |
| |
| .. option:: -print-effective-triple, --print-effective-triple |
| |
| Print the effective target triple |
| |
| .. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg> |
| |
| Print the full library path of <file> |
| |
| .. option:: -print-ivar-layout |
| |
| Enable Objective-C Ivar layout bitmap print trace |
| |
| .. option:: -print-libgcc-file-name, --print-libgcc-file-name |
| |
| Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang\_rt.builtins.\*.a") |
| |
| .. option:: -print-multi-directory, --print-multi-directory |
| |
| .. option:: -print-multi-lib, --print-multi-lib |
| |
| .. option:: -print-multiarch, --print-multiarch |
| |
| Print the multiarch target triple |
| |
| .. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg> |
| |
| Print the full program path of <name> |
| |
| .. option:: -print-resource-dir, --print-resource-dir |
| |
| Print the resource directory pathname |
| |
| .. option:: -print-rocm-search-dirs, --print-rocm-search-dirs |
| |
| Print the paths used for finding ROCm installation |
| |
| .. option:: -print-runtime-dir, --print-runtime-dir |
| |
| Print the directory pathname containing clangs runtime libraries |
| |
| .. option:: -print-search-dirs, --print-search-dirs |
| |
| Print the paths used for finding libraries and programs |
| |
| .. option:: -print-target-triple, --print-target-triple |
| |
| Print the normalized target triple |
| |
| .. option:: -print-targets, --print-targets |
| |
| Print the registered targets |
| |
| .. option:: -private\_bundle |
| |
| .. option:: -pthread, -no-pthread |
| |
| Support POSIX threads in generated code |
| |
| .. option:: -pthreads |
| |
| .. option:: -read\_only\_relocs <arg> |
| |
| .. option:: -relocatable-pch, --relocatable-pch |
| |
| Whether to build a relocatable precompiled header |
| |
| .. option:: -remap |
| |
| .. option:: -rewrite-legacy-objc |
| |
| Rewrite Legacy Objective-C source to C++ |
| |
| .. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg> |
| |
| Compiler runtime library to use |
| |
| .. option:: -save-stats=<arg>, --save-stats=<arg>, -save-stats (equivalent to -save-stats=cwd), --save-stats (equivalent to -save-stats=cwd) |
| |
| Save llvm statistics. |
| |
| .. option:: -save-temps=<arg>, --save-temps=<arg>, -save-temps (equivalent to -save-temps=cwd), --save-temps (equivalent to -save-temps=cwd) |
| |
| Save intermediate compilation results. |
| |
| .. option:: -sectalign <arg1> <arg2> <arg3> |
| |
| .. option:: -sectcreate <arg1> <arg2> <arg3> |
| |
| .. option:: -sectobjectsymbols <arg1> <arg2> |
| |
| .. option:: -sectorder <arg1> <arg2> <arg3> |
| |
| .. option:: -seg1addr<arg> |
| |
| .. option:: -seg\_addr\_table <arg> |
| |
| .. program:: clang1 |
| .. option:: -seg\_addr\_table\_filename <arg> |
| .. program:: clang |
| |
| .. option:: -segaddr <arg1> <arg2> |
| |
| .. option:: -segcreate <arg1> <arg2> <arg3> |
| |
| .. option:: -seglinkedit |
| |
| .. option:: -segprot <arg1> <arg2> <arg3> |
| |
| .. option:: -segs\_read\_<arg> |
| |
| .. program:: clang1 |
| .. option:: -segs\_read\_only\_addr <arg> |
| .. program:: clang |
| |
| .. program:: clang2 |
| .. option:: -segs\_read\_write\_addr <arg> |
| .. program:: clang |
| |
| .. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg> |
| |
| Serialize compiler diagnostics to a file |
| |
| .. option:: -shared-libgcc |
| |
| .. option:: -shared-libsan, -shared-libasan |
| |
| Dynamically link the sanitizer runtime |
| |
| .. option:: -single\_module |
| |
| .. option:: -static-libgcc |
| |
| .. option:: -static-libsan |
| |
| Statically link the sanitizer runtime |
| |
| .. option:: -static-libstdc++ |
| |
| .. option:: -static-openmp |
| |
| Use the static host OpenMP runtime while linking. |
| |
| .. option:: -std-default=<arg> |
| |
| .. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg> |
| |
| C++ standard library to use |
| |
| .. option:: -sub\_library<arg> |
| |
| .. program:: clang1 |
| .. option:: -sub\_umbrella<arg> |
| .. program:: clang |
| |
| .. option:: --sysroot=<arg>, --sysroot <arg> |
| |
| .. option:: --target-help |
| |
| .. option:: --target=<arg>, -target <arg> |
| |
| Generate code for the given target |
| |
| .. option:: -time |
| |
| Time individual commands |
| |
| .. option:: -traditional, --traditional |
| |
| .. option:: -traditional-cpp, --traditional-cpp |
| |
| Enable some traditional CPP emulation |
| |
| .. option:: -twolevel\_namespace |
| |
| .. program:: clang1 |
| .. option:: -twolevel\_namespace\_hints |
| .. program:: clang |
| |
| .. option:: -umbrella <arg> |
| |
| .. option:: -unexported\_symbols\_list <arg> |
| |
| .. option:: -unwindlib=<arg>, --unwindlib=<arg> |
| |
| Unwind library to use |
| |
| .. option:: -v, --verbose |
| |
| Show commands to run and use verbose output |
| |
| .. option:: --verify-debug-info |
| |
| Verify the binary representation of debug output |
| |
| .. option:: --version |
| |
| Print version information |
| |
| .. option:: -w, --no-warnings |
| |
| Suppress all warnings |
| |
| .. option:: -weak-l<arg> |
| |
| .. option:: -weak\_framework <arg> |
| |
| .. program:: clang1 |
| .. option:: -weak\_library <arg> |
| .. program:: clang |
| |
| .. program:: clang2 |
| .. option:: -weak\_reference\_mismatches <arg> |
| .. program:: clang |
| |
| .. option:: -whatsloaded |
| |
| .. option:: -why\_load, -whyload |
| |
| .. option:: -working-directory<arg>, -working-directory=<arg> |
| |
| Resolve file paths relative to the specified directory |
| |
| .. option:: -x<language>, --language <arg>, --language=<arg> |
| |
| Treat subsequent input files as having type <language> |
| |
| .. option:: -y<arg> |
| |
| Actions |
| ======= |
| The action to perform on the input. |
| |
| .. option:: -E, --preprocess |
| |
| Only run the preprocessor |
| |
| .. option:: -S, --assemble |
| |
| Only run preprocess and compilation steps |
| |
| .. option:: -c, --compile |
| |
| Only run preprocess, compile, and assemble steps |
| |
| .. option:: -emit-interface-stubs |
| |
| Generate Interface Stub Files. |
| |
| .. option:: -emit-llvm |
| |
| Use the LLVM representation for assembler and object files |
| |
| .. option:: -emit-merged-ifs |
| |
| Generate Interface Stub Files, emit merged text not binary. |
| |
| .. option:: -fsyntax-only |
| |
| .. option:: -module-file-info |
| |
| Provide information about a particular module file |
| |
| .. option:: --precompile |
| |
| Only precompile the input |
| |
| .. option:: -rewrite-objc |
| |
| Rewrite Objective-C source to C++ |
| |
| .. option:: -verify-pch |
| |
| Load and verify that a pre-compiled header file is not stale |
| |
| Compilation flags |
| ================= |
| |
| Flags controlling the behavior of Clang during compilation. These flags have |
| no effect during actions that do not perform compilation. |
| |
| .. option:: -Xassembler <arg> |
| |
| Pass <arg> to the assembler |
| |
| .. option:: -Xclang <arg> |
| |
| Pass <arg> to the clang compiler |
| |
| .. option:: -ansi, --ansi |
| |
| .. option:: -fc++-abi=<arg> |
| |
| C++ ABI to use. This will override the target C++ ABI. |
| |
| .. option:: -fclang-abi-compat=<version> |
| |
| Attempt to match the ABI of Clang <version> |
| |
| .. option:: -fcomment-block-commands=<arg>,<arg2>... |
| |
| Treat each comma separated argument in <arg> as a documentation comment block command |
| |
| .. option:: -fcomplete-member-pointers, -fno-complete-member-pointers |
| |
| Require member pointer base types to be complete if they would be significant under the Microsoft ABI |
| |
| .. option:: -fcrash-diagnostics-dir=<dir> |
| |
| Put crash-report files in <dir> |
| |
| .. option:: -fdeclspec, -fno-declspec |
| |
| Allow \_\_declspec as a keyword |
| |
| .. option:: -fdepfile-entry=<arg> |
| |
| .. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info |
| |
| .. option:: -fdiagnostics-format=<arg> |
| |
| .. option:: -fdiagnostics-parseable-fixits |
| |
| Print fix-its in machine parseable form |
| |
| .. option:: -fdiagnostics-print-source-range-info |
| |
| Print source range spans in numeric form |
| |
| .. option:: -fdiagnostics-show-category=<arg> |
| |
| .. option:: -fdiscard-value-names, -fno-discard-value-names |
| |
| Discard value names in LLVM IR |
| |
| .. option:: -fexperimental-relative-c++-abi-vtables, -fno-experimental-relative-c++-abi-vtables |
| |
| Use the experimental C++ class ABI for classes with virtual tables |
| |
| .. option:: -fexperimental-strict-floating-point |
| |
| Enables experimental strict floating point in LLVM. |
| |
| .. option:: -ffine-grained-bitfield-accesses, -fno-fine-grained-bitfield-accesses |
| |
| Use separate accesses for consecutive bitfield runs with legal widths and alignments. |
| |
| .. option:: -fglobal-isel, -fexperimental-isel, -fno-global-isel |
| |
| Enables the global instruction selector |
| |
| .. option:: -finline-functions, -fno-inline-functions |
| |
| Inline suitable functions |
| |
| .. option:: -finline-hint-functions |
| |
| Inline functions which are (explicitly or implicitly) marked inline |
| |
| .. option:: -flegacy-pass-manager, -fno-experimental-new-pass-manager, -fno-legacy-pass-manager |
| |
| Use the legacy pass manager in LLVM (deprecated, to be removed in a future release) |
| |
| .. option:: -fno-crash-diagnostics |
| |
| Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash |
| |
| .. option:: -fno-sanitize-ignorelist, -fno-sanitize-blacklist |
| |
| Don't use ignorelist file for sanitizers |
| |
| .. option:: -fparse-all-comments |
| |
| .. option:: -frecord-command-line, -fno-record-command-line, -frecord-gcc-switches |
| |
| .. option:: -fsanitize-address-destructor=<arg> |
| |
| Set destructor type used in ASan instrumentation |
| |
| .. option:: -fsanitize-address-field-padding=<arg> |
| |
| Level of field padding for AddressSanitizer |
| |
| .. option:: -fsanitize-address-globals-dead-stripping |
| |
| Enable linker dead stripping of globals in AddressSanitizer |
| |
| .. option:: -fsanitize-address-poison-custom-array-cookie, -fno-sanitize-address-poison-custom-array-cookie |
| |
| Enable poisoning array cookies when using custom operator new\[\] in AddressSanitizer |
| |
| .. option:: -fsanitize-address-use-after-return=<mode> |
| |
| Select the mode of detecting stack use-after-return in AddressSanitizer |
| |
| .. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope |
| |
| Enable use-after-scope detection in AddressSanitizer |
| |
| .. option:: -fsanitize-address-use-odr-indicator, -fno-sanitize-address-use-odr-indicator |
| |
| Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size |
| |
| .. option:: -fsanitize-cfi-canonical-jump-tables, -fno-sanitize-cfi-canonical-jump-tables |
| |
| Make the jump table addresses canonical in the symbol table |
| |
| .. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso |
| |
| Enable control flow integrity (CFI) checks for cross-DSO calls. |
| |
| .. option:: -fsanitize-cfi-icall-generalize-pointers |
| |
| Generalize pointers in CFI indirect call type signature checks |
| |
| .. option:: -fsanitize-coverage-allowlist=<arg>, -fsanitize-coverage-whitelist=<arg> |
| |
| Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones |
| |
| .. option:: -fsanitize-coverage-ignorelist=<arg>, -fsanitize-coverage-blacklist=<arg> |
| |
| Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones |
| |
| .. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>... |
| |
| Specify the type of coverage instrumentation for Sanitizers |
| |
| .. option:: -fsanitize-hwaddress-abi=<arg> |
| |
| Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused. |
| |
| .. option:: -fsanitize-hwaddress-experimental-aliasing, -fno-sanitize-hwaddress-experimental-aliasing |
| |
| Enable aliasing mode in HWAddressSanitizer |
| |
| .. option:: -fsanitize-ignorelist=<arg>, -fsanitize-blacklist=<arg> |
| |
| Path to ignorelist file for sanitizers |
| |
| .. option:: -fsanitize-link-c++-runtime, -fno-sanitize-link-c++-runtime |
| |
| .. option:: -fsanitize-link-runtime, -fno-sanitize-link-runtime |
| |
| .. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins |
| |
| Enable origins tracking in MemorySanitizer |
| |
| .. program:: clang1 |
| .. option:: -fsanitize-memory-track-origins=<arg> |
| .. program:: clang |
| |
| Enable origins tracking in MemorySanitizer |
| |
| .. option:: -fsanitize-memory-use-after-dtor, -fno-sanitize-memory-use-after-dtor |
| |
| Enable use-after-destroy detection in MemorySanitizer |
| |
| .. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime |
| |
| .. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>..., -fsanitize-recover (equivalent to -fsanitize-recover=all) |
| |
| Enable recovery for specified sanitizers |
| |
| .. option:: -fsanitize-stats, -fno-sanitize-stats |
| |
| Enable sanitizer statistics gathering. |
| |
| .. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics |
| |
| Enable atomic operations instrumentation in ThreadSanitizer (default) |
| |
| .. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit |
| |
| Enable function entry/exit instrumentation in ThreadSanitizer (default) |
| |
| .. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access |
| |
| Enable memory access instrumentation in ThreadSanitizer (default) |
| |
| .. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>..., -fsanitize-trap (equivalent to -fsanitize-trap=all), -fsanitize-undefined-trap-on-error (equivalent to -fsanitize-trap=undefined) |
| |
| Enable trapping for specified sanitizers |
| |
| .. option:: -fsanitize-undefined-strip-path-components=<number> |
| |
| Strip (or keep only, if negative) a given number of path components when emitting check metadata. |
| |
| .. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>... |
| |
| Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks |
| |
| .. option:: -moutline, -mno-outline |
| |
| Enable function outlining (AArch64 only) |
| |
| .. option:: -moutline-atomics, -mno-outline-atomics |
| |
| Generate local calls to out-of-line atomic operations |
| |
| .. option:: --param <arg>, --param=<arg> |
| |
| .. option:: -print-supported-cpus, --print-supported-cpus, -mcpu=?, -mtune=? |
| |
| Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target) |
| |
| .. option:: -std=<arg>, --std=<arg>, --std <arg> |
| |
| Language standard to compile for |
| |
| Preprocessor flags |
| ~~~~~~~~~~~~~~~~~~ |
| |
| Flags controlling the behavior of the Clang preprocessor. |
| |
| .. option:: -C, --comments |
| |
| Include comments in preprocessed output |
| |
| .. option:: -CC, --comments-in-macros |
| |
| Include comments from within macros in preprocessed output |
| |
| .. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg> |
| |
| Define <macro> to <value> (or 1 if <value> omitted) |
| |
| .. option:: -H, --trace-includes |
| |
| Show header includes and nesting depth |
| |
| .. option:: -P, --no-line-commands |
| |
| Disable linemarker output in -E mode |
| |
| .. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg> |
| |
| Undefine macro <macro> |
| |
| .. option:: -Wp,<arg>,<arg2>... |
| |
| Pass the comma separated arguments in <arg> to the preprocessor |
| |
| .. option:: -Xpreprocessor <arg> |
| |
| Pass <arg> to the preprocessor |
| |
| .. option:: -fmacro-prefix-map=<arg> |
| |
| remap file source paths in predefined preprocessor macros |
| |
| Include path management |
| ----------------------- |
| |
| Flags controlling how ``#include``\s are resolved to files. |
| |
| .. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg> |
| |
| Add directory to include search path. For C++ inputs, if |
| there are multiple -I options, these directories are searched |
| in the order they are given before the standard system directories |
| are searched. If the same directory is in the SYSTEM include search |
| paths, for example if also specified with -isystem, the -I option |
| will be ignored |
| |
| .. option:: -I-, --include-barrier |
| |
| Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path |
| |
| .. option:: --amdgpu-arch-tool=<arg> |
| |
| Tool used for detecting AMD GPU arch in the system. |
| |
| .. option:: --cuda-path-ignore-env |
| |
| Ignore environment variables to detect CUDA installation |
| |
| .. option:: --cuda-path=<arg> |
| |
| CUDA installation path |
| |
| .. option:: -cxx-isystem<directory> |
| |
| Add directory to the C++ SYSTEM include search path |
| |
| .. option:: -fbuild-session-file=<file> |
| |
| Use the last modification time of <file> as the build session timestamp |
| |
| .. option:: -fbuild-session-timestamp=<time since Epoch in seconds> |
| |
| Time when the current build session started |
| |
| .. option:: -fmodule-file=\[<name>=\]<file> |
| |
| Specify the mapping of module name to precompiled module file, or load a module file if name is omitted. |
| |
| .. option:: -fmodules-cache-path=<directory> |
| |
| Specify the module cache path |
| |
| .. option:: -fmodules-disable-diagnostic-validation |
| |
| Disable validation of the diagnostic options when loading the module |
| |
| .. option:: -fmodules-prune-after=<seconds> |
| |
| Specify the interval (in seconds) after which a module file will be considered unused |
| |
| .. option:: -fmodules-prune-interval=<seconds> |
| |
| Specify the interval (in seconds) between attempts to prune the module cache |
| |
| .. option:: -fmodules-user-build-path <directory> |
| |
| Specify the module user build path |
| |
| .. option:: -fmodules-validate-once-per-build-session |
| |
| Don't verify input files for the modules if the module has been successfully validated or loaded during this build session |
| |
| .. option:: -fmodules-validate-system-headers, -fno-modules-validate-system-headers |
| |
| Validate the system headers that a module depends on when loading the module |
| |
| .. option:: -fprebuilt-module-path=<directory> |
| |
| Specify the prebuilt module path |
| |
| .. option:: --hip-path=<arg> |
| |
| HIP runtime installation path, used for finding HIP version and adding HIP include path. |
| |
| .. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg> |
| |
| Add directory to AFTER include search path |
| |
| .. option:: -iframework<arg> |
| |
| Add directory to SYSTEM framework search path |
| |
| .. option:: -iframeworkwithsysroot<directory> |
| |
| Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot |
| |
| .. option:: -imacros<file>, --imacros<file>, --imacros=<arg> |
| |
| Include macros from file before parsing |
| |
| .. option:: -include<file>, --include<file>, --include=<arg> |
| |
| Include file before parsing |
| |
| .. option:: -include-pch <file> |
| |
| Include precompiled header file |
| |
| .. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg> |
| |
| Set the -iwithprefix/-iwithprefixbefore prefix |
| |
| .. option:: -iquote<directory> |
| |
| Add directory to QUOTE include search path |
| |
| .. option:: -isysroot<dir> |
| |
| Set the system root directory (usually /) |
| |
| .. option:: -isystem<directory> |
| |
| Add directory to SYSTEM include search path |
| |
| .. option:: -isystem-after<directory> |
| |
| Add directory to end of the SYSTEM include search path |
| |
| .. option:: -ivfsoverlay<arg> |
| |
| Overlay the virtual filesystem described by file over the real file system |
| |
| .. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg> |
| |
| Set directory to SYSTEM include search path with prefix |
| |
| .. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg> |
| |
| Set directory to include search path with prefix |
| |
| .. option:: -iwithsysroot<directory> |
| |
| Add directory to SYSTEM include search path, absolute paths are relative to -isysroot |
| |
| .. option:: --libomptarget-amdgcn-bc-path=<arg> |
| |
| Path to libomptarget-amdgcn bitcode library |
| |
| .. option:: --libomptarget-nvptx-bc-path=<arg> |
| |
| Path to libomptarget-nvptx bitcode library |
| |
| .. option:: --ptxas-path=<arg> |
| |
| Path to ptxas (used for compiling CUDA code) |
| |
| .. option:: --rocm-path=<arg> |
| |
| ROCm installation path, used for finding and automatically linking required bitcode libraries. |
| |
| .. program:: clang1 |
| .. option:: -stdlib++-isystem<directory> |
| .. program:: clang |
| |
| Use directory as the C++ standard library include path |
| |
| .. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg> |
| |
| Treat all #include paths starting with <prefix> as including a system header. |
| |
| Dependency file generation |
| -------------------------- |
| |
| Flags controlling generation of a dependency file for ``make``-like build |
| systems. |
| |
| .. option:: -M, --dependencies |
| |
| Like -MD, but also implies -E and writes to stdout by default |
| |
| .. option:: -MD, --write-dependencies |
| |
| Write a depfile containing user and system headers |
| |
| .. option:: -MF<file> |
| |
| Write depfile output from -MMD, -MD, -MM, or -M to <file> |
| |
| .. option:: -MG, --print-missing-file-dependencies |
| |
| Add missing headers to depfile |
| |
| .. option:: -MJ<arg> |
| |
| Write a compilation database entry per input |
| |
| .. option:: -MM, --user-dependencies |
| |
| Like -MMD, but also implies -E and writes to stdout by default |
| |
| .. option:: -MMD, --write-user-dependencies |
| |
| Write a depfile containing user headers |
| |
| .. option:: -MP |
| |
| Create phony target for each dependency (other than main file) |
| |
| .. option:: -MQ<arg> |
| |
| Specify name of main file output to quote in depfile |
| |
| .. option:: -MT<arg> |
| |
| Specify name of main file output in depfile |
| |
| .. option:: -MV |
| |
| Use NMake/Jom format for the depfile |
| |
| Dumping preprocessor state |
| -------------------------- |
| |
| Flags allowing the state of the preprocessor to be dumped in various ways. |
| |
| .. option:: -d |
| |
| .. program:: clang1 |
| .. option:: -d<arg> |
| .. program:: clang |
| |
| .. option:: -dD |
| |
| Print macro definitions in -E mode in addition to normal output |
| |
| .. option:: -dI |
| |
| Print include directives in -E mode in addition to normal output |
| |
| .. option:: -dM |
| |
| Print macro definitions in -E mode instead of normal output |
| |
| Diagnostic flags |
| ~~~~~~~~~~~~~~~~ |
| |
| Flags controlling which warnings, errors, and remarks Clang will generate. |
| See the :doc:`full list of warning and remark flags <DiagnosticsReference>`. |
| |
| .. option:: -R<remark> |
| |
| Enable the specified remark |
| |
| .. option:: -Rpass-analysis=<arg> |
| |
| Report transformation analysis from optimization passes whose name matches the given POSIX regular expression |
| |
| .. option:: -Rpass-missed=<arg> |
| |
| Report missed transformations by optimization passes whose name matches the given POSIX regular expression |
| |
| .. option:: -Rpass=<arg> |
| |
| Report transformations performed by optimization passes whose name matches the given POSIX regular expression |
| |
| .. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg> |
| |
| Enable the specified warning |
| |
| .. option:: -Wdeprecated, -Wno-deprecated |
| |
| Enable warnings for deprecated constructs and define \_\_DEPRECATED |
| |
| .. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg> |
| |
| Target-independent compilation options |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .. option:: -Wframe-larger-than=<arg> |
| |
| .. option:: -fPIC, -fno-PIC |
| |
| .. option:: -fPIE, -fno-PIE |
| |
| .. option:: -faccess-control, -fno-access-control |
| |
| .. option:: -faddrsig, -fno-addrsig |
| |
| Emit an address-significance table |
| |
| .. option:: -falign-functions, -fno-align-functions |
| |
| .. program:: clang1 |
| .. option:: -falign-functions=<arg> |
| .. program:: clang |
| |
| .. program:: clang1 |
| .. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation |
| .. program:: clang |
| |
| Enable C++17 aligned allocation functions |
| |
| .. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders |
| |
| Treat editor placeholders as valid source code |
| |
| .. option:: -fallow-unsupported |
| |
| .. option:: -faltivec, -fno-altivec |
| |
| .. option:: -fansi-escape-codes |
| |
| Use ANSI escape codes for diagnostics |
| |
| .. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables |
| |
| Use Apple's kernel extensions ABI |
| |
| .. option:: -fapple-link-rtlib |
| |
| Force linking the clang builtins runtime library |
| |
| .. option:: -fapple-pragma-pack, -fno-apple-pragma-pack |
| |
| Enable Apple gcc-compatible #pragma pack handling |
| |
| .. option:: -fapplication-extension, -fno-application-extension |
| |
| Restrict code to those available for App Extensions |
| |
| .. option:: -fasm, -fno-asm |
| |
| .. option:: -fasm-blocks, -fno-asm-blocks |
| |
| .. option:: -fassociative-math, -fno-associative-math |
| |
| .. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new |
| |
| .. option:: -fast |
| |
| .. option:: -fastcp |
| |
| .. option:: -fastf |
| |
| .. option:: -fasync-exceptions, -fno-async-exceptions |
| |
| Enable EH Asynchronous exceptions |
| |
| .. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables |
| |
| .. option:: -fautolink, -fno-autolink |
| |
| .. option:: -fbasic-block-sections=<arg> |
| |
| Generate labels for each basic block or place each basic block or a subset of basic blocks in its own section. |
| |
| .. option:: -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. |
| |
| .. option:: -fblocks, -fno-blocks |
| |
| Enable the 'blocks' language feature |
| |
| .. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg> |
| |
| .. option:: -fborland-extensions, -fno-borland-extensions |
| |
| Accept non-standard constructs supported by the Borland compiler |
| |
| .. option:: -fbracket-depth=<arg> |
| |
| .. option:: -fbuiltin, -fno-builtin |
| |
| .. option:: -fbuiltin-module-map |
| |
| Load the clang builtins module map file. |
| |
| .. program:: clang1 |
| .. option:: -fc++-static-destructors, -fno-c++-static-destructors |
| .. program:: clang |
| |
| .. option:: -fcaret-diagnostics, -fno-caret-diagnostics |
| |
| .. option:: -fcf-protection=<arg>, -fcf-protection (equivalent to -fcf-protection=full) |
| |
| Instrument control-flow architecture protection. Options: return, branch, full, none. |
| |
| .. option:: -fcf-runtime-abi=<arg> |
| |
| .. option:: -fchar8\_t, -fno-char8\_t |
| |
| Enable C++ builtin type char8\_t |
| |
| .. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg> |
| |
| .. option:: -fcolor-diagnostics, -fno-color-diagnostics |
| |
| Enable colors in diagnostics |
| |
| .. option:: -fcommon, -fno-common |
| |
| Place uninitialized global variables in a common block |
| |
| .. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg> |
| |
| .. option:: -fconstant-cfstrings, -fno-constant-cfstrings |
| |
| .. option:: -fconstant-string-class=<arg> |
| |
| .. option:: -fconstexpr-backtrace-limit=<arg> |
| |
| .. option:: -fconstexpr-depth=<arg> |
| |
| .. option:: -fconstexpr-steps=<arg> |
| |
| .. option:: -fconvergent-functions |
| |
| Assume functions may be convergent |
| |
| .. option:: -fcoroutines-ts, -fno-coroutines-ts |
| |
| Enable support for the C++ Coroutines TS |
| |
| .. option:: -fcoverage-compilation-dir=<arg> |
| |
| The compilation directory to embed in the coverage mapping. |
| |
| .. option:: -fcoverage-mapping, -fno-coverage-mapping |
| |
| Generate coverage mapping to enable code coverage analysis |
| |
| .. option:: -fcoverage-prefix-map=<arg> |
| |
| remap file source paths in coverage mapping |
| |
| .. option:: -fcreate-profile |
| |
| .. option:: -fcs-profile-generate |
| |
| Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var) |
| |
| .. program:: clang1 |
| .. option:: -fcs-profile-generate=<directory> |
| .. program:: clang |
| |
| Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var) |
| |
| .. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals |
| |
| Use approximate transcendental functions |
| |
| .. option:: -fcuda-short-ptr, -fno-cuda-short-ptr |
| |
| Use 32-bit pointers for accessing const/local/shared address spaces |
| |
| .. option:: -fcxx-exceptions, -fno-cxx-exceptions |
| |
| Enable C++ exceptions |
| |
| .. option:: -fcxx-modules, -fno-cxx-modules |
| |
| .. option:: -fdata-sections, -fno-data-sections |
| |
| Place each data in its own section |
| |
| .. option:: -fdebug-compilation-dir=<arg>, -fdebug-compilation-dir <arg> |
| |
| The compilation directory to embed in the debug info |
| |
| .. option:: -fdebug-default-version=<arg> |
| |
| Default DWARF version to use, if a -g option caused DWARF debug info to be produced |
| |
| .. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling |
| |
| Emit extra debug info to make sample profile more accurate |
| |
| .. option:: -fdebug-macro, -fno-debug-macro |
| |
| Emit macro debug information |
| |
| .. option:: -fdebug-pass-arguments |
| |
| .. option:: -fdebug-pass-structure |
| |
| .. option:: -fdebug-prefix-map=<arg> |
| |
| remap file source paths in debug info |
| |
| .. option:: -fdebug-ranges-base-address, -fno-debug-ranges-base-address |
| |
| Use DWARF base address selection entries in .debug\_ranges |
| |
| .. option:: -fdebug-types-section, -fno-debug-types-section |
| |
| Place debug types in their own section (ELF Only) |
| |
| .. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing |
| |
| Parse templated function definitions at the end of the translation unit |
| |
| .. option:: -fdelete-null-pointer-checks, -fno-delete-null-pointer-checks |
| |
| Treat usage of null pointers as undefined behavior (default) |
| |
| .. option:: -fdenormal-fp-math=<arg> |
| |
| .. option:: -fdiagnostics-absolute-paths |
| |
| Print absolute paths in diagnostics |
| |
| .. option:: -fdiagnostics-color, -fno-diagnostics-color |
| |
| .. program:: clang1 |
| .. option:: -fdiagnostics-color=<arg> |
| .. program:: clang |
| |
| .. option:: -fdiagnostics-hotness-threshold=<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 |
| |
| .. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness |
| |
| Enable profile hotness information in diagnostic line |
| |
| .. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack |
| |
| Display include stacks for diagnostic notes |
| |
| .. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option |
| |
| Print option name with mappable diagnostics |
| |
| .. option:: -fdiagnostics-show-template-tree |
| |
| Print a template comparison tree for differing templates |
| |
| .. option:: -fdigraphs, -fno-digraphs |
| |
| Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default) |
| |
| .. option:: -fdirect-access-external-data, -fno-direct-access-external-data |
| |
| Don't use GOT indirection to reference external data symbols |
| |
| .. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers |
| |
| Allow '$' in identifiers |
| |
| .. option:: -fdouble-square-bracket-attributes, -fno-double-square-bracket-attributes |
| |
| Enable '\[\[\]\]' attributes in all C and C++ language modes |
| |
| .. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm |
| |
| .. option:: -fdwarf-exceptions |
| |
| Use DWARF style exceptions |
| |
| .. option:: -felide-constructors, -fno-elide-constructors |
| |
| .. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols |
| |
| .. option:: -feliminate-unused-debug-types, -fno-eliminate-unused-debug-types |
| |
| Do not emit debug info for defined but unused types |
| |
| .. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker) |
| |
| Embed LLVM bitcode (option: off, all, bitcode, marker) |
| |
| .. option:: -femit-all-decls |
| |
| Emit all declarations, even if unused |
| |
| .. option:: -femulated-tls, -fno-emulated-tls |
| |
| Use emutls functions to access thread\_local variables |
| |
| .. option:: -fenable-matrix |
| |
| Enable matrix data type and related builtin functions |
| |
| .. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg> |
| |
| .. option:: -ferror-limit=<arg> |
| |
| .. option:: -fescaping-block-tail-calls, -fno-escaping-block-tail-calls |
| |
| .. option:: -fexceptions, -fno-exceptions |
| |
| Enable support for exception handling |
| |
| .. option:: -fexec-charset=<arg> |
| |
| .. option:: -fexperimental-new-constant-interpreter |
| |
| Enable the experimental new constant interpreter |
| |
| .. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg> |
| |
| .. option:: -fextend-arguments=<arg> |
| |
| Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions |
| |
| .. option:: -ffast-math, -fno-fast-math |
| |
| Allow aggressive, lossy floating-point optimizations |
| |
| .. option:: -ffile-compilation-dir=<arg> |
| |
| The compilation directory to embed in the debug info and coverage mapping. |
| |
| .. option:: -ffile-prefix-map=<arg> |
| |
| remap file source paths in debug info and predefined preprocessor macros |
| |
| .. option:: -ffinite-loops, -fno-finite-loops |
| |
| Assume all loops are finite. |
| |
| .. option:: -ffinite-math-only, -fno-finite-math-only |
| |
| .. option:: -ffixed-point, -fno-fixed-point |
| |
| Enable fixed point types |
| |
| .. option:: -ffor-scope, -fno-for-scope |
| |
| .. option:: -fforce-dwarf-frame, -fno-force-dwarf-frame |
| |
| Always emit a debug frame section |
| |
| .. option:: -fforce-emit-vtables, -fno-force-emit-vtables |
| |
| Emits more virtual tables to improve devirtualization |
| |
| .. option:: -fforce-enable-int128, -fno-force-enable-int128 |
| |
| Enable support for int128\_t type |
| |
| .. option:: -ffp-contract=<arg> |
| |
| Form fused FP ops (e.g. FMAs): fast (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 dictated by pragmas). Default is 'fast' for CUDA, 'fast-honor-pragmas' for HIP, and 'on' otherwise. |
| |
| .. option:: -ffp-exception-behavior=<arg> |
| |
| Specifies the exception behavior of floating-point operations. |
| |
| .. option:: -ffp-model=<arg> |
| |
| Controls the semantics of floating-point calculations. |
| |
| .. option:: -ffreestanding |
| |
| Assert that the compilation takes place in a freestanding environment |
| |
| .. option:: -ffunction-sections, -fno-function-sections |
| |
| Place each function in its own section |
| |
| .. option:: -fgnu-inline-asm, -fno-gnu-inline-asm |
| |
| .. option:: -fgnu-keywords, -fno-gnu-keywords |
| |
| Allow GNU-extension keywords regardless of language standard |
| |
| .. option:: -fgnu-runtime |
| |
| Generate output compatible with the standard GNU Objective-C runtime |
| |
| .. option:: -fgnu89-inline, -fno-gnu89-inline |
| |
| Use the gnu89 inline semantics |
| |
| .. option:: -fgnuc-version=<arg> |
| |
| Sets various macros to claim compatibility with the given GCC version (default is 4.2.1) |
| |
| .. option:: -fgpu-allow-device-init, -fno-gpu-allow-device-init |
| |
| Allow device side init function in HIP (experimental) |
| |
| .. option:: -fgpu-defer-diag, -fno-gpu-defer-diag |
| |
| Defer host/device related diagnostic messages for CUDA/HIP |
| |
| .. option:: -fgpu-rdc, -fcuda-rdc, -fno-gpu-rdc |
| |
| Generate relocatable device code, also known as separate compilation mode |
| |
| .. option:: -fgpu-sanitize, -fno-gpu-sanitize |
| |
| Enable sanitizer for AMDGPU target |
| |
| .. option:: -fhip-fp32-correctly-rounded-divide-sqrt, -fno-hip-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) |
| |
| .. option:: -fhip-new-launch-api, -fno-hip-new-launch-api |
| |
| Use new kernel launching API for HIP |
| |
| .. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities |
| |
| .. option:: -fhonor-nans, -fno-honor-nans |
| |
| .. option:: -fhosted |
| |
| .. option:: -fignore-exceptions |
| |
| Enable support for ignoring exception handling constructs |
| |
| .. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps |
| |
| Implicitly search the file system for module map files. |
| |
| .. option:: -fimplicit-modules, -fno-implicit-modules |
| |
| .. option:: -finput-charset=<arg> |
| |
| Specify the default character set for source files |
| |
| .. option:: -finstrument-function-entry-bare |
| |
| Instrument function entry only, after inlining, without arguments to the instrumentation call |
| |
| .. option:: -finstrument-functions |
| |
| Generate calls to instrument function entry and exit |
| |
| .. option:: -finstrument-functions-after-inlining |
| |
| Like -finstrument-functions, but insert the calls after inlining |
| |
| .. option:: -fintegrated-as, -fno-integrated-as, -integrated-as |
| |
| Enable the integrated assembler |
| |
| .. option:: -fintegrated-cc1, -fno-integrated-cc1 |
| |
| Run cc1 in-process |
| |
| .. option:: -fjump-tables, -fno-jump-tables |
| |
| Use jump tables for lowering switches |
| |
| .. option:: -fkeep-static-consts, -fno-keep-static-consts |
| |
| Keep static const variables if unused |
| |
| .. option:: -flax-vector-conversions=<arg>, -flax-vector-conversions (equivalent to -flax-vector-conversions=integer), -fno-lax-vector-conversions (equivalent to -flax-vector-conversions=none) |
| |
| Enable implicit vector bit-casts |
| |
| .. option:: -flimited-precision=<arg> |
| |
| .. option:: -flto, -fno-lto |
| |
| Enable LTO in 'full' mode |
| |
| .. option:: -flto-jobs=<arg> |
| |
| Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected) |
| |
| .. program:: clang1 |
| .. option:: -flto=<arg> |
| .. program:: clang |
| |
| Set LTO mode to either 'full' or 'thin' |
| |
| .. program:: clang2 |
| .. option:: -flto=auto |
| .. program:: clang |
| |
| .. program:: clang3 |
| .. option:: -flto=jobserver |
| .. program:: clang |
| |
| .. option:: -fmacro-backtrace-limit=<arg> |
| |
| .. option:: -fmath-errno, -fno-math-errno |
| |
| Require math functions to indicate errors by setting errno |
| |
| .. option:: -fmax-tokens=<arg> |
| |
| Max total number of preprocessed tokens for -Wmax-tokens. |
| |
| .. option:: -fmax-type-align=<arg> |
| |
| Specify the maximum alignment to enforce on pointers lacking an explicit alignment |
| |
| .. option:: -fmemory-profile, -fno-memory-profile |
| |
| Enable heap memory profiling |
| |
| .. program:: clang1 |
| .. option:: -fmemory-profile=<directory> |
| .. program:: clang |
| |
| Enable heap memory profiling and dump results into <directory> |
| |
| .. option:: -fmerge-all-constants, -fno-merge-all-constants |
| |
| Allow merging of constants |
| |
| .. option:: -fmessage-length=<arg> |
| |
| Format message diagnostics so that they fit within N columns |
| |
| .. option:: -fmodule-file-deps, -fno-module-file-deps |
| |
| .. option:: -fmodule-map-file=<file> |
| |
| Load this module map file |
| |
| .. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg> |
| |
| Specify the name of the module to build |
| |
| .. option:: -fmodules, -fno-modules |
| |
| Enable the 'modules' language feature |
| |
| .. option:: -fmodules-decluse, -fno-modules-decluse |
| |
| Require declaration of modules used within a module |
| |
| .. option:: -fmodules-ignore-macro=<arg> |
| |
| Ignore the definition of the given macro when building and loading modules |
| |
| .. option:: -fmodules-search-all, -fno-modules-search-all |
| |
| Search even non-imported modules to resolve references |
| |
| .. option:: -fmodules-strict-decluse |
| |
| Like -fmodules-decluse but requires all headers to be in modules |
| |
| .. option:: -fmodules-ts |
| |
| Enable support for the C++ Modules TS |
| |
| .. option:: -fmodules-validate-input-files-content |
| |
| Validate PCM input files based on content if mtime differs |
| |
| .. option:: -fms-compatibility, -fno-ms-compatibility |
| |
| Enable full Microsoft Visual C++ compatibility |
| |
| .. option:: -fms-compatibility-version=<arg> |
| |
| Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default)) |
| |
| .. option:: -fms-extensions, -fno-ms-extensions |
| |
| Accept some non-standard constructs supported by the Microsoft compiler |
| |
| .. option:: -fms-memptr-rep=<arg> |
| |
| .. option:: -fms-volatile |
| |
| .. option:: -fmsc-version=<arg> |
| |
| Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default)) |
| |
| .. option:: -fmudflap |
| |
| .. option:: -fmudflapth |
| |
| .. option:: -fnested-functions |
| |
| .. option:: -fnew-alignment=<align>, -fnew-alignment <arg> |
| |
| Specifies the largest alignment guaranteed by '::operator new(size\_t)' |
| |
| .. option:: -fnew-infallible |
| |
| Treats throwing global C++ operator new as always returning valid memory (annotates with \_\_attribute\_\_((returns\_nonnull)) and throw()). This is detectable in source. |
| |
| .. option:: -fnext-runtime |
| |
| .. option:: -fno-builtin-<arg> |
| |
| Disable implicit builtin knowledge of a specific function |
| |
| .. option:: -fno-elide-type |
| |
| Do not elide types when printing diagnostics |
| |
| .. option:: -fno-max-type-align |
| |
| .. option:: -fno-strict-modules-decluse |
| |
| .. option:: -fno-temp-file |
| |
| Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes |
| |
| .. option:: -fno-working-directory |
| |
| .. option:: -fno\_modules-validate-input-files-content |
| |
| .. program:: clang1 |
| .. option:: -fno\_pch-validate-input-files-content |
| .. program:: clang |
| |
| .. option:: -fnoxray-link-deps |
| |
| .. option:: -fobjc-abi-version=<arg> |
| |
| .. option:: -fobjc-arc, -fno-objc-arc |
| |
| Synthesize retain and release calls for Objective-C pointers |
| |
| .. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions |
| |
| Use EH-safe code when synthesizing retains and releases in -fobjc-arc |
| |
| .. option:: -fobjc-convert-messages-to-runtime-calls, -fno-objc-convert-messages-to-runtime-calls |
| |
| .. option:: -fobjc-disable-direct-methods-for-testing |
| |
| Ignore attribute objc\_direct so that direct methods can be tested |
| |
| .. option:: -fobjc-encode-cxx-class-template-spec, -fno-objc-encode-cxx-class-template-spec |
| |
| Fully encode c++ class template specialization |
| |
| .. option:: -fobjc-exceptions, -fno-objc-exceptions |
| |
| Enable Objective-C exceptions |
| |
| .. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type |
| |
| .. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch |
| |
| .. option:: -fobjc-link-runtime |
| |
| .. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi |
| |
| .. option:: -fobjc-nonfragile-abi-version=<arg> |
| |
| .. option:: -fobjc-runtime=<arg> |
| |
| Specify the target Objective-C runtime kind and version |
| |
| .. option:: -fobjc-sender-dependent-dispatch |
| |
| .. option:: -fobjc-weak, -fno-objc-weak |
| |
| Enable ARC-style weak references in Objective-C |
| |
| .. option:: -foffload-lto, -fno-offload-lto |
| |
| Enable LTO in 'full' mode for offload compilation |
| |
| .. program:: clang1 |
| .. option:: -foffload-lto=<arg> |
| .. program:: clang |
| |
| Set LTO mode to either 'full' or 'thin' for offload compilation |
| |
| .. option:: -fomit-frame-pointer, -fno-omit-frame-pointer |
| |
| .. option:: -fopenmp, -fno-openmp |
| |
| Parse OpenMP pragmas and generate parallel code. |
| |
| .. option:: -fopenmp-simd, -fno-openmp-simd |
| |
| Emit OpenMP code only for SIMD-based constructs. |
| |
| .. option:: -fopenmp-version=<arg> |
| |
| .. option:: -fopenmp-extensions, -fno-openmp-extensions |
| |
| Enable or disable all Clang extensions for OpenMP directives and clauses. By |
| default, they are enabled. |
| |
| .. program:: clang1 |
| .. option:: -fopenmp=<arg> |
| .. program:: clang |
| |
| .. option:: -foperator-arrow-depth=<arg> |
| |
| .. option:: -foperator-names, -fno-operator-names |
| |
| .. option:: -foptimization-record-file=<file> |
| |
| Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options. |
| |
| .. option:: -foptimization-record-passes=<regex> |
| |
| Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes) |
| |
| .. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls |
| |
| .. option:: -forder-file-instrumentation |
| |
| Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var) |
| |
| .. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg> |
| |
| .. option:: -fpack-struct, -fno-pack-struct |
| |
| .. program:: clang1 |
| .. option:: -fpack-struct=<arg> |
| .. program:: clang |
| |
| Specify the default maximum struct packing alignment |
| |
| .. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings |
| |
| Recognize and construct Pascal-style string literals |
| |
| .. option:: -fpass-plugin=<dsopath> |
| |
| Load pass plugin from a dynamic shared object file (only with new pass manager). |
| |
| .. option:: -fpatchable-function-entry=<N,M> |
| |
| Generate M NOPs before function entry and N-M NOPs after function entry |
| |
| .. option:: -fpcc-struct-return |
| |
| Override the default ABI to return all structs on the stack |
| |
| .. option:: -fpch-codegen, -fno-pch-codegen |
| |
| Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH |
| |
| .. option:: -fpch-debuginfo, -fno-pch-debuginfo |
| |
| Generate debug info for types in an object file built from this PCH and do not generate them elsewhere |
| |
| .. option:: -fpch-instantiate-templates, -fno-pch-instantiate-templates |
| |
| Instantiate templates already while building a PCH |
| |
| .. option:: -fpch-preprocess |
| |
| .. option:: -fpch-validate-input-files-content |
| |
| Validate PCH input files based on content if mtime differs |
| |
| .. option:: -fpic, -fno-pic |
| |
| .. option:: -fpie, -fno-pie |
| |
| .. option:: -fplt, -fno-plt |
| |
| .. option:: -fplugin=<dsopath> |
| |
| Load the named plugin (dynamic shared object) |
| |
| .. option:: -fprebuilt-implicit-modules, -fno-prebuilt-implicit-modules |
| |
| Look up implicit modules in the prebuilt module path |
| |
| .. option:: -fpreserve-as-comments, -fno-preserve-as-comments |
| |
| .. option:: -fproc-stat-report<arg> |
| |
| Print subprocess statistics |
| |
| .. program:: clang1 |
| .. option:: -fproc-stat-report=<arg> |
| .. program:: clang |
| |
| Save subprocess statistics to the given file |
| |
| .. option:: -fprofile-arcs, -fno-profile-arcs |
| |
| .. option:: -fprofile-dir=<arg> |
| |
| .. option:: -fprofile-exclude-files=<arg> |
| |
| Instrument only functions from files where names don't match all the regexes separated by a semi-colon |
| |
| .. option:: -fprofile-filter-files=<arg> |
| |
| Instrument only functions from files where names match any regex separated by a semi-colon |
| |
| .. option:: -fprofile-generate, -fno-profile-generate |
| |
| Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var) |
| |
| .. program:: clang1 |
| .. option:: -fprofile-generate=<directory> |
| .. program:: clang |
| |
| Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var) |
| |
| .. option:: -fprofile-instr-generate, -fno-profile-instr-generate |
| |
| Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var) |
| |
| .. program:: clang1 |
| .. option:: -fprofile-instr-generate=<file> |
| .. program:: clang |
| |
| Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var) |
| |
| .. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use |
| |
| .. program:: clang1 |
| .. option:: -fprofile-instr-use=<arg> |
| .. program:: clang |
| |
| Use instrumentation data for profile-guided optimization |
| |
| .. option:: -fprofile-list=<arg> |
| |
| Filename defining the list of functions/files to instrument |
| |
| .. option:: -fprofile-remapping-file=<file> |
| |
| Use the remappings described in <file> to match the profile data against names in the program |
| |
| .. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate |
| |
| Specifies that the sample profile is accurate. If the sample |
| profile is accurate, callsites without profile samples are marked |
| as cold. Otherwise, treat callsites without profile samples as if |
| we have no profile |
| |
| .. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use |
| |
| .. program:: clang1 |
| .. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg> |
| .. program:: clang |
| |
| Enable sample-based profile guided optimizations |
| |
| .. option:: -fprofile-update=<method> |
| |
| Set update method of profile counters (atomic,prefer-atomic,single) |
| |
| .. program:: clang1 |
| .. option:: -fprofile-use=<pathname> |
| .. program:: clang |
| |
| Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>. |
| |
| .. option:: -fpseudo-probe-for-profiling, -fno-pseudo-probe-for-profiling |
| |
| Emit pseudo probes for sample profiling |
| |
| .. option:: -freciprocal-math, -fno-reciprocal-math |
| |
| Allow division operations to be reassociated |
| |
| .. option:: -freg-struct-return |
| |
| Override the default ABI to return small structs in registers |
| |
| .. option:: -fregister-global-dtors-with-atexit, -fno-register-global-dtors-with-atexit |
| |
| Use atexit or \_\_cxa\_atexit to register global destructors |
| |
| .. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args |
| |
| Enable C++17 relaxed template template argument matching |
| |
| .. option:: -freroll-loops, -fno-reroll-loops |
| |
| Turn on loop reroller |
| |
| .. option:: -fretain-comments-from-system-headers |
| |
| .. option:: -frewrite-imports, -fno-rewrite-imports |
| |
| .. option:: -frewrite-includes, -fno-rewrite-includes |
| |
| .. option:: -frewrite-map-file=<arg> |
| |
| .. option:: -fropi, -fno-ropi |
| |
| Generate read-only position independent code (ARM only) |
| |
| .. option:: -frounding-math, -fno-rounding-math |
| |
| .. option:: -frtti, -fno-rtti |
| |
| .. option:: -frtti-data, -fno-rtti-data |
| |
| .. option:: -frwpi, -fno-rwpi |
| |
| Generate read-write position independent code (ARM only) |
| |
| .. option:: -fsave-optimization-record, -fno-save-optimization-record |
| |
| Generate a YAML optimization record file |
| |
| .. program:: clang1 |
| .. option:: -fsave-optimization-record=<format> |
| .. program:: clang |
| |
| Generate an optimization record file in a specific format |
| |
| .. option:: -fseh-exceptions |
| |
| Use SEH style exceptions |
| |
| .. option:: -fsemantic-interposition, -fno-semantic-interposition |
| |
| .. option:: -fshort-enums, -fno-short-enums |
| |
| Allocate to an enum type only as many bytes as it needs for the declared range of possible values |
| |
| .. option:: -fshort-wchar, -fno-short-wchar |
| |
| Force wchar\_t to be a short unsigned int |
| |
| .. option:: -fshow-column, -fno-show-column |
| |
| .. option:: -fshow-overloads=<arg> |
| |
| Which overload candidates to show when overload resolution fails: best\|all; defaults to all |
| |
| .. option:: -fshow-source-location, -fno-show-source-location |
| |
| .. option:: -fsignaling-math, -fno-signaling-math |
| |
| .. option:: -fsigned-bitfields |
| |
| .. option:: -fsigned-char, -fno-signed-char, --signed-char |
| |
| char is signed |
| |
| .. option:: -fsigned-zeros, -fno-signed-zeros |
| |
| .. option:: -fsized-deallocation, -fno-sized-deallocation |
| |
| Enable C++14 sized global deallocation functions |
| |
| .. option:: -fsjlj-exceptions |
| |
| Use SjLj style exceptions |
| |
| .. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize |
| |
| Enable the superword-level parallelism vectorization passes |
| |
| .. option:: -fspell-checking, -fno-spell-checking |
| |
| .. option:: -fspell-checking-limit=<arg> |
| |
| .. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining |
| |
| Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF |
| |
| .. option:: -fsplit-lto-unit, -fno-split-lto-unit |
| |
| Enables splitting of the LTO unit |
| |
| .. option:: -fsplit-machine-functions, -fno-split-machine-functions |
| |
| Enable late function splitting using profile information (x86 ELF) |
| |
| .. option:: -fsplit-stack, -fno-split-stack |
| |
| Use segmented stack |
| |
| .. option:: -fstack-clash-protection, -fno-stack-clash-protection |
| |
| Enable stack clash protection |
| |
| .. option:: -fstack-protector, -fno-stack-protector |
| |
| Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. 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. |
| |
| .. option:: -fstack-protector-all |
| |
| Enable stack protectors for all functions |
| |
| .. option:: -fstack-protector-strong |
| |
| Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable |
| |
| .. option:: -fstack-size-section, -fno-stack-size-section |
| |
| Emit section containing metadata on function stack sizes |
| |
| .. option:: -fstack-usage |
| |
| Emit .su file containing information on function stack sizes |
| |
| .. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug |
| |
| Emit full debug info for all types used by the program |
| |
| .. option:: -fstrict-aliasing, -fno-strict-aliasing |
| |
| .. option:: -fstrict-enums, -fno-strict-enums |
| |
| Enable optimizations based on the strict definition of an enum's value range |
| |
| .. option:: -fstrict-float-cast-overflow, -fno-strict-float-cast-overflow |
| |
| Assume that overflowing float-to-int casts are undefined (default) |
| |
| .. option:: -fstrict-overflow, -fno-strict-overflow |
| |
| .. option:: -fstrict-return, -fno-strict-return |
| |
| .. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers |
| |
| Enable optimizations based on the strict rules for overwriting polymorphic C++ objects |
| |
| .. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa |
| |
| .. option:: -fsymbol-partition=<arg> |
| |
| .. option:: -ftabstop=<arg> |
| |
| .. option:: -ftemplate-backtrace-limit=<arg> |
| |
| .. option:: -ftemplate-depth-<arg> |
| |
| .. option:: -ftemplate-depth=<arg> |
| |
| .. option:: -ftest-coverage, -fno-test-coverage |
| |
| .. option:: -fthin-link-bitcode=<arg> |
| |
| Write minimized bitcode to <file> for the ThinLTO thin link only |
| |
| .. option:: -fthinlto-index=<arg> |
| |
| Perform ThinLTO importing using provided function summary index |
| |
| .. option:: -fthreadsafe-statics, -fno-threadsafe-statics |
| |
| .. option:: -ftime-report |
| |
| .. program:: clang1 |
| .. option:: -ftime-report=<arg> |
| .. program:: clang |
| |
| (For new pass manager) "per-pass": one report for each pass; "per-pass-run": one report for each pass invocation |
| |
| .. option:: -ftime-trace |
| |
| |
| Turn on time profiler. Generates JSON file based on output filename. Results |
| can be analyzed with chrome://tracing or `Speedscope App |
| <https://www.speedscope.app>`_ for flamegraph visualization. |
| |
| .. option:: -ftime-trace-granularity=<arg> |
| |
| Minimum time granularity (in microseconds) traced by time profiler |
| |
| .. option:: -ftls-model=<arg> |
| |
| .. option:: -ftrap-function=<arg> |
| |
| Issue call to specified function rather than a trap instruction |
| |
| .. option:: -ftrapping-math, -fno-trapping-math |
| |
| .. option:: -ftrapv |
| |
| Trap on integer overflow |
| |
| .. option:: -ftrapv-handler <arg> |
| |
| .. program:: clang1 |
| .. option:: -ftrapv-handler=<function name> |
| .. program:: clang |
| |
| Specify the function to be called on overflow |
| |
| .. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs |
| |
| Process trigraph sequences |
| |
| .. option:: -ftrivial-auto-var-init-stop-after=<arg> |
| |
| Stop initializing trivial automatic stack variables after the specified number of instances |
| |
| .. option:: -ftrivial-auto-var-init=<arg> |
| |
| Initialize trivial automatic stack variables: uninitialized (default) \| pattern |
| |
| .. option:: -funique-basic-block-section-names, -fno-unique-basic-block-section-names |
| |
| Use unique names for basic block sections (ELF Only) |
| |
| .. option:: -funique-internal-linkage-names, -fno-unique-internal-linkage-names |
| |
| Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path |
| |
| .. option:: -funique-section-names, -fno-unique-section-names |
| |
| .. option:: -funit-at-a-time, -fno-unit-at-a-time |
| |
| .. option:: -funroll-loops, -fno-unroll-loops |
| |
| Turn on loop unroller |
| |
| .. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations |
| |
| .. option:: -funsigned-bitfields |
| |
| .. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char |
| |
| .. option:: -funwind-tables, -fno-unwind-tables |
| |
| .. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit |
| |
| .. option:: -fuse-init-array, -fno-use-init-array |
| |
| .. option:: -fuse-ld=<arg> |
| |
| .. option:: -fuse-line-directives, -fno-use-line-directives |
| |
| Use #line in preprocessed output |
| |
| .. option:: -fminimize-whitespace, -fno-minimize-whitespace |
| |
| Ignore the whitespace from the input file when emitting preprocessor |
| output. It will only contain whitespace when necessary, e.g. to keep two |
| minus signs from merging into to an increment operator. Useful with the |
| -P option to normalize whitespace such that two files with only formatting |
| changes are equal. |
| |
| Only valid with -E on C-like inputs and incompatible with -traditional-cpp. |
| |
| .. option:: -fvalidate-ast-input-files-content |
| |
| Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical |
| |
| .. option:: -fveclib=<arg> |
| |
| Use the given vector functions library |
| |
| .. option:: -fvectorize, -fno-vectorize, -ftree-vectorize |
| |
| Enable the loop vectorization passes |
| |
| .. option:: -fverbose-asm, -dA, -fno-verbose-asm |
| |
| Generate verbose assembly output |
| |
| .. option:: -fvirtual-function-elimination, -fno-virtual-function-elimination |
| |
| Enables dead virtual function elimination optimization. Requires -flto=full |
| |
| .. option:: -fvisibility-dllexport=<arg> |
| |
| The visibility for dllexport definitions \[-fvisibility-from-dllstorageclass\] |
| |
| .. option:: -fvisibility-externs-dllimport=<arg> |
| |
| The visibility for dllimport external declarations \[-fvisibility-from-dllstorageclass\] |
| |
| .. option:: -fvisibility-externs-nodllstorageclass=<arg> |
| |
| The visibility for external declarations without an explicit DLL dllstorageclass \[-fvisibility-from-dllstorageclass\] |
| |
| .. option:: -fvisibility-from-dllstorageclass, -fno-visibility-from-dllstorageclass |
| |
| Set the visibility of symbols in the generated code from their DLL storage class |
| |
| .. option:: -fvisibility-global-new-delete-hidden |
| |
| Give global C++ operator new and delete declarations hidden visibility |
| |
| .. option:: -fvisibility-inlines-hidden, -fno-visibility-inlines-hidden |
| |
| Give inline C++ member functions hidden visibility by default |
| |
| .. option:: -fvisibility-inlines-hidden-static-local-var, -fno-visibility-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 |
| |
| .. option:: -fvisibility-ms-compat |
| |
| Give global types 'default' visibility and global functions and variables 'hidden' visibility by default |
| |
| .. option:: -fvisibility-nodllstorageclass=<arg> |
| |
| The visibility for definitions without an explicit DLL export class \[-fvisibility-from-dllstorageclass\] |
| |
| .. option:: -fvisibility=<arg> |
| |
| Set the default symbol visibility for all global declarations |
| |
| .. option:: -fwarn-stack-size=<arg> |
| |
| .. option:: -fwasm-exceptions |
| |
| Use WebAssembly style exceptions |
| |
| .. option:: -fwhole-program-vtables, -fno-whole-program-vtables |
| |
| Enables whole-program vtable optimization. Requires -flto |
| |
| .. option:: -fwrapv, -fno-wrapv |
| |
| Treat signed integer overflow as two's complement |
| |
| .. option:: -fwritable-strings |
| |
| Store string literals as writable data |
| |
| .. option:: -fxl-pragma-pack, -fno-xl-pragma-pack |
| |
| Enable IBM XL #pragma pack handling |
| |
| .. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents |
| |
| Always emit \_\_xray\_customevent(...) calls even if the containing function is not always instrumented |
| |
| .. option:: -fxray-always-emit-typedevents, -fno-xray-always-emit-typedevents |
| |
| Always emit \_\_xray\_typedevent(...) calls even if the containing function is not always instrumented |
| |
| .. option:: -fxray-always-instrument=<arg> |
| |
| DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute. |
| |
| .. option:: -fxray-attr-list=<arg> |
| |
| Filename defining the list of functions/types for imbuing XRay attributes. |
| |
| .. option:: -fxray-function-groups=<arg> |
| |
| Only instrument 1 of N groups |
| |
| .. option:: -fxray-function-index, -fno-xray-function-index |
| |
| .. option:: -fxray-ignore-loops, -fno-xray-ignore-loops |
| |
| Don't instrument functions with loops unless they also meet the minimum function size |
| |
| .. option:: -fxray-instruction-threshold<arg> |
| |
| .. program:: clang1 |
| .. option:: -fxray-instruction-threshold=<arg> |
| .. program:: clang |
| |
| Sets the minimum function size to instrument with XRay |
| |
| .. option:: -fxray-instrument, -fno-xray-instrument |
| |
| Generate XRay instrumentation sleds on function entry and exit |
| |
| .. option:: -fxray-instrumentation-bundle=<arg> |
| |
| Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'. |
| |
| .. option:: -fxray-link-deps |
| |
| Tells clang to add the link dependencies for XRay. |
| |
| .. option:: -fxray-modes=<arg> |
| |
| List of modes to link in by default into XRay instrumented binaries. |
| |
| .. option:: -fxray-never-instrument=<arg> |
| |
| DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute. |
| |
| .. option:: -fxray-selected-function-group=<arg> |
| |
| When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1 |
| |
| .. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss |
| |
| .. option:: -fzvector, -fno-zvector, -mzvector |
| |
| Enable System z vector language extension |
| |
| .. option:: --gpu-bundle-output, --no-gpu-bundle-output |
| |
| Bundle output files of HIP device compilation |
| |
| .. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic |
| |
| Warn on language extensions |
| |
| .. option:: -pedantic-errors, --pedantic-errors |
| |
| OpenCL flags |
| ------------ |
| .. option:: -cl-denorms-are-zero |
| |
| OpenCL only. Allow denormals to be flushed to zero. |
| |
| .. option:: -cl-fast-relaxed-math |
| |
| OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_. |
| |
| .. option:: -cl-finite-math-only |
| |
| OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf. |
| |
| .. option:: -cl-fp32-correctly-rounded-divide-sqrt |
| |
| OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded. |
| |
| .. option:: -cl-kernel-arg-info |
| |
| OpenCL only. Generate kernel argument metadata. |
| |
| .. option:: -cl-mad-enable |
| |
| OpenCL only. Allow use of less precise MAD computations in the generated binary. |
| |
| .. option:: -cl-no-signed-zeros |
| |
| OpenCL only. Allow use of less precise no signed zeros computations in the generated binary. |
| |
| .. option:: -cl-no-stdinc |
| |
| OpenCL only. Disables all standard includes containing non-native compiler types and functions. |
| |
| .. option:: -cl-opt-disable |
| |
| OpenCL only. This option disables all optimizations. By default optimizations are enabled. |
| |
| .. option:: -cl-single-precision-constant |
| |
| OpenCL only. Treat double precision floating-point constant as single precision constant. |
| |
| .. option:: -cl-std=<arg> |
| |
| OpenCL language standard to compile for. |
| |
| .. option:: -cl-strict-aliasing |
| |
| OpenCL only. This option is added for compatibility with OpenCL 1.0. |
| |
| .. option:: -cl-uniform-work-group-size |
| |
| OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel |
| |
| .. option:: -cl-unsafe-math-optimizations |
| |
| OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable. |
| |
| SYCL flags |
| ---------- |
| .. option:: -fsycl, -fno-sycl |
| |
| Enables SYCL kernels compilation for device |
| |
| .. option:: -sycl-std=<arg> |
| |
| SYCL language standard to compile for. |
| |
| Target-dependent compilation options |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .. option:: -G<size>, -G=<arg>, -msmall-data-limit=<arg>, -msmall-data-threshold=<arg> |
| |
| Put objects of at most <size> bytes into small data section (MIPS / Hexagon) |
| |
| .. option:: -ffixed-x1 |
| |
| Reserve the x1 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x10 |
| |
| Reserve the x10 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x11 |
| |
| Reserve the x11 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x12 |
| |
| Reserve the x12 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x13 |
| |
| Reserve the x13 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x14 |
| |
| Reserve the x14 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x15 |
| |
| Reserve the x15 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x16 |
| |
| Reserve the x16 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x17 |
| |
| Reserve the x17 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x18 |
| |
| Reserve the x18 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x19 |
| |
| Reserve the x19 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x2 |
| |
| Reserve the x2 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x20 |
| |
| Reserve the x20 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x21 |
| |
| Reserve the x21 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x22 |
| |
| Reserve the x22 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x23 |
| |
| Reserve the x23 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x24 |
| |
| Reserve the x24 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x25 |
| |
| Reserve the x25 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x26 |
| |
| Reserve the x26 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x27 |
| |
| Reserve the x27 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x28 |
| |
| Reserve the x28 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x29 |
| |
| Reserve the x29 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x3 |
| |
| Reserve the x3 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x30 |
| |
| Reserve the x30 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x31 |
| |
| Reserve the x31 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x4 |
| |
| Reserve the x4 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x5 |
| |
| Reserve the x5 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x6 |
| |
| Reserve the x6 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x7 |
| |
| Reserve the x7 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x8 |
| |
| Reserve the x8 register (AArch64/RISC-V only) |
| |
| .. option:: -ffixed-x9 |
| |
| Reserve the x9 register (AArch64/RISC-V only) |
| |
| .. option:: -m16 |
| |
| .. option:: -m32 |
| |
| .. option:: -m64 |
| |
| .. option:: -mabi=<arg> |
| |
| .. program:: clang1 |
| .. option:: -mabi=vec-default |
| .. program:: clang |
| |
| Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers. |
| |
| .. program:: clang2 |
| .. option:: -mabi=vec-extabi |
| .. program:: clang |
| |
| Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers |
| |
| .. option:: -maix-struct-return |
| |
| Return all structs in memory (PPC32 only) |
| |
| .. option:: -malign-branch-boundary=<arg> |
| |
| Specify the boundary's size to align branches |
| |
| .. option:: -malign-branch=<arg1>,<arg2>... |
| |
| Specify types of branches to align |
| |
| .. option:: -malign-double |
| |
| Align doubles to two words in structs (x86 only) |
| |
| .. option:: -mamdgpu-ieee, -mno-amdgpu-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) |
| |
| .. option:: -march=<arg> |
| |
| .. option:: -masm=<arg> |
| |
| .. option:: -mbackchain, -mno-backchain |
| |
| Link stack frames through backchain on System Z |
| |
| .. option:: -mbranches-within-32B-boundaries |
| |
| Align selected branches (fused, jcc, jmp) within 32-byte boundary |
| |
| .. option:: -mcmodel=<arg>, -mcmodel=medany (equivalent to -mcmodel=medium), -mcmodel=medlow (equivalent to -mcmodel=small) |
| |
| .. option:: -mcode-object-v3, -mno-code-object-v3 |
| |
| Legacy option to specify code object ABI V3 (AMDGPU only) |
| |
| .. option:: -mcode-object-version=<version> |
| |
| Specify code object ABI version. Defaults to 3. (AMDGPU only) |
| |
| .. option:: -mconsole<arg> |
| |
| .. program:: clang1 |
| .. option:: -mcpu=<arg>, -mv5 (equivalent to -mcpu=hexagonv5), -mv55 (equivalent to -mcpu=hexagonv55), -mv60 (equivalent to -mcpu=hexagonv60), -mv62 (equivalent to -mcpu=hexagonv62), -mv65 (equivalent to -mcpu=hexagonv65), -mv66 (equivalent to -mcpu=hexagonv66), -mv67 (equivalent to -mcpu=hexagonv67), -mv67t (equivalent to -mcpu=hexagonv67t), -mv68 (equivalent to -mcpu=hexagonv68) |
| .. program:: clang |
| |
| .. option:: -mcrc, -mno-crc |
| |
| Allow use of CRC instructions (ARM/Mips only) |
| |
| .. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg> |
| |
| .. option:: -mdll<arg> |
| |
| .. option:: -mdouble=<arg> |
| |
| Force double to be 32 bits or 64 bits |
| |
| .. option:: -mdynamic-no-pic<arg> |
| |
| .. option:: -meabi <arg> |
| |
| Set EABI type, e.g. 4, 5 or gnu (default depends on triple) |
| |
| .. option:: -menable-experimental-extensions |
| |
| Enable use of experimental RISC-V extensions. |
| |
| .. option:: -mfentry |
| |
| Insert calls to fentry at function entry (x86/SystemZ only) |
| |
| .. option:: -mfloat-abi=<arg> |
| |
| .. option:: -mfpmath=<arg> |
| |
| .. option:: -mfpu=<arg> |
| |
| .. option:: -mglobal-merge, -mno-global-merge |
| |
| Enable merging of globals |
| |
| .. option:: -mhard-float |
| |
| .. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg> |
| |
| .. option:: -mhwmult=<arg> |
| |
| .. option:: -miamcu, -mno-iamcu |
| |
| Use Intel MCU ABI |
| |
| .. option:: -mignore-xcoff-visibility |
| |
| Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file |
| |
| .. option:: -mimplicit-float, -mno-implicit-float |
| |
| .. option:: -mimplicit-it=<arg> |
| |
| .. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible |
| |
| (integrated-as) Emit an object file which can be used with an incremental linker |
| |
| .. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg> |
| |
| .. option:: -mkernel |
| |
| .. option:: -mlong-calls, -mno-long-calls |
| |
| Generate branches with extended addressability, usually via indirect jumps. |
| |
| .. option:: -mlvi-cfi, -mno-lvi-cfi |
| |
| Enable only control-flow mitigations for Load Value Injection (LVI) |
| |
| .. option:: -mlvi-hardening, -mno-lvi-hardening |
| |
| Enable all mitigations for Load Value Injection (LVI) |
| |
| .. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg> |
| |
| Set Mac OS X deployment target |
| |
| .. option:: -mmcu=<arg> |
| |
| .. option:: -mms-bitfields, -mno-ms-bitfields |
| |
| Set the default structure layout to be compatible with the Microsoft compiler standard |
| |
| .. option:: -mnop-mcount |
| |
| Generate mcount/\_\_fentry\_\_ calls as nops. To activate they need to be patched in. |
| |
| .. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer |
| |
| Omit frame pointer setup for leaf functions |
| |
| .. option:: -moslib=<arg> |
| |
| .. option:: -mpacked-stack, -mno-packed-stack |
| |
| Use packed stack layout (SystemZ only). |
| |
| .. option:: -mpad-max-prefix-size=<arg> |
| |
| Specify maximum number of prefixes to use for padding |
| |
| .. option:: -mprefer-vector-width=<arg> |
| |
| Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions. |
| |
| .. option:: -mqdsp6-compat |
| |
| Enable hexagon-qdsp6 backward compatibility |
| |
| .. option:: -mrecip |
| |
| .. program:: clang1 |
| .. option:: -mrecip=<arg1>,<arg2>... |
| .. program:: clang |
| |
| .. option:: -mrecord-mcount |
| |
| Generate a \_\_mcount\_loc section entry for each \_\_fentry\_\_ call. |
| |
| .. option:: -mred-zone, -mno-red-zone |
| |
| .. option:: -mregparm=<arg> |
| |
| .. option:: -mrelax, -mno-relax |
| |
| Enable linker relaxation |
| |
| .. option:: -mrelax-all, -mno-relax-all |
| |
| (integrated-as) Relax all machine instructions |
| |
| .. option:: -mretpoline, -mno-retpoline |
| |
| .. option:: -mrtd, -mno-rtd |
| |
| Make StdCall calling convention the default |
| |
| .. option:: -mseses, -mno-seses |
| |
| Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations |
| |
| .. option:: -msign-return-address=<arg> |
| |
| Select return address signing scope |
| |
| .. option:: -msim |
| |
| .. option:: -msoft-float, -mno-soft-float |
| |
| Use software floating point |
| |
| .. option:: -mspeculative-load-hardening, -mno-speculative-load-hardening |
| |
| .. option:: -mstack-alignment=<arg> |
| |
| Set the stack alignment |
| |
| .. option:: -mstack-arg-probe, -mno-stack-arg-probe |
| |
| Enable stack probes |
| |
| .. option:: -mstack-probe-size=<arg> |
| |
| Set the stack probe size |
| |
| .. option:: -mstack-protector-guard-offset=<arg> |
| |
| Use the given offset for addressing the stack-protector guard |
| |
| .. option:: -mstack-protector-guard-reg=<arg> |
| |
| Use the given reg for addressing the stack-protector guard |
| |
| .. option:: -mstack-protector-guard=<arg> |
| |
| Use the given guard (global, tls) for addressing the stack-protector guard |
| |
| .. option:: -mstackrealign, -mno-stackrealign |
| |
| Force realign the stack at entry to every function |
| |
| .. option:: -msvr4-struct-return |
| |
| Return small structs in registers (PPC32 only) |
| |
| .. option:: -mthread-model <arg> |
| |
| The thread model to use, e.g. posix, single (posix by default) |
| |
| .. option:: -mthreads<arg> |
| |
| .. option:: -mthumb, -mno-thumb |
| |
| .. option:: -mtls-direct-seg-refs, -mno-tls-direct-seg-refs |
| |
| Enable direct TLS access through segment registers (default) |
| |
| .. option:: -mtls-size=<arg> |
| |
| Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) \| 24 (for 16MB, default) \| 32 (for 4GB) \| 48 (for 256TB, needs -mcmodel=large) |
| |
| .. program:: clang1 |
| .. option:: -mtune=<arg> |
| .. program:: clang |
| |
| Only supported on X86 and RISC-V. Otherwise accepted for compatibility with GCC. |
| |
| .. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg> |
| |
| .. option:: -municode<arg> |
| |
| .. option:: -munsafe-fp-atomics, -mno-unsafe-fp-atomics |
| |
| Enable unsafe floating point atomic instructions (AMDGPU only) |
| |
| .. option:: -mvx, -mno-vx |
| |
| .. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings |
| |
| .. option:: -mwatchos-version-min=<arg> |
| |
| .. option:: -mwavefrontsize64, -mno-wavefrontsize64 |
| |
| Specify wavefront size 64 mode (AMDGPU only) |
| |
| .. option:: -mwindows<arg> |
| |
| .. option:: -mx32 |
| |
| AARCH64 |
| ------- |
| .. option:: -fcall-saved-x10 |
| |
| Make the x10 register call-saved (AArch64 only) |
| |
| .. option:: -fcall-saved-x11 |
| |
| Make the x11 register call-saved (AArch64 only) |
| |
| .. option:: -fcall-saved-x12 |
| |
| Make the x12 register call-saved (AArch64 only) |
| |
| .. option:: -fcall-saved-x13 |
| |
| Make the x13 register call-saved (AArch64 only) |
| |
| .. option:: -fcall-saved-x14 |
| |
| Make the x14 register call-saved (AArch64 only) |
| |
| .. option:: -fcall-saved-x15 |
| |
| Make the x15 register call-saved (AArch64 only) |
| |
| .. option:: -fcall-saved-x18 |
| |
| Make the x18 register call-saved (AArch64 only) |
| |
| .. option:: -fcall-saved-x8 |
| |
| Make the x8 register call-saved (AArch64 only) |
| |
| .. option:: -fcall-saved-x9 |
| |
| Make the x9 register call-saved (AArch64 only) |
| |
| .. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769 |
| |
| Workaround Cortex-A53 erratum 835769 (AArch64 only) |
| |
| .. option:: -mgeneral-regs-only |
| |
| Generate code which only uses the general purpose registers (AArch64 only) |
| |
| .. option:: -mmark-bti-property |
| |
| Add .note.gnu.property with BTI to assembly files (AArch64 only) |
| |
| .. option:: -msve-vector-bits=<arg> |
| |
| Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only) |
| |
| AMDGPU |
| ------ |
| .. option:: -mcumode, -mno-cumode |
| |
| Specify CU wavefront execution mode (AMDGPU only) |
| |
| .. option:: -mtgsplit, -mno-tgsplit |
| |
| Enable threadgroup split execution mode (AMDGPU only) |
| |
| ARM |
| --- |
| .. option:: -faapcs-bitfield-load |
| |
| Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only). |
| |
| .. option:: -faapcs-bitfield-width, -fno-aapcs-bitfield-width |
| |
| Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only). |
| |
| .. option:: -ffixed-r9 |
| |
| Reserve the r9 register (ARM only) |
| |
| .. option:: -mcmse |
| |
| Allow use of CMSE (Armv8-M Security Extensions) |
| |
| .. option:: -mfix-cmse-cve-2021-35465, -mno-fix-cmse-cve-2021-35465 |
| |
| Enable the cve-2021-35465 security vulnerability mitigation (ARM only). |
| |
| .. option:: -mexecute-only, -mno-execute-only, -mpure-code |
| |
| Disallow generation of data access to code sections (ARM only) |
| |
| .. option:: -mno-movt |
| |
| Disallow use of movt/movw pairs (ARM only) |
| |
| .. option:: -mno-neg-immediates |
| |
| Disallow converting instructions with negative immediates to their negation or inversion. |
| |
| .. option:: -mnocrc |
| |
| Disallow use of CRC instructions (ARM only) |
| |
| .. option:: -mrestrict-it, -mno-restrict-it |
| |
| Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode. |
| |
| .. option:: -mtp=<arg> |
| |
| Thread pointer access method (AArch32/AArch64 only) |
| |
| .. option:: -munaligned-access, -mno-unaligned-access |
| |
| Allow memory accesses to be unaligned (AArch32/AArch64 only) |
| |
| Hexagon |
| ------- |
| .. option:: -mieee-rnd-near |
| |
| .. option:: -mmemops, -mno-memops |
| |
| Enable generation of memop instructions |
| |
| .. option:: -mnvj, -mno-nvj |
| |
| Enable generation of new-value jumps |
| |
| .. option:: -mnvs, -mno-nvs |
| |
| Enable generation of new-value stores |
| |
| .. option:: -mpackets, -mno-packets |
| |
| Enable generation of instruction packets |
| |
| Hexagon |
| ------- |
| .. option:: -mhvx, -mno-hvx |
| |
| Enable Hexagon Vector eXtensions |
| |
| .. option:: -mhvx-length=<arg> |
| |
| Set Hexagon Vector Length |
| |
| .. program:: clang1 |
| .. option:: -mhvx=<arg> |
| .. program:: clang |
| |
| Enable Hexagon Vector eXtensions |
| |
| M68k |
| ---- |
| .. option:: -ffixed-a0 |
| |
| Reserve the a0 register (M68k only) |
| |
| .. option:: -ffixed-a1 |
| |
| Reserve the a1 register (M68k only) |
| |
| .. option:: -ffixed-a2 |
| |
| Reserve the a2 register (M68k only) |
| |
| .. option:: -ffixed-a3 |
| |
| Reserve the a3 register (M68k only) |
| |
| .. option:: -ffixed-a4 |
| |
| Reserve the a4 register (M68k only) |
| |
| .. option:: -ffixed-a5 |
| |
| Reserve the a5 register (M68k only) |
| |
| .. option:: -ffixed-a6 |
| |
| Reserve the a6 register (M68k only) |
| |
| .. option:: -ffixed-d0 |
| |
| Reserve the d0 register (M68k only) |
| |
| .. option:: -ffixed-d1 |
| |
| Reserve the d1 register (M68k only) |
| |
| .. option:: -ffixed-d2 |
| |
| Reserve the d2 register (M68k only) |
| |
| .. option:: -ffixed-d3 |
| |
| Reserve the d3 register (M68k only) |
| |
| .. option:: -ffixed-d4 |
| |
| Reserve the d4 register (M68k only) |
| |
| .. option:: -ffixed-d5 |
| |
| Reserve the d5 register (M68k only) |
| |
| .. option:: -ffixed-d6 |
| |
| Reserve the d6 register (M68k only) |
| |
| .. option:: -ffixed-d7 |
| |
| Reserve the d7 register (M68k only) |
| |
| .. option:: -m68000 |
| |
| .. option:: -m68010 |
| |
| .. option:: -m68020 |
| |
| .. option:: -m68030 |
| |
| .. option:: -m68040 |
| |
| .. option:: -m68060 |
| |
| MIPS |
| ---- |
| .. option:: -mabicalls, -mno-abicalls |
| |
| Enable SVR4-style position-independent code (Mips only) |
| |
| .. option:: -mabs=<arg> |
| |
| .. option:: -mcheck-zero-division, -mno-check-zero-division |
| |
| .. option:: -mcompact-branches=<arg> |
| |
| .. option:: -mdouble-float |
| |
| .. option:: -mdsp, -mno-dsp |
| |
| .. option:: -mdspr2, -mno-dspr2 |
| |
| .. option:: -membedded-data, -mno-embedded-data |
| |
| Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS) |
| |
| .. option:: -mextern-sdata, -mno-extern-sdata |
| |
| Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS) |
| |
| .. option:: -mfp32 |
| |
| Use 32-bit floating point registers (MIPS only) |
| |
| .. option:: -mfp64 |
| |
| Use 64-bit floating point registers (MIPS only) |
| |
| .. option:: -mginv, -mno-ginv |
| |
| .. option:: -mgpopt, -mno-gpopt |
| |
| Use GP relative accesses for symbols known to be in a small data section (MIPS) |
| |
| .. option:: -mindirect-jump=<arg> |
| |
| Change indirect jump instructions to inhibit speculation |
| |
| .. option:: -mips16 |
| |
| .. option:: -mldc1-sdc1, -mno-ldc1-sdc1 |
| |
| .. option:: -mlocal-sdata, -mno-local-sdata |
| |
| Extend the -G behaviour to object local data (MIPS) |
| |
| .. option:: -mmadd4, -mno-madd4 |
| |
| Enable the generation of 4-operand madd.s, madd.d and related instructions. |
| |
| .. option:: -mmicromips, -mno-micromips |
| |
| .. option:: -mmsa, -mno-msa |
| |
| Enable MSA ASE (MIPS only) |
| |
| .. option:: -mmt, -mno-mt |
| |
| Enable MT ASE (MIPS only) |
| |
| .. option:: -mnan=<arg> |
| |
| .. option:: -mno-mips16 |
| |
| .. option:: -msingle-float |
| |
| .. option:: -mvirt, -mno-virt |
| |
| .. option:: -mxgot, -mno-xgot |
| |
| PowerPC |
| ------- |
| .. option:: -maltivec, -mno-altivec |
| |
| .. option:: -mcmpb, -mno-cmpb |
| |
| .. option:: -mcrbits, -mno-crbits |
| |
| .. option:: -mcrypto, -mno-crypto |
| |
| .. option:: -mdirect-move, -mno-direct-move |
| |
| .. option:: -mefpu2 |
| |
| .. option:: -mfloat128, -mno-float128 |
| |
| .. option:: -mfprnd, -mno-fprnd |
| |
| .. option:: -mhtm, -mno-htm |
| |
| .. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors |
| |
| .. option:: -misel, -mno-isel |
| |
| .. option:: -mlongcall, -mno-longcall |
| |
| .. option:: -mmfocrf, -mmfcrf, -mno-mfocrf |
| |
| .. option:: -mmma, -mno-mma |
| |
| .. option:: -mpaired-vector-memops, -mno-paired-vector-memops |
| |
| .. option:: -mpcrel, -mno-pcrel |
| |
| .. option:: -mpopcntd, -mno-popcntd |
| |
| .. option:: -mpower10-vector, -mno-power10-vector |
| |
| .. option:: -mpower8-vector, -mno-power8-vector |
| |
| .. option:: -mpower9-vector, -mno-power9-vector |
| |
| .. option:: -mprefixed, -mno-prefixed |
| |
| .. option:: -mprivileged |
| |
| .. option:: -mrop-protect |
| |
| .. option:: -msecure-plt |
| |
| .. option:: -mspe, -mno-spe |
| |
| .. option:: -mvsx, -mno-vsx |
| |
| WebAssembly |
| ----------- |
| .. option:: -matomics, -mno-atomics |
| |
| .. option:: -mbulk-memory, -mno-bulk-memory |
| |
| .. option:: -mexception-handling, -mno-exception-handling |
| |
| .. option:: -mmultivalue, -mno-multivalue |
| |
| .. option:: -mmutable-globals, -mno-mutable-globals |
| |
| .. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint |
| |
| .. option:: -mreference-types, -mno-reference-types |
| |
| .. option:: -msign-ext, -mno-sign-ext |
| |
| .. option:: -msimd128, -mno-simd128 |
| |
| .. option:: -mtail-call, -mno-tail-call |
| |
| WebAssembly Driver |
| ------------------ |
| .. option:: -mexec-model=<arg> |
| |
| Execution model (WebAssembly only) |
| |
| X86 |
| --- |
| .. option:: -m3dnow, -mno-3dnow |
| |
| .. option:: -m3dnowa, -mno-3dnowa |
| |
| .. option:: -madx, -mno-adx |
| |
| .. option:: -maes, -mno-aes |
| |
| .. option:: -mamx-bf16, -mno-amx-bf16 |
| |
| .. option:: -mamx-int8, -mno-amx-int8 |
| |
| .. option:: -mamx-tile, -mno-amx-tile |
| |
| .. option:: -mavx, -mno-avx |
| |
| .. option:: -mavx2, -mno-avx2 |
| |
| .. option:: -mavx512bf16, -mno-avx512bf16 |
| |
| .. option:: -mavx512bitalg, -mno-avx512bitalg |
| |
| .. option:: -mavx512bw, -mno-avx512bw |
| |
| .. option:: -mavx512cd, -mno-avx512cd |
| |
| .. option:: -mavx512dq, -mno-avx512dq |
| |
| .. option:: -mavx512er, -mno-avx512er |
| |
| .. option:: -mavx512f, -mno-avx512f |
| |
| .. option:: -mavx512fp16, -mno-avx512fp16 |
| |
| .. option:: -mavx512ifma, -mno-avx512ifma |
| |
| .. option:: -mavx512pf, -mno-avx512pf |
| |
| .. option:: -mavx512vbmi, -mno-avx512vbmi |
| |
| .. option:: -mavx512vbmi2, -mno-avx512vbmi2 |
| |
| .. option:: -mavx512vl, -mno-avx512vl |
| |
| .. option:: -mavx512vnni, -mno-avx512vnni |
| |
| .. option:: -mavx512vp2intersect, -mno-avx512vp2intersect |
| |
| .. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq |
| |
| .. option:: -mavxvnni, -mno-avxvnni |
| |
| .. option:: -mbmi, -mno-bmi |
| |
| .. option:: -mbmi2, -mno-bmi2 |
| |
| .. option:: -mcldemote, -mno-cldemote |
| |
| .. option:: -mclflushopt, -mno-clflushopt |
| |
| .. option:: -mclwb, -mno-clwb |
| |
| .. option:: -mclzero, -mno-clzero |
| |
| .. option:: -mcrc32, -mno-crc32 |
| |
| .. option:: -mcx16, -mno-cx16 |
| |
| .. option:: -menqcmd, -mno-enqcmd |
| |
| .. option:: -mf16c, -mno-f16c |
| |
| .. option:: -mfma, -mno-fma |
| |
| .. option:: -mfma4, -mno-fma4 |
| |
| .. option:: -mfsgsbase, -mno-fsgsbase |
| |
| .. option:: -mfxsr, -mno-fxsr |
| |
| .. option:: -mgfni, -mno-gfni |
| |
| .. option:: -mhreset, -mno-hreset |
| |
| .. option:: -minvpcid, -mno-invpcid |
| |
| .. option:: -mkl, -mno-kl |
| |
| .. option:: -mlwp, -mno-lwp |
| |
| .. option:: -mlzcnt, -mno-lzcnt |
| |
| .. option:: -mmmx, -mno-mmx |
| |
| .. option:: -mmovbe, -mno-movbe |
| |
| .. option:: -mmovdir64b, -mno-movdir64b |
| |
| .. option:: -mmovdiri, -mno-movdiri |
| |
| .. option:: -mmwaitx, -mno-mwaitx |
| |
| .. option:: -mpclmul, -mno-pclmul |
| |
| .. option:: -mpconfig, -mno-pconfig |
| |
| .. option:: -mpku, -mno-pku |
| |
| .. option:: -mpopcnt, -mno-popcnt |
| |
| .. option:: -mprefetchwt1, -mno-prefetchwt1 |
| |
| .. option:: -mprfchw, -mno-prfchw |
| |
| .. option:: -mptwrite, -mno-ptwrite |
| |
| .. option:: -mrdpid, -mno-rdpid |
| |
| .. option:: -mrdrnd, -mno-rdrnd |
| |
| .. option:: -mrdseed, -mno-rdseed |
| |
| .. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk |
| |
| .. option:: -mrtm, -mno-rtm |
| |
| .. option:: -msahf, -mno-sahf |
| |
| .. option:: -mserialize, -mno-serialize |
| |
| .. option:: -msgx, -mno-sgx |
| |
| .. option:: -msha, -mno-sha |
| |
| .. option:: -mshstk, -mno-shstk |
| |
| .. option:: -msse, -mno-sse |
| |
| .. option:: -msse2, -mno-sse2 |
| |
| .. option:: -msse3, -mno-sse3 |
| |
| .. option:: -msse4.1, -mno-sse4.1 |
| |
| .. program:: clang1 |
| .. option:: -msse4.2, -mno-sse4.2, -msse4 |
| .. program:: clang |
| |
| .. option:: -msse4a, -mno-sse4a |
| |
| .. option:: -mssse3, -mno-ssse3 |
| |
| .. option:: -mtbm, -mno-tbm |
| |
| .. option:: -mtsxldtrk, -mno-tsxldtrk |
| |
| .. option:: -muintr, -mno-uintr |
| |
| .. option:: -mvaes, -mno-vaes |
| |
| .. option:: -mvpclmulqdq, -mno-vpclmulqdq |
| |
| .. option:: -mvzeroupper, -mno-vzeroupper |
| |
| .. option:: -mwaitpkg, -mno-waitpkg |
| |
| .. option:: -mwbnoinvd, -mno-wbnoinvd |
| |
| .. option:: -mwidekl, -mno-widekl |
| |
| .. option:: -mx87, -m80387, -mno-x87 |
| |
| .. option:: -mxop, -mno-xop |
| |
| .. option:: -mxsave, -mno-xsave |
| |
| .. option:: -mxsavec, -mno-xsavec |
| |
| .. option:: -mxsaveopt, -mno-xsaveopt |
| |
| .. option:: -mxsaves, -mno-xsaves |
| |
| RISCV |
| ----- |
| .. option:: -msave-restore, -mno-save-restore |
| |
| Enable using library calls for save and restore |
| |
| Long double flags |
| ----------------- |
| Selects the long double implementation |
| |
| .. option:: -mlong-double-128 |
| |
| Force long double to be 128 bits |
| |
| .. option:: -mlong-double-64 |
| |
| Force long double to be 64 bits |
| |
| .. option:: -mlong-double-80 |
| |
| Force long double to be 80 bits, padded to 128 bits for storage |
| |
| Optimization level |
| ~~~~~~~~~~~~~~~~~~ |
| |
| Flags controlling how much optimization should be performed. |
| |
| .. option:: -O<arg>, -O (equivalent to -O1), --optimize, --optimize=<arg> |
| |
| .. option:: -Ofast<arg> |
| |
| Debug information generation |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| Flags controlling how much and what kind of debug information should be |
| generated. |
| |
| Kind and level of debug information |
| ----------------------------------- |
| .. option:: -g, --debug, --debug=<arg> |
| |
| Generate source-level debug information |
| |
| .. option:: -gdwarf |
| |
| Generate source-level debug information with the default dwarf version |
| |
| .. option:: -gdwarf-2 |
| |
| Generate source-level debug information with dwarf version 2 |
| |
| .. option:: -gdwarf-3 |
| |
| Generate source-level debug information with dwarf version 3 |
| |
| .. option:: -gdwarf-4 |
| |
| Generate source-level debug information with dwarf version 4 |
| |
| .. option:: -gdwarf-5 |
| |
| Generate source-level debug information with dwarf version 5 |
| |
| .. option:: -gdwarf32 |
| |
| Enables DWARF32 format for ELF binaries, if debug information emission is enabled. |
| |
| .. option:: -gdwarf64 |
| |
| Enables DWARF64 format for ELF binaries, if debug information emission is enabled. |
| |
| .. option:: -gfull |
| |
| .. option:: -ginline-line-tables, -gno-inline-line-tables |
| |
| .. option:: -gused |
| |
| Debug level |
| ___________ |
| .. option:: -g0 |
| |
| .. option:: -g2 |
| |
| .. option:: -g3 |
| |
| .. option:: -ggdb0 |
| |
| .. option:: -ggdb1 |
| |
| .. option:: -ggdb2 |
| |
| .. option:: -ggdb3 |
| |
| .. option:: -gline-directives-only |
| |
| Emit debug line info directives only |
| |
| .. option:: -gline-tables-only, -g1, -gmlt |
| |
| Emit debug line number tables only |
| |
| .. option:: -gmodules |
| |
| Generate debug info with external references to clang modules or precompiled headers |
| |
| Debugger to tune debug information for |
| ______________________________________ |
| .. option:: -gdbx |
| |
| .. option:: -ggdb |
| |
| .. option:: -glldb |
| |
| .. option:: -gsce |
| |
| Debug information flags |
| ----------------------- |
| .. option:: -gcolumn-info, -gno-column-info |
| |
| .. option:: -gdwarf-aranges |
| |
| .. option:: -gembed-source, -gno-embed-source |
| |
| Embed source text in DWARF debug sections |
| |
| .. option:: -ggnu-pubnames, -gno-gnu-pubnames |
| |
| .. option:: -gpubnames, -gno-pubnames |
| |
| .. option:: -grecord-command-line, -gno-record-command-line, -grecord-gcc-switches |
| |
| .. option:: -gsplit-dwarf, -gno-split-dwarf |
| |
| .. program:: clang1 |
| .. option:: -gsplit-dwarf=<arg> |
| .. program:: clang |
| |
| Set DWARF fission mode to either 'split' or 'single' |
| |
| .. option:: -gstrict-dwarf, -gno-strict-dwarf |
| |
| .. option:: -gz=<arg>, -gz (equivalent to -gz=zlib) |
| |
| DWARF debug sections compression type |
| |
| Static analyzer flags |
| ===================== |
| |
| Flags controlling the behavior of the Clang Static Analyzer. |
| |
| .. option:: -Xanalyzer <arg> |
| |
| Pass <arg> to the static analyzer |
| |
| Fortran compilation flags |
| ========================= |
| |
| Flags that will be passed onto the ``gfortran`` compiler when Clang is given |
| a Fortran input. |
| |
| .. option:: -A<arg>, --assert <arg>, --assert=<arg> |
| |
| .. option:: -A-<arg> |
| |
| .. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination |
| |
| .. option:: -falign-commons, -fno-align-commons |
| |
| .. option:: -fall-intrinsics, -fno-all-intrinsics |
| |
| .. option:: -fautomatic, -fno-automatic |
| |
| .. option:: -fbacktrace, -fno-backtrace |
| |
| .. option:: -fblas-matmul-limit=<arg> |
| |
| .. option:: -fbounds-check, -fno-bounds-check |
| |
| .. option:: -fcheck-array-temporaries, -fno-check-array-temporaries |
| |
| .. option:: -fcheck=<arg> |
| |
| .. option:: -fcoarray=<arg> |
| |
| .. option:: -fconvert=<arg> |
| |
| .. option:: -fcray-pointer, -fno-cray-pointer |
| |
| .. option:: -fd-lines-as-code, -fno-d-lines-as-code |
| |
| .. option:: -fd-lines-as-comments, -fno-d-lines-as-comments |
| |
| .. option:: -fdollar-ok, -fno-dollar-ok |
| |
| .. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized |
| |
| .. option:: -fdump-fortran-original, -fno-dump-fortran-original |
| |
| .. option:: -fdump-parse-tree, -fno-dump-parse-tree |
| |
| .. option:: -fexternal-blas, -fno-external-blas |
| |
| .. option:: -ff2c, -fno-f2c |
| |
| .. option:: -ffpe-trap=<arg> |
| |
| .. option:: -ffree-line-length-<arg> |
| |
| .. option:: -ffrontend-optimize, -fno-frontend-optimize |
| |
| .. option:: -finit-character=<arg> |
| |
| .. option:: -finit-integer=<arg> |
| |
| .. option:: -finit-local-zero, -fno-init-local-zero |
| |
| .. option:: -finit-logical=<arg> |
| |
| .. option:: -finit-real=<arg> |
| |
| .. option:: -finteger-4-integer-8, -fno-integer-4-integer-8 |
| |
| .. option:: -fmax-array-constructor=<arg> |
| |
| .. option:: -fmax-errors=<arg> |
| |
| .. option:: -fmax-identifier-length, -fno-max-identifier-length |
| |
| .. option:: -fmax-stack-var-size=<arg> |
| |
| .. option:: -fmax-subrecord-length=<arg> |
| |
| .. option:: -fmodule-private, -fno-module-private |
| |
| .. option:: -fpack-derived, -fno-pack-derived |
| |
| .. option:: -fprotect-parens, -fno-protect-parens |
| |
| .. option:: -frange-check, -fno-range-check |
| |
| .. option:: -freal-4-real-10, -fno-real-4-real-10 |
| |
| .. option:: -freal-4-real-16, -fno-real-4-real-16 |
| |
| .. option:: -freal-4-real-8, -fno-real-4-real-8 |
| |
| .. option:: -freal-8-real-10, -fno-real-8-real-10 |
| |
| .. option:: -freal-8-real-16, -fno-real-8-real-16 |
| |
| .. option:: -freal-8-real-4, -fno-real-8-real-4 |
| |
| .. option:: -frealloc-lhs, -fno-realloc-lhs |
| |
| .. option:: -frecord-marker=<arg> |
| |
| .. option:: -frecursive, -fno-recursive |
| |
| .. option:: -frepack-arrays, -fno-repack-arrays |
| |
| .. option:: -fsecond-underscore, -fno-second-underscore |
| |
| .. option:: -fsign-zero, -fno-sign-zero |
| |
| .. option:: -fstack-arrays, -fno-stack-arrays |
| |
| .. option:: -funderscoring, -fno-underscoring |
| |
| .. option:: -fwhole-file, -fno-whole-file |
| |
| .. option:: -imultilib <arg> |
| |
| .. option:: -static-libgfortran |
| |
| Linker flags |
| ============ |
| Flags that are passed on to the linker |
| |
| .. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg> |
| |
| Add directory to library search path |
| |
| .. option:: -Mach |
| |
| .. option:: -T<script> |
| |
| Specify <script> as linker script |
| |
| .. option:: -Tbss<addr> |
| |
| Set starting address of BSS to <addr> |
| |
| .. option:: -Tdata<addr> |
| |
| Set starting address of DATA to <addr> |
| |
| .. option:: -Ttext<addr> |
| |
| Set starting address of TEXT to <addr> |
| |
| .. option:: -Wl,<arg>,<arg2>... |
| |
| Pass the comma separated arguments in <arg> to the linker |
| |
| .. option:: -X |
| |
| .. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg> |
| |
| Pass <arg> to the linker |
| |
| .. program:: clang1 |
| .. option:: -Z |
| .. program:: clang |
| |
| .. option:: -coverage, --coverage |
| |
| .. option:: -e<arg>, --entry |
| |
| .. option:: -filelist <arg> |
| |
| .. option:: --hip-device-lib=<arg> |
| |
| HIP device library |
| |
| .. option:: -l<arg> |
| |
| .. option:: --ld-path=<arg> |
| |
| .. option:: -nostartfiles |
| |
| .. program:: clang1 |
| .. option:: -nostdlib, --no-standard-libraries |
| .. program:: clang |
| |
| .. option:: -pie |
| |
| .. option:: -r |
| |
| .. option:: -rdynamic |
| |
| .. option:: --rocm-device-lib-path=<arg>, --hip-device-lib-path=<arg> |
| |
| ROCm device library path. Alternative to rocm-path. |
| |
| .. option:: -rpath <arg> |
| |
| .. option:: -s |
| |
| .. option:: -shared, --shared |
| |
| .. option:: -specs=<arg>, --specs=<arg> |
| |
| .. option:: -static, --static |
| |
| .. option:: -static-pie |
| |
| .. option:: -t |
| |
| .. option:: -u<arg>, --force-link <arg>, --force-link=<arg> |
| |
| .. option:: -undef |
| |
| undef all system defines |
| |
| .. option:: -undefined<arg>, --no-undefined |
| |
| .. option:: -z <arg> |
| |
| Pass -z <arg> to the linker |
| |