| .. |
| ------------------------------------------------------------------- |
| 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<dir>, --prefix <arg>, --prefix=<arg> |
| |
| Add <dir> to search path for binaries and object files used implicitly |
| |
| .. 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> |
| |
| .. 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:: --analyze-auto |
| |
| .. option:: --analyzer-no-default-checks |
| |
| .. option:: --analyzer-output<arg> |
| |
| Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|text). |
| |
| .. option:: -ansi, --ansi |
| |
| .. 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:: -cfguard |
| |
| Emit tables required for Windows Control Flow Guard. |
| |
| .. option:: -client\_name<arg> |
| |
| .. option:: -compatibility\_version<arg> |
| |
| .. option:: --config <arg> |
| |
| Specifies configuration file |
| |
| .. option:: --constant-cfstrings |
| |
| .. option:: -coverage, --coverage |
| |
| .. 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-gpu-arch=<arg>, --no-cuda-gpu-arch=<arg> |
| |
| CUDA GPU architecture (e.g. sm\_35). May be specified more than once. |
| |
| .. 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 follwing 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:: -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:: -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:: -exported\_symbols\_list <arg> |
| |
| .. option:: -faligned-new=<arg> |
| |
| .. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals |
| |
| Use approximate transcendental functions |
| |
| .. option:: -fcuda-flush-denormals-to-zero, -fno-cuda-flush-denormals-to-zero |
| |
| Flush denormal floating point values to zero in CUDA device mode. |
| |
| .. option:: -fcuda-rdc, -fno-cuda-rdc |
| |
| Generate relocatable device code, also known as separate compilation mode. |
| |
| .. option:: -fcuda-short-ptr, -fno-cuda-short-ptr |
| |
| Use 32-bit pointers for accessing const/local/shared address spaces. |
| |
| .. option:: -ffixed-r19 |
| |
| Reserve register r19 (Hexagon only) |
| |
| .. 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:: --gcc-toolchain=<arg>, -gcc-toolchain <arg> |
| |
| Use the gcc toolchain at the given directory |
| |
| .. option:: -gcodeview |
| |
| Generate CodeView debug information |
| |
| .. 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:: -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:: -keep\_private\_externs |
| |
| .. option:: -lazy\_framework <arg> |
| |
| .. program:: clang1 |
| .. option:: -lazy\_library <arg> |
| .. program:: clang |
| |
| .. option:: -mbig-endian, -EB |
| |
| .. 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:: -nocudainc |
| |
| .. option:: -nocudalib |
| |
| .. option:: -nodefaultlibs |
| |
| .. option:: -nofixprebinding |
| |
| .. option:: -nolibc |
| |
| .. option:: -nomultidefs |
| |
| .. option:: -nopie, -no-pie |
| |
| .. option:: -noprebind |
| |
| .. option:: -noseglinkedit |
| |
| .. option:: -nostartfiles |
| |
| .. option:: -nostdinc, --no-standard-includes |
| |
| .. program:: clang1 |
| .. option:: -nostdinc++ |
| .. program:: clang |
| |
| Disable standard #include directories for the C++ standard library |
| |
| .. option:: -nostdlib, --no-standard-libraries |
| |
| .. program:: clang1 |
| .. option:: -nostdlib++ |
| .. program:: clang |
| |
| .. 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:: -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:: -p, --profile |
| |
| .. option:: -pagezero\_size<arg> |
| |
| .. option:: -pg |
| |
| Enable mcount instrumentation |
| |
| .. option:: -pie |
| |
| .. 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-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-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-search-dirs, --print-search-dirs |
| |
| Print the paths used for finding libraries and programs |
| |
| .. option:: -private\_bundle |
| |
| .. option:: -pthread, -no-pthread |
| |
| Support POSIX threads in generated code |
| |
| .. option:: -pthreads |
| |
| .. option:: -rdynamic |
| |
| .. 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, --shared |
| |
| .. option:: -shared-libgcc |
| |
| .. option:: -shared-libsan, -shared-libasan |
| |
| .. option:: -single\_module |
| |
| .. option:: -specs=<arg>, --specs=<arg> |
| |
| .. option:: -static, --static |
| |
| .. option:: -static-libgcc |
| |
| .. option:: -static-libsan |
| |
| .. option:: -static-libstdc++ |
| |
| .. 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:: -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:: -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-llvm |
| |
| Use the LLVM representation for assembler and object files |
| |
| .. 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:: -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=<arg> |
| |
| .. 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-isel, -fno-experimental-isel |
| |
| Enables the experimental global instruction selector |
| |
| .. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager |
| |
| Enables an experimental new pass manager 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:: -finline-functions, -fno-inline-functions |
| |
| Inline suitable functions |
| |
| .. option:: -finline-hint-functions |
| |
| Inline functions which are (explicitly or implicitly) marked inline |
| |
| .. option:: -fno-crash-diagnostics |
| |
| Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash |
| |
| .. option:: -fno-sanitize-blacklist |
| |
| Don't use blacklist file for sanitizers |
| |
| .. option:: -fparse-all-comments |
| |
| .. 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-class-member-array-new-cookie, -fno-sanitize-address-poison-class-member-array-new-cookie |
| |
| Enable poisoning array cookies when using class member operator new\[\] in AddressSanitizer |
| |
| .. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope |
| |
| Enable use-after-scope detection in AddressSanitizer |
| |
| .. option:: -fsanitize-blacklist=<arg> |
| |
| Path to blacklist file for sanitizers |
| |
| .. 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=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>... |
| |
| Specify the type of coverage instrumentation for Sanitizers |
| |
| .. option:: -fsanitize-link-c++-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, -fno-sanitize-recover |
| |
| .. program:: clang1 |
| .. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>... |
| .. program:: clang |
| |
| 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>... |
| |
| 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-undefined-trap-on-error, -fno-sanitize-undefined-trap-on-error |
| |
| .. 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:: --param <arg>, --param=<arg> |
| |
| .. 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 |
| |
| 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 |
| |
| .. option:: -I-, --include-barrier |
| |
| Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path |
| |
| .. 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:: -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:: --ptxas-path=<arg> |
| |
| Path to ptxas (used for compiling CUDA code) |
| |
| .. 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:: -dA |
| |
| .. 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-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:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables |
| |
| .. option:: -fautolink, -fno-autolink |
| |
| .. 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. |
| |
| .. 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:: -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 |
| |
| Use colors in diagnostics |
| |
| .. option:: -fcommon, -fno-common |
| |
| .. 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:: -fcoroutines-ts, -fno-coroutines-ts |
| |
| Enable support for the C++ Coroutines TS |
| |
| .. option:: -fcoverage-mapping, -fno-coverage-mapping |
| |
| Generate coverage mapping to enable code coverage analysis |
| |
| .. option:: -fcreate-profile |
| |
| .. 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 (ELF Only) |
| |
| .. 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-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. |
| |
| .. 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=<number> |
| |
| Prevent optimization remarks from being output if they do not have at least this profile count |
| |
| .. 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:: -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:: -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:: -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:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg> |
| |
| .. option:: -ffast-math, -fno-fast-math |
| |
| Allow aggressive, lossy floating-point optimizations |
| |
| .. 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-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 (everywhere) \| on (according to FP\_CONTRACT pragma, default) \| off (never fuse) |
| |
| .. 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 (ELF Only) |
| |
| .. 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:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities |
| |
| .. option:: -fhonor-nans, -fno-honor-nans |
| |
| .. option:: -fhosted |
| |
| .. 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> |
| |
| .. 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:: -fjump-tables, -fno-jump-tables |
| |
| .. option:: -flax-vector-conversions, -fno-lax-vector-conversions |
| |
| .. 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' |
| |
| .. option:: -fmacro-backtrace-limit=<arg> |
| |
| .. option:: -fmath-errno, -fno-math-errno |
| |
| Require math functions to indicate errors by setting errno |
| |
| .. option:: -fmax-type-align=<arg> |
| |
| Specify the maximum alignment to enforce on pointers lacking an explicit alignment |
| |
| .. option:: -fmerge-all-constants, -fno-merge-all-constants |
| |
| Allow merging of constants |
| |
| .. option:: -fmessage-length=<arg> |
| |
| .. 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>, -fmodule-name <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:: -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<arg> |
| |
| .. 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:: -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-operator-names |
| |
| Do not treat C++ operator name keywords as synonyms for operators |
| |
| .. option:: -fno-rtti-data |
| |
| Control emission of RTTI data |
| |
| .. option:: -fno-strict-modules-decluse |
| |
| .. option:: -fno-working-directory |
| |
| .. 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-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:: -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> |
| |
| .. program:: clang1 |
| .. option:: -fopenmp=<arg> |
| .. program:: clang |
| |
| .. option:: -foperator-arrow-depth=<arg> |
| |
| .. option:: -foptimization-record-file=<arg> |
| |
| Specify the file name of any generated YAML optimization record |
| |
| .. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls |
| |
| .. 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:: -fpcc-struct-return |
| |
| Override the default ABI to return all structs on the stack |
| |
| .. option:: -fpch-preprocess |
| |
| .. option:: -fpic, -fno-pic |
| |
| .. option:: -fpie, -fno-pie |
| |
| .. option:: -fplt, -fno-plt |
| |
| Use the PLT to make function calls |
| |
| .. option:: -fplugin=<dsopath> |
| |
| Load the named plugin (dynamic shared object) |
| |
| .. option:: -fpreserve-as-comments, -fno-preserve-as-comments |
| |
| .. option:: -fprofile-arcs, -fno-profile-arcs |
| |
| .. option:: -fprofile-dir=<arg> |
| |
| .. 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-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 |
| |
| .. 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:: -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> |
| |
| .. program:: clang1 |
| .. option:: -frewrite-map-file=<arg> |
| .. program:: clang |
| |
| .. option:: -fropi, -fno-ropi |
| |
| .. option:: -frtti, -fno-rtti |
| |
| .. option:: -frwpi, -fno-rwpi |
| |
| .. option:: -fsave-optimization-record, -fno-save-optimization-record |
| |
| Generate a YAML optimization record file |
| |
| .. option:: -fseh-exceptions |
| |
| Use SEH style exceptions |
| |
| .. 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 |
| |
| .. 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-stack |
| |
| .. option:: -fstack-protector, -fno-stack-protector |
| |
| Enable stack protectors for functions potentially vulnerable to stack smashing |
| |
| .. option:: -fstack-protector-all |
| |
| Force the usage of stack protectors for all functions |
| |
| .. option:: -fstack-protector-strong |
| |
| Use a strong heuristic to apply stack protectors to functions |
| |
| .. option:: -fstack-size-section, -fno-stack-size-section |
| |
| Emit section containing metadata 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 |
| |
| Always treat control flow paths that fall off the end of a non-void function as unreachable |
| |
| .. 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:: -ftabstop=<arg> |
| |
| .. option:: -ftemplate-backtrace-limit=<arg> |
| |
| .. option:: -ftemplate-depth-<arg> |
| |
| .. option:: -ftemplate-depth=<arg> |
| |
| .. option:: -ftest-coverage |
| |
| .. option:: -fthinlto-index=<arg> |
| |
| Perform ThinLTO importing using provided function summary index |
| |
| .. option:: -fthreadsafe-statics, -fno-threadsafe-statics |
| |
| .. option:: -ftime-report |
| |
| .. 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:: -funique-section-names, -fno-unique-section-names |
| |
| Use unique names for text and data sections (ELF Only) |
| |
| .. 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 |
| |
| Use .init\_array instead of .ctors |
| |
| .. option:: -fuse-ld=<arg> |
| |
| .. option:: -fuse-line-directives, -fno-use-line-directives |
| |
| .. option:: -fveclib=<arg> |
| |
| Use the given vector functions library |
| |
| .. option:: -fvectorize, -fno-vectorize, -ftree-vectorize |
| |
| Enable the loop vectorization passes |
| |
| .. option:: -fverbose-asm, -fno-verbose-asm |
| |
| .. option:: -fvisibility-inlines-hidden |
| |
| Give inline C++ member functions hidden visibility by default |
| |
| .. option:: -fvisibility-ms-compat |
| |
| Give global types 'default' visibility and global functions and variables 'hidden' visibility by default |
| |
| .. option:: -fvisibility=<arg> |
| |
| Set the default symbol visibility for all global declarations |
| |
| .. 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:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents |
| |
| Determine whether to always emit \_\_xray\_customevent(...) calls even if the function it appears in is not always instrumented. |
| |
| .. option:: -fxray-always-emit-typedevents, -fno-xray-always-emit-typedevents |
| |
| Determine whether to always emit \_\_xray\_typedevent(...) calls even if the function it appears in 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-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, custom. Default is 'all'. |
| |
| .. 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:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss |
| |
| .. option:: -fzvector, -fno-zvector, -mzvector |
| |
| Enable System z vector language extension |
| |
| .. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic |
| |
| .. 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-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. |
| |
| Target-dependent compilation options |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .. option:: -G<size>, -G=<arg>, -msmall-data-threshold=<arg> |
| |
| Put objects of at most <size> bytes into small data section (MIPS / Hexagon) |
| |
| .. option:: -m16 |
| |
| .. option:: -m32 |
| |
| .. option:: -m64 |
| |
| .. option:: -mabi=<arg> |
| |
| .. option:: -malign-double |
| |
| Align doubles to two words in structs (x86 only) |
| |
| .. option:: -march=<arg> |
| |
| .. option:: -masm=<arg> |
| |
| .. option:: -mbackchain, -mno-backchain |
| |
| Link stack frames through backchain on System Z |
| |
| .. option:: -mcmodel=<arg> |
| |
| .. option:: -mconsole<arg> |
| |
| .. option:: -mcpu=<arg>, -mv4 (equivalent to -mcpu=hexagonv4), -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) |
| |
| .. 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:: -mdynamic-no-pic<arg> |
| |
| .. option:: -meabi <arg> |
| |
| Set EABI type, e.g. 4, 5 or gnu (default depends on triple) |
| |
| .. option:: -mfentry |
| |
| Insert calls to fentry at function entry (x86 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:: -miamcu, -mno-iamcu |
| |
| Use Intel MCU ABI |
| |
| .. 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:: -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:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer |
| |
| Omit frame pointer setup for leaf functions |
| |
| .. option:: -moslib=<arg> |
| |
| .. option:: -mpie-copy-relocations, -mno-pie-copy-relocations |
| |
| Use copy relocations support for PIE builds |
| |
| .. 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:: -mred-zone, -mno-red-zone |
| |
| .. option:: -mregparm=<arg> |
| |
| .. option:: -mrelax-all, -mno-relax-all |
| |
| (integrated-as) Relax all machine instructions |
| |
| .. option:: -mrtd, -mno-rtd |
| |
| Make StdCall calling convention the default |
| |
| .. option:: -msoft-float, -mno-soft-float |
| |
| Use software floating point |
| |
| .. 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:: -mstackrealign, -mno-stackrealign |
| |
| Force realign the stack at entry to every function |
| |
| .. option:: -mthread-model <arg> |
| |
| The thread model to use, e.g. posix, single (posix by default) |
| |
| .. option:: -mthreads<arg> |
| |
| .. option:: -mthumb, -mno-thumb |
| |
| .. option:: -mtune=<arg> |
| |
| .. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg> |
| |
| .. option:: -municode<arg> |
| |
| .. option:: -mvx, -mno-vx |
| |
| .. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings |
| |
| .. option:: -mwatchos-version-min=<arg> |
| |
| .. option:: -mwindows<arg> |
| |
| .. option:: -mx32 |
| |
| AARCH64 |
| ------- |
| .. option:: -ffixed-x18 |
| |
| Reserve the x18 register (AArch64 only) |
| |
| .. option:: -ffixed-x20 |
| |
| Reserve the x20 register (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) |
| |
| AMDGPU |
| ------ |
| .. option:: -mxnack, -mno-xnack |
| |
| Enable XNACK (AMDGPU only) |
| |
| ARM |
| --- |
| .. option:: -ffixed-r9 |
| |
| Reserve the r9 register (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> |
| |
| Read thread pointer from coprocessor register (ARM 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 |
| |
| 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:: -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:: -mpopcntd, -mno-popcntd |
| |
| .. option:: -mpower8-vector, -mno-power8-vector |
| |
| .. option:: -mpower9-vector, -mno-power9-vector |
| |
| .. option:: -mqpx, -mno-qpx |
| |
| .. option:: -msecure-plt |
| |
| .. option:: -mvsx, -mno-vsx |
| |
| WebAssembly |
| ----------- |
| .. option:: -mexception-handling, -mno-exception-handling |
| |
| .. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint |
| |
| .. option:: -msign-ext, -mno-sign-ext |
| |
| .. option:: -msimd128, -mno-simd128 |
| |
| X86 |
| --- |
| .. option:: -m3dnow, -mno-3dnow |
| |
| .. option:: -m3dnowa, -mno-3dnowa |
| |
| .. option:: -madx, -mno-adx |
| |
| .. option:: -maes, -mno-aes |
| |
| .. option:: -mavx, -mno-avx |
| |
| .. option:: -mavx2, -mno-avx2 |
| |
| .. 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:: -mavx512ifma, -mno-avx512ifma |
| |
| .. option:: -mavx512pf, -mno-avx512pf |
| |
| .. option:: -mavx512vbmi, -mno-avx512vbmi |
| |
| .. option:: -mavx512vbmi2, -mno-avx512vbmi2 |
| |
| .. option:: -mavx512vl, -mno-avx512vl |
| |
| .. option:: -mavx512vnni, -mno-avx512vnni |
| |
| .. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq |
| |
| .. 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:: -mcx16, -mno-cx16 |
| |
| .. 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:: -minvpcid, -mno-invpcid |
| |
| .. 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:: -mmpx, -mno-mpx |
| |
| .. 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, -mno-retpoline |
| |
| .. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk |
| |
| .. option:: -mrtm, -mno-rtm |
| |
| .. option:: -msahf, -mno-sahf |
| |
| .. 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:: -mvaes, -mno-vaes |
| |
| .. option:: -mvpclmulqdq, -mno-vpclmulqdq |
| |
| .. option:: -mwaitpkg, -mno-waitpkg |
| |
| .. option:: -mwbnoinvd, -mno-wbnoinvd |
| |
| .. 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:: -mrelax, -mno-relax |
| |
| Enable linker relaxation |
| |
| Optimization level |
| ~~~~~~~~~~~~~~~~~~ |
| |
| Flags controlling how much optimization should be performed. |
| |
| .. option:: -O<arg>, -O (equivalent to -O2), --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-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, -gdwarf |
| |
| Generate source-level debug information with dwarf version 4 |
| |
| .. option:: -gdwarf-5 |
| |
| Generate source-level debug information with dwarf version 5 |
| |
| .. option:: -gfull |
| |
| .. option:: -gused |
| |
| Debug level |
| ___________ |
| .. option:: -g0 |
| |
| .. option:: -g2 |
| |
| .. option:: -g3 |
| |
| .. option:: -ggdb0 |
| |
| .. option:: -ggdb1 |
| |
| .. option:: -ggdb2 |
| |
| .. option:: -ggdb3 |
| |
| .. 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:: -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:: -grecord-gcc-switches, -gno-record-gcc-switches |
| |
| .. option:: -gsplit-dwarf |
| |
| .. option:: -gstrict-dwarf, -gno-strict-dwarf |
| |
| .. option:: -gz |
| |
| DWARF debug sections compression type |
| |
| .. program:: clang1 |
| .. option:: -gz=<arg> |
| .. program:: clang |
| |
| 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:: -J<arg> |
| |
| .. option:: -cpp |
| |
| .. 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:: -fbackslash, -fno-backslash |
| |
| .. 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:: -fdefault-double-8, -fno-default-double-8 |
| |
| .. option:: -fdefault-integer-8, -fno-default-integer-8 |
| |
| .. option:: -fdefault-real-8, -fno-default-real-8 |
| |
| .. 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:: -ffixed-form, -fno-fixed-form |
| |
| .. option:: -ffixed-line-length-<arg> |
| |
| .. option:: -ffpe-trap=<arg> |
| |
| .. option:: -ffree-form, -fno-free-form |
| |
| .. option:: -ffree-line-length-<arg> |
| |
| .. option:: -ffrontend-optimize, -fno-frontend-optimize |
| |
| .. option:: -fimplicit-none, -fno-implicit-none |
| |
| .. 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:: -fintrinsic-modules-path, -fno-intrinsic-modules-path |
| |
| .. 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:: -nocpp |
| |
| .. 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:: -e<arg>, --entry |
| |
| .. option:: -filelist <arg> |
| |
| .. option:: --hip-device-lib-path=<arg> |
| |
| HIP device library path |
| |
| .. option:: --hip-device-lib=<arg> |
| |
| HIP device library |
| |
| .. option:: -l<arg> |
| |
| .. option:: -r |
| |
| .. option:: -rpath <arg> |
| |
| .. option:: -s |
| |
| .. 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 |
| |