# Support of Clang options Clang versiion: clang version 9.0.0 (https://github.com/llvm-mirror/clang.git 50988b3ea26e892a74a2848e5a06b96f2472a05c) (https://github.com/RadeonOpenCompute/llvm.git 6483275d3d7603784c30e08927f2b315dfb95639) |Option|Support|Description| |-------|------|-------| |`-###`|Supported|`Print (but do not run) the commands to run for this compilation`| |`--analyzer-output `|Supported|`Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|text).`| |`--analyze`|Supported|`Run the static analyzer`| |`-arcmt-migrate-emit-errors`|Unsupported|`Emit ARC errors even if the migrator can fix them`| |`-arcmt-migrate-report-output `|Unsupported|`Output path for the plist report`| |`-B `|Supported|`Add to search path for binaries and object files used implicitly`| |`-CC`|Supported|`Include comments from within macros in preprocessed output`| |`-cfguard`|Supported|`Emit tables required for Windows Control Flow Guard.`| |`-cl-denorms-are-zero`|Supported|`OpenCL only. Allow denormals to be flushed to zero.`| |`-cl-fast-relaxed-math`|Supported|`OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.`| |`-cl-finite-math-only`|Supported|`OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.`| |`-cl-fp32-correctly-rounded-divide-sqrt`|Supported|`OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.`| |`-cl-kernel-arg-info`|Supported|`OpenCL only. Generate kernel argument metadata.`| |`-cl-mad-enable`|Supported|`OpenCL only. Allow use of less precise MAD computations in the generated binary.`| |`-cl-no-signed-zeros`|Supported|`OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.`| |`-cl-opt-disable`|Supported|`OpenCL only. This option disables all optimizations. By default optimizations are enabled.`| |`-cl-single-precision-constant`|Supported|`OpenCL only. Treat double precision floating-point constant as single precision constant.`| |`-cl-std=`|Supported|`OpenCL language standard to compile for.`| |`-cl-strict-aliasing`|Supported|`OpenCL only. This option is added for compatibility with OpenCL 1.0.`| |`-cl-uniform-work-group-size`|Supported|`OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel`| |`-cl-unsafe-math-optimizations`|Supported|`OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.`| |`--config `|Supported|`Specifies configuration file`| |`--cuda-compile-host-device`|Supported|`Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.`| |`--cuda-device-only`|Supported|`Compile CUDA code for device only`| |`--cuda-gpu-arch=`|Supported|`CUDA GPU architecture (e.g. sm_35). May be specified more than once.`| |`--cuda-host-only`|Supported|`Compile CUDA code for host only. Has no effect on non-CUDA compilations.`| |`--cuda-include-ptx=`|Unsupported|`Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.`| |`--cuda-noopt-device-debug`|Unsupported|`Enable device-side debug info generation. Disables ptxas optimizations.`| |`--cuda-path-ignore-env`|Unsupported|`Ignore environment variables to detect CUDA installation`| |`--cuda-path=`|Unsupported|`CUDA installation path`| |`-cxx-isystem `|Supported|`Add directory to the C++ SYSTEM include search path`| |`-C`|Supported|`Include comments in preprocessed output`| |`-c`|Supported|`Only run preprocess, compile, and assemble steps`| |`-dD`|Supported|`Print macro definitions in -E mode in addition to normal output`| |`-dependency-dot `|Supported|`Filename to write DOT-formatted header dependencies to`| |`-dependency-file `|Supported|`Filename (or -) to write dependency output to`| |`-dI`|Supported|`Print include directives in -E mode in addition to normal output`| |`-dM`|Supported|`Print macro definitions in -E mode instead of normal output`| |`-D `|Supported|`= Define to (or 1 if omitted)`| |`-emit-ast`|Supported|`Emit Clang AST files for source inputs`| |`-emit-llvm`|Supported|`Use the LLVM representation for assembler and object files`| |`-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang`|Supported|`Trivial automatic variable initialization to zero is only here for benchmarks, it'll eventually be removed, and I'm OK with that because I'm only using it to benchmark`| |`-E`||`Only run the preprocessor`| |`-faddrsig`|Supported|`Emit an address-significance table`| |`-faligned-allocation`|Supported|`Enable C++17 aligned allocation functions`| |`-fallow-editor-placeholders`|Supported|`Treat editor placeholders as valid source code`| |`-fansi-escape-codes`|Supported|`Use ANSI escape codes for diagnostics`| |`-fapple-kext`|Unsupported|`Use Apple's kernel extensions ABI`| |`-fapple-pragma-pack`|Unsupported|`Enable Apple gcc-compatible #pragma pack handling`| |`-fapplication-extension`|Unsupported|`Restrict code to those available for App Extensions`| |`-fblocks`|Supported|`Enable the 'blocks' language feature`| |`-fborland-extensions`|Unsupported|`Accept non-standard constructs supported by the Borland compiler`| |`-fbuild-session-file=`|Supported|`Use the last modification time of as the build session timestamp`| |`-fbuild-session-timestamp=