OILS / benchmarks / parse-help / clang.txt View on Github | oilshell.org

1175 lines, 1173 significant
1OVERVIEW: clang LLVM compiler
2
3USAGE: clang-14 [options] file...
4
5OPTIONS:
6 -### Print (but do not run) the commands to run for this compilation
7 --amdgpu-arch-tool=<value>
8 Tool used for detecting AMD GPU arch in the system.
9 --analyzer-output <value>
10 Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
11 --analyze Run the static analyzer
12 -arcmt-migrate-emit-errors
13 Emit ARC errors even if the migrator can fix them
14 -arcmt-migrate-report-output <value>
15 Output path for the plist report
16 -B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
17 -b <arg> Pass -b <arg> to the linker on AIX (only).
18 -CC Include comments from within macros in preprocessed output
19 -cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
20 -cl-fast-relaxed-math OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
21 -cl-finite-math-only OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
22 -cl-fp32-correctly-rounded-divide-sqrt
23 OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
24 -cl-kernel-arg-info OpenCL only. Generate kernel argument metadata.
25 -cl-mad-enable OpenCL only. Allow use of less precise MAD computations in the generated binary.
26 -cl-no-signed-zeros OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
27 -cl-no-stdinc OpenCL only. Disables all standard includes containing non-native compiler types and functions.
28 -cl-opt-disable OpenCL only. This option disables all optimizations. By default optimizations are enabled.
29 -cl-single-precision-constant
30 OpenCL only. Treat double precision floating-point constant as single precision constant.
31 -cl-std=<value> OpenCL language standard to compile for.
32 -cl-strict-aliasing OpenCL only. This option is added for compatibility with OpenCL 1.0.
33 -cl-uniform-work-group-size
34 OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
35 -cl-unsafe-math-optimizations
36 OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
37 --config <value> Specifies configuration file
38 --cuda-compile-host-device
39 Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
40 --cuda-device-only Compile CUDA code for device only
41 --cuda-host-only Compile CUDA code for host only. Has no effect on non-CUDA compilations.
42 --cuda-include-ptx=<value>
43 Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
44 --cuda-noopt-device-debug
45 Enable device-side debug info generation. Disables ptxas optimizations.
46 --cuda-path-ignore-env Ignore environment variables to detect CUDA installation
47 --cuda-path=<value> CUDA installation path
48 -cuid=<value> An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.
49 -cxx-isystem <directory>
50 Add directory to the C++ SYSTEM include search path
51 -C Include comments in preprocessed output
52 -c Only run preprocess, compile, and assemble steps
53 -dD Print macro definitions in -E mode in addition to normal output
54 -dependency-dot <value> Filename to write DOT-formatted header dependencies to
55 -dependency-file <value>
56 Filename (or -) to write dependency output to
57 -dI Print include directives in -E mode in addition to normal output
58 -dM Print macro definitions in -E mode instead of normal output
59 -dsym-dir <dir> Directory to output dSYM's (if any) to
60 -D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
61 -emit-ast Emit Clang AST files for source inputs
62 -emit-interface-stubs Generate Interface Stub Files.
63 -emit-llvm Use the LLVM representation for assembler and object files
64 -emit-merged-ifs Generate Interface Stub Files, emit merged text not binary.
65 --emit-static-lib Enable linker job to emit a static library.
66 -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
67 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
68 --end-no-unused-arguments
69 Start emitting warnings for unused driver arguments
70 -extract-api Extract API information
71 -E Only run the preprocessor
72 -faapcs-bitfield-load Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
73 -faapcs-bitfield-width Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
74 -faddrsig Emit an address-significance table
75 -falign-loops=<N> N must be a power of two. Align loops to the boundary
76 -faligned-allocation Enable C++17 aligned allocation functions
77 -fallow-editor-placeholders
78 Treat editor placeholders as valid source code
79 -faltivec-src-compat=<value>
80 Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.
81 -fansi-escape-codes Use ANSI escape codes for diagnostics
82 -fapple-kext Use Apple's kernel extensions ABI
83 -fapple-link-rtlib Force linking the clang builtins runtime library
84 -fapple-pragma-pack Enable Apple gcc-compatible #pragma pack handling
85 -fapplication-extension Restrict code to those available for App Extensions
86 -fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
87 -fasync-exceptions Enable EH Asynchronous exceptions
88 -fbasic-block-sections=<value>
89 Place each function's basic blocks in unique sections (ELF Only) : all | labels | none | list=<file>
90 -fbinutils-version=<major.minor>
91 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.
92 -fblocks Enable the 'blocks' language feature
93 -fborland-extensions Accept non-standard constructs supported by the Borland compiler
94 -fbuild-session-file=<file>
95 Use the last modification time of <file> as the build session timestamp
96 -fbuild-session-timestamp=<time since Epoch in seconds>
97 Time when the current build session started
98 -fbuiltin-module-map Load the clang builtins module map file.
99 -fc++-abi=<value> C++ ABI to use. This will override the target C++ ABI.
100 -fcall-saved-x10 Make the x10 register call-saved (AArch64 only)
101 -fcall-saved-x11 Make the x11 register call-saved (AArch64 only)
102 -fcall-saved-x12 Make the x12 register call-saved (AArch64 only)
103 -fcall-saved-x13 Make the x13 register call-saved (AArch64 only)
104 -fcall-saved-x14 Make the x14 register call-saved (AArch64 only)
105 -fcall-saved-x15 Make the x15 register call-saved (AArch64 only)
106 -fcall-saved-x18 Make the x18 register call-saved (AArch64 only)
107 -fcall-saved-x8 Make the x8 register call-saved (AArch64 only)
108 -fcall-saved-x9 Make the x9 register call-saved (AArch64 only)
109 -fcf-protection=<value> Instrument control-flow architecture protection. Options: return, branch, full, none.
110 -fcf-protection Enable cf-protection in 'full' mode
111 -fchar8_t Enable C++ builtin type char8_t
112 -fclang-abi-compat=<version>
113 Attempt to match the ABI of Clang <version>
114 -fcolor-diagnostics Enable colors in diagnostics
115 -fcomment-block-commands=<arg>
116 Treat each comma separated argument in <arg> as a documentation comment block command
117 -fcommon Place uninitialized global variables in a common block
118 -fcomplete-member-pointers
119 Require member pointer base types to be complete if they would be significant under the Microsoft ABI
120 -fconvergent-functions Assume functions may be convergent
121 -fcoroutines-ts Enable support for the C++ Coroutines TS
122 -fcoverage-compilation-dir=<value>
123 The compilation directory to embed in the coverage mapping.
124 -fcoverage-mapping Generate coverage mapping to enable code coverage analysis
125 -fcoverage-prefix-map=<value>
126 remap file source paths in coverage mapping
127 -fcrash-diagnostics-dir=<dir>
128 Put crash-report files in <dir>
129 -fcs-profile-generate=<directory>
130 Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
131 -fcs-profile-generate Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
132 -fcuda-approx-transcendentals
133 Use approximate transcendental functions
134 -fcuda-short-ptr Use 32-bit pointers for accessing const/local/shared address spaces
135 -fcxx-exceptions Enable C++ exceptions
136 -fcxx-modules Enable modules for C++
137 -fdata-sections Place each data in its own section
138 -fdebug-compilation-dir=<value>
139 The compilation directory to embed in the debug info
140 -fdebug-default-version=<value>
141 Default DWARF version to use, if a -g option caused DWARF debug info to be produced
142 -fdebug-info-for-profiling
143 Emit extra debug info to make sample profile more accurate
144 -fdebug-macro Emit macro debug information
145 -fdebug-prefix-map=<value>
146 remap file source paths in debug info
147 -fdebug-ranges-base-address
148 Use DWARF base address selection entries in .debug_ranges
149 -fdebug-types-section Place debug types in their own section (ELF Only)
150 -fdeclspec Allow __declspec as a keyword
151 -fdelayed-template-parsing
152 Parse templated function definitions at the end of the translation unit
153 -fdelete-null-pointer-checks
154 Treat usage of null pointers as undefined behavior (default)
155 -fdiagnostics-absolute-paths
156 Print absolute paths in diagnostics
157 -fdiagnostics-hotness-threshold=<value>
158 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
159 -fdiagnostics-parseable-fixits
160 Print fix-its in machine parseable form
161 -fdiagnostics-print-source-range-info
162 Print source range spans in numeric form
163 -fdiagnostics-show-hotness
164 Enable profile hotness information in diagnostic line
165 -fdiagnostics-show-note-include-stack
166 Display include stacks for diagnostic notes
167 -fdiagnostics-show-option
168 Print option name with mappable diagnostics
169 -fdiagnostics-show-template-tree
170 Print a template comparison tree for differing templates
171 -fdigraphs Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
172 -fdirect-access-external-data
173 Don't use GOT indirection to reference external data symbols
174 -fdiscard-value-names Discard value names in LLVM IR
175 -fdollars-in-identifiers
176 Allow '$' in identifiers
177 -fdouble-square-bracket-attributes
178 Enable '[[]]' attributes in all C and C++ language modes
179 -fdwarf-exceptions Use DWARF style exceptions
180 -feliminate-unused-debug-types
181 Do not emit debug info for defined but unused types
182 -fembed-bitcode-marker Embed placeholder LLVM IR data as a marker
183 -fembed-bitcode=<option>
184 Embed LLVM bitcode (option: off, all, bitcode, marker)
185 -fembed-bitcode Embed LLVM IR bitcode as data
186 -fembed-offload-object=<value>
187 Embed Offloading device-side binary into host object file as a section.
188 -femit-all-decls Emit all declarations, even if unused
189 -femulated-tls Use emutls functions to access thread_local variables
190 -fenable-matrix Enable matrix data type and related builtin functions
191 -fexceptions Enable support for exception handling
192 -fexperimental-new-constant-interpreter
193 Enable the experimental new constant interpreter
194 -fexperimental-relative-c++-abi-vtables
195 Use the experimental C++ class ABI for classes with virtual tables
196 -fexperimental-strict-floating-point
197 Enables experimental strict floating point in LLVM.
198 -fextend-arguments=<value>
199 Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
200 -ffast-math Allow aggressive, lossy floating-point optimizations
201 -ffile-compilation-dir=<value>
202 The compilation directory to embed in the debug info and coverage mapping.
203 -ffile-prefix-map=<value>
204 remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE()
205 -ffine-grained-bitfield-accesses
206 Use separate accesses for consecutive bitfield runs with legal widths and alignments.
207 -ffinite-loops Assume all loops are finite.
208 -ffixed-a0 Reserve the a0 register (M68k only)
209 -ffixed-a1 Reserve the a1 register (M68k only)
210 -ffixed-a2 Reserve the a2 register (M68k only)
211 -ffixed-a3 Reserve the a3 register (M68k only)
212 -ffixed-a4 Reserve the a4 register (M68k only)
213 -ffixed-a5 Reserve the a5 register (M68k only)
214 -ffixed-a6 Reserve the a6 register (M68k only)
215 -ffixed-d0 Reserve the d0 register (M68k only)
216 -ffixed-d1 Reserve the d1 register (M68k only)
217 -ffixed-d2 Reserve the d2 register (M68k only)
218 -ffixed-d3 Reserve the d3 register (M68k only)
219 -ffixed-d4 Reserve the d4 register (M68k only)
220 -ffixed-d5 Reserve the d5 register (M68k only)
221 -ffixed-d6 Reserve the d6 register (M68k only)
222 -ffixed-d7 Reserve the d7 register (M68k only)
223 -ffixed-point Enable fixed point types
224 -ffixed-r19 Reserve register r19 (Hexagon only)
225 -ffixed-r9 Reserve the r9 register (ARM only)
226 -ffixed-x10 Reserve the x10 register (AArch64/RISC-V only)
227 -ffixed-x11 Reserve the x11 register (AArch64/RISC-V only)
228 -ffixed-x12 Reserve the x12 register (AArch64/RISC-V only)
229 -ffixed-x13 Reserve the x13 register (AArch64/RISC-V only)
230 -ffixed-x14 Reserve the x14 register (AArch64/RISC-V only)
231 -ffixed-x15 Reserve the x15 register (AArch64/RISC-V only)
232 -ffixed-x16 Reserve the x16 register (AArch64/RISC-V only)
233 -ffixed-x17 Reserve the x17 register (AArch64/RISC-V only)
234 -ffixed-x18 Reserve the x18 register (AArch64/RISC-V only)
235 -ffixed-x19 Reserve the x19 register (AArch64/RISC-V only)
236 -ffixed-x1 Reserve the x1 register (AArch64/RISC-V only)
237 -ffixed-x20 Reserve the x20 register (AArch64/RISC-V only)
238 -ffixed-x21 Reserve the x21 register (AArch64/RISC-V only)
239 -ffixed-x22 Reserve the x22 register (AArch64/RISC-V only)
240 -ffixed-x23 Reserve the x23 register (AArch64/RISC-V only)
241 -ffixed-x24 Reserve the x24 register (AArch64/RISC-V only)
242 -ffixed-x25 Reserve the x25 register (AArch64/RISC-V only)
243 -ffixed-x26 Reserve the x26 register (AArch64/RISC-V only)
244 -ffixed-x27 Reserve the x27 register (AArch64/RISC-V only)
245 -ffixed-x28 Reserve the x28 register (AArch64/RISC-V only)
246 -ffixed-x29 Reserve the x29 register (AArch64/RISC-V only)
247 -ffixed-x2 Reserve the x2 register (AArch64/RISC-V only)
248 -ffixed-x30 Reserve the x30 register (AArch64/RISC-V only)
249 -ffixed-x31 Reserve the x31 register (AArch64/RISC-V only)
250 -ffixed-x3 Reserve the x3 register (AArch64/RISC-V only)
251 -ffixed-x4 Reserve the x4 register (AArch64/RISC-V only)
252 -ffixed-x5 Reserve the x5 register (AArch64/RISC-V only)
253 -ffixed-x6 Reserve the x6 register (AArch64/RISC-V only)
254 -ffixed-x7 Reserve the x7 register (AArch64/RISC-V only)
255 -ffixed-x8 Reserve the x8 register (AArch64/RISC-V only)
256 -ffixed-x9 Reserve the x9 register (AArch64/RISC-V only)
257 -fforce-dwarf-frame Always emit a debug frame section
258 -fforce-emit-vtables Emits more virtual tables to improve devirtualization
259 -fforce-enable-int128 Enable support for int128_t type
260 -ffp-contract=<value> Form fused FP ops (e.g. FMAs): fast (fuses across statements disregarding pragmas) | on (only fuses in the same statement unless dictated by pragmas) | off (never fuses) | fast-honor-pragmas (fuses across statements unless diectated by pragmas). Default is 'fast' for CUDA, 'fast-honor-pragmas' for HIP, and 'on' otherwise.
261 -ffp-exception-behavior=<value>
262 Specifies the exception behavior of floating-point operations.
263 -ffp-model=<value> Controls the semantics of floating-point calculations.
264 -ffreestanding Assert that the compilation takes place in a freestanding environment
265 -ffuchsia-api-level=<value>
266 Set Fuchsia API level
267 -ffunction-sections Place each function in its own section
268 -fglobal-isel Enables the global instruction selector
269 -fgnu-keywords Allow GNU-extension keywords regardless of language standard
270 -fgnu-runtime Generate output compatible with the standard GNU Objective-C runtime
271 -fgnu89-inline Use the gnu89 inline semantics
272 -fgnuc-version=<value> Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
273 -fgpu-allow-device-init Allow device side init function in HIP (experimental)
274 -fgpu-defer-diag Defer host/device related diagnostic messages for CUDA/HIP
275 -fgpu-flush-denormals-to-zero
276 Flush denormal floating point values to zero in CUDA/HIP device mode.
277 -fgpu-rdc Generate relocatable device code, also known as separate compilation mode
278 -fgpu-sanitize Enable sanitizer for AMDGPU target
279 -fhip-fp32-correctly-rounded-divide-sqrt
280 Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
281 -fhip-new-launch-api Use new kernel launching API for HIP
282 -fignore-exceptions Enable support for ignoring exception handling constructs
283 -fimplicit-module-maps Implicitly search the file system for module map files.
284 -finline-functions Inline suitable functions
285 -finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
286 -finput-charset=<value> Specify the default character set for source files
287 -finstrument-function-entry-bare
288 Instrument function entry only, after inlining, without arguments to the instrumentation call
289 -finstrument-functions-after-inlining
290 Like -finstrument-functions, but insert the calls after inlining
291 -finstrument-functions Generate calls to instrument function entry and exit
292 -fintegrated-as Enable the integrated assembler
293 -fintegrated-cc1 Run cc1 in-process
294 -fjump-tables Use jump tables for lowering switches
295 -fkeep-static-consts Keep static const variables if unused
296 -flax-vector-conversions=<value>
297 Enable implicit vector bit-casts
298 -flegacy-pass-manager Use the legacy pass manager in LLVM (deprecated, to be removed in a future release)
299 -flto-jobs=<value> Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
300 -flto=auto Enable LTO in 'full' mode
301 -flto=jobserver Enable LTO in 'full' mode
302 -flto=<value> Set LTO mode to either 'full' or 'thin'
303 -flto Enable LTO in 'full' mode
304 -fmacro-prefix-map=<value>
305 remap file source paths in predefined preprocessor macros and __builtin_FILE()
306 -fmath-errno Require math functions to indicate errors by setting errno
307 -fmax-tokens=<value> Max total number of preprocessed tokens for -Wmax-tokens.
308 -fmax-type-align=<value>
309 Specify the maximum alignment to enforce on pointers lacking an explicit alignment
310 -fmemory-profile=<directory>
311 Enable heap memory profiling and dump results into <directory>
312 -fmemory-profile Enable heap memory profiling
313 -fmerge-all-constants Allow merging of constants
314 -fmessage-length=<value>
315 Format message diagnostics so that they fit within N columns
316 -fminimize-whitespace Minimize whitespace when emitting preprocessor output
317 -fmodule-file=[<name>=]<file>
318 Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
319 -fmodule-map-file=<file>
320 Load this module map file
321 -fmodule-name=<name> Specify the name of the module to build
322 -fmodules-cache-path=<directory>
323 Specify the module cache path
324 -fmodules-decluse Require declaration of modules used within a module
325 -fmodules-disable-diagnostic-validation
326 Disable validation of the diagnostic options when loading the module
327 -fmodules-ignore-macro=<value>
328 Ignore the definition of the given macro when building and loading modules
329 -fmodules-prune-after=<seconds>
330 Specify the interval (in seconds) after which a module file will be considered unused
331 -fmodules-prune-interval=<seconds>
332 Specify the interval (in seconds) between attempts to prune the module cache
333 -fmodules-search-all Search even non-imported modules to resolve references
334 -fmodules-strict-decluse
335 Like -fmodules-decluse but requires all headers to be in modules
336 -fmodules-ts Enable support for the C++ Modules TS
337 -fmodules-user-build-path <directory>
338 Specify the module user build path
339 -fmodules-validate-input-files-content
340 Validate PCM input files based on content if mtime differs
341 -fmodules-validate-once-per-build-session
342 Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
343 -fmodules-validate-system-headers
344 Validate the system headers that a module depends on when loading the module
345 -fmodules Enable the 'modules' language feature
346 -fms-compatibility-version=<value>
347 Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
348 -fms-compatibility Enable full Microsoft Visual C++ compatibility
349 -fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
350 -fms-hotpatch Ensure that all functions can be hotpatched at runtime
351 -fmsc-version=<value> Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
352 -fnew-alignment=<align> Specifies the largest alignment guaranteed by '::operator new(size_t)'
353 -fnew-infallible Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
354 -fno-aapcs-bitfield-width
355 Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
356 -fno-access-control Disable C++ access control
357 -fno-addrsig Don't emit an address-significance table
358 -fno-assume-sane-operator-new
359 Don't assume that C++'s global operator new can't alias any pointer
360 -fno-autolink Disable generation of linker directives for automatic library linking
361 -fno-builtin-<value> Disable implicit builtin knowledge of a specific function
362 -fno-builtin Disable implicit builtin knowledge of functions
363 -fno-c++-static-destructors
364 Disable C++ static destructor registration
365 -fno-char8_t Disable C++ builtin type char8_t
366 -fno-color-diagnostics Disable colors in diagnostics
367 -fno-common Compile common globals like normal definitions
368 -fno-complete-member-pointers
369 Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI
370 -fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings
371 -fno-coverage-mapping Disable code coverage analysis
372 -fno-crash-diagnostics Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
373 -fno-cuda-approx-transcendentals
374 Don't use approximate transcendental functions
375 -fno-cxx-modules Disable modules for C++
376 -fno-debug-macro Do not emit macro debug information
377 -fno-declspec Disallow __declspec as a keyword
378 -fno-delayed-template-parsing
379 Disable delayed template parsing
380 -fno-delete-null-pointer-checks
381 Do not treat usage of null pointers as undefined behavior
382 -fno-diagnostics-fixit-info
383 Do not include fixit information in diagnostics
384 -fno-digraphs Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'
385 -fno-direct-access-external-data
386 Use GOT indirection to reference external data symbols
387 -fno-discard-value-names
388 Do not discard value names in LLVM IR
389 -fno-dollars-in-identifiers
390 Disallow '$' in identifiers
391 -fno-double-square-bracket-attributes
392 Disable '[[]]' attributes in all C and C++ language modes
393 -fno-elide-constructors Disable C++ copy constructor elision
394 -fno-elide-type Do not elide types when printing diagnostics
395 -fno-eliminate-unused-debug-types
396 Emit debug info for defined but unused types
397 -fno-exceptions Disable support for exception handling
398 -fno-experimental-relative-c++-abi-vtables
399 Do not use the experimental C++ class ABI for classes with virtual tables
400 -fno-fine-grained-bitfield-accesses
401 Use large-integer access for consecutive bitfield runs.
402 -fno-finite-loops Do not assume that any loop is finite.
403 -fno-fixed-point Disable fixed point types
404 -fno-force-enable-int128
405 Disable support for int128_t type
406 -fno-global-isel Disables the global instruction selector
407 -fno-gnu-inline-asm Disable GNU style inline asm
408 -fno-gpu-allow-device-init
409 Don't allow device side init function in HIP (experimental)
410 -fno-gpu-defer-diag Don't defer host/device related diagnostic messages for CUDA/HIP
411 -fno-hip-fp32-correctly-rounded-divide-sqrt
412 Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
413 -fno-hip-new-launch-api Don't use new kernel launching API for HIP
414 -fno-integrated-as Disable the integrated assembler
415 -fno-integrated-cc1 Spawn a separate process for each cc1
416 -fno-jump-tables Do not use jump tables for lowering switches
417 -fno-keep-static-consts Don't keep static const variables if unused
418 -fno-legacy-pass-manager
419 Use the new pass manager in LLVM
420 -fno-lto Disable LTO mode (default)
421 -fno-memory-profile Disable heap memory profiling
422 -fno-merge-all-constants
423 Disallow merging of constants
424 -fno-new-infallible Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
425 -fno-objc-infer-related-result-type
426 do not infer Objective-C related result type based on method family
427 -fno-offload-lto Disable LTO mode (default) for offload compilation
428 -fno-openmp-extensions Disable all Clang extensions for OpenMP directives and clauses
429 -fno-operator-names Do not treat C++ operator name keywords as synonyms for operators
430 -fno-pch-codegen Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
431 -fno-pch-debuginfo Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere
432 -fno-plt Use GOT indirection instead of PLT to make external function calls (x86 only)
433 -fno-preserve-as-comments
434 Do not preserve comments in inline assembly
435 -fno-profile-generate Disable generation of profile instrumentation.
436 -fno-profile-instr-generate
437 Disable generation of profile instrumentation.
438 -fno-profile-instr-use Disable using instrumentation data for profile-guided optimization
439 -fno-pseudo-probe-for-profiling
440 Do not emit pseudo probes for sample profiling
441 -fno-register-global-dtors-with-atexit
442 Don't use atexit or __cxa_atexit to register global destructors
443 -fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags
444 -fno-rtti-data Disable generation of RTTI data
445 -fno-rtti Disable generation of rtti information
446 -fno-sanitize-address-outline-instrumentation
447 Use default code inlining logic for the address sanitizer
448 -fno-sanitize-address-poison-custom-array-cookie
449 Disable poisoning array cookies when using custom operator new[] in AddressSanitizer
450 -fno-sanitize-address-use-after-scope
451 Disable use-after-scope detection in AddressSanitizer
452 -fno-sanitize-address-use-odr-indicator
453 Disable ODR indicator globals
454 -fno-sanitize-cfi-canonical-jump-tables
455 Do not make the jump table addresses canonical in the symbol table
456 -fno-sanitize-cfi-cross-dso
457 Disable control flow integrity (CFI) checks for cross-DSO calls.
458 -fno-sanitize-coverage=<value>
459 Disable features of coverage instrumentation for Sanitizers
460 -fno-sanitize-hwaddress-experimental-aliasing
461 Disable aliasing mode in HWAddressSanitizer
462 -fno-sanitize-ignorelist
463 Don't use ignorelist file for sanitizers
464 -fno-sanitize-memory-param-retval
465 Disable detection of uninitialized parameters and return values
466 -fno-sanitize-memory-track-origins
467 Disable origins tracking in MemorySanitizer
468 -fno-sanitize-memory-use-after-dtor
469 Disable use-after-destroy detection in MemorySanitizer
470 -fno-sanitize-recover=<value>
471 Disable recovery for specified sanitizers
472 -fno-sanitize-stats Disable sanitizer statistics gathering.
473 -fno-sanitize-thread-atomics
474 Disable atomic operations instrumentation in ThreadSanitizer
475 -fno-sanitize-thread-func-entry-exit
476 Disable function entry/exit instrumentation in ThreadSanitizer
477 -fno-sanitize-thread-memory-access
478 Disable memory access instrumentation in ThreadSanitizer
479 -fno-sanitize-trap=<value>
480 Disable trapping for specified sanitizers
481 -fno-sanitize-trap Disable trapping for all sanitizers
482 -fno-short-wchar Force wchar_t to be an unsigned int
483 -fno-show-column Do not include column number on diagnostics
484 -fno-show-source-location
485 Do not include source location information with diagnostics
486 -fno-signed-char char is unsigned
487 -fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
488 -fno-spell-checking Disable spell-checking
489 -fno-split-machine-functions
490 Disable late function splitting using profile information (x86 ELF)
491 -fno-split-stack Wouldn't use segmented stack
492 -fno-stack-clash-protection
493 Disable stack clash protection
494 -fno-stack-protector Disable the use of stack protectors
495 -fno-standalone-debug Limit debug information produced to reduce size of debug binary
496 -fno-strict-float-cast-overflow
497 Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions
498 -fno-strict-return Don't treat control flow paths that fall off the end of a non-void function as unreachable
499 -fno-sycl Disables SYCL kernels compilation for device
500 -fno-temp-file Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
501 -fno-threadsafe-statics Do not emit code to make initialization of local statics thread safe
502 -fno-trigraphs Do not process trigraph sequences
503 -fno-unique-section-names
504 Don't use unique names for text and data sections
505 -fno-unroll-loops Turn off loop unroller
506 -fno-use-cxa-atexit Don't use __cxa_atexit for calling destructors
507 -fno-use-init-array Use .ctors/.dtors instead of .init_array/.fini_array
508 -fno-visibility-inlines-hidden-static-local-var
509 Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)
510 -fno-xray-function-index
511 Omit function index section at the expense of single-function patching performance
512 -fno-zero-initialized-in-bss
513 Don't place zero initialized data in BSS
514 -fobjc-arc-exceptions Use EH-safe code when synthesizing retains and releases in -fobjc-arc
515 -fobjc-arc Synthesize retain and release calls for Objective-C pointers
516 -fobjc-disable-direct-methods-for-testing
517 Ignore attribute objc_direct so that direct methods can be tested
518 -fobjc-encode-cxx-class-template-spec
519 Fully encode c++ class template specialization
520 -fobjc-exceptions Enable Objective-C exceptions
521 -fobjc-runtime=<value> Specify the target Objective-C runtime kind and version
522 -fobjc-weak Enable ARC-style weak references in Objective-C
523 -foffload-lto=<value> Set LTO mode to either 'full' or 'thin' for offload compilation
524 -foffload-lto Enable LTO in 'full' mode for offload compilation
525 -fopenmp-extensions Enable all Clang extensions for OpenMP directives and clauses
526 -fopenmp-implicit-rpath Set rpath on OpenMP executables
527 -fopenmp-new-driver Use the new driver for OpenMP offloading.
528 -fopenmp-simd Emit OpenMP code only for SIMD-based constructs.
529 -fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
530 -fopenmp-target-new-runtime
531 Use the new bitcode library for OpenMP offloading
532 -fopenmp-targets=<value>
533 Specify comma-separated list of triples OpenMP offloading targets to be supported
534 -fopenmp-version=<value>
535 Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.
536 -fopenmp Parse OpenMP pragmas and generate parallel code.
537 -foptimization-record-file=<file>
538 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.
539 -foptimization-record-passes=<regex>
540 Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
541 -forder-file-instrumentation
542 Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
543 -fpack-struct=<value> Specify the default maximum struct packing alignment
544 -fpascal-strings Recognize and construct Pascal-style string literals
545 -fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
546 -fpatchable-function-entry=<N,M>
547 Generate M NOPs before function entry and N-M NOPs after function entry
548 -fpcc-struct-return Override the default ABI to return all structs on the stack
549 -fpch-codegen Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
550 -fpch-debuginfo Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
551 -fpch-instantiate-templates
552 Instantiate templates already while building a PCH
553 -fpch-validate-input-files-content
554 Validate PCH input files based on content if mtime differs
555 -fplugin-arg-<name>-<arg>
556 Pass <arg> to plugin <name>
557 -fplugin=<dsopath> Load the named plugin (dynamic shared object)
558 -fprebuilt-implicit-modules
559 Look up implicit modules in the prebuilt module path
560 -fprebuilt-module-path=<directory>
561 Specify the prebuilt module path
562 -fproc-stat-report=<value>
563 Save subprocess statistics to the given file
564 -fproc-stat-report<value>
565 Print subprocess statistics
566 -fprofile-exclude-files=<value>
567 Instrument only functions from files where names don't match all the regexes separated by a semi-colon
568 -fprofile-filter-files=<value>
569 Instrument only functions from files where names match any regex separated by a semi-colon
570 -fprofile-generate=<directory>
571 Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
572 -fprofile-generate Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
573 -fprofile-instr-generate=<file>
574 Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)
575 -fprofile-instr-generate
576 Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
577 -fprofile-instr-use=<value>
578 Use instrumentation data for profile-guided optimization
579 -fprofile-list=<value> Filename defining the list of functions/files to instrument
580 -fprofile-remapping-file=<file>
581 Use the remappings described in <file> to match the profile data against names in the program
582 -fprofile-sample-accurate
583 Specifies that the sample profile is accurate
584 -fprofile-sample-use=<value>
585 Enable sample-based profile guided optimizations
586 -fprofile-update=<method>
587 Set update method of profile counters (atomic,prefer-atomic,single)
588 -fprofile-use=<pathname>
589 Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
590 -fprotect-parens Determines whether the optimizer honors parentheses when floating-point expressions are evaluated
591 -fpseudo-probe-for-profiling
592 Emit pseudo probes for sample profiling
593 -freciprocal-math Allow division operations to be reassociated
594 -freg-struct-return Override the default ABI to return small structs in registers
595 -fregister-global-dtors-with-atexit
596 Use atexit or __cxa_atexit to register global destructors
597 -frelaxed-template-template-args
598 Enable C++17 relaxed template template argument matching
599 -freroll-loops Turn on loop reroller
600 -fropi Generate read-only position independent code (ARM only)
601 -frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags
602 -frwpi Generate read-write position independent code (ARM only)
603 -fsanitize-address-destructor=<value>
604 Set destructor type used in ASan instrumentation
605 -fsanitize-address-field-padding=<value>
606 Level of field padding for AddressSanitizer
607 -fsanitize-address-globals-dead-stripping
608 Enable linker dead stripping of globals in AddressSanitizer
609 -fsanitize-address-outline-instrumentation
610 Always generate function calls for address sanitizer instrumentation
611 -fsanitize-address-poison-custom-array-cookie
612 Enable poisoning array cookies when using custom operator new[] in AddressSanitizer
613 -fsanitize-address-use-after-return=<mode>
614 Select the mode of detecting stack use-after-return in AddressSanitizer: never | runtime (default) | always
615 -fsanitize-address-use-after-scope
616 Enable use-after-scope detection in AddressSanitizer
617 -fsanitize-address-use-odr-indicator
618 Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
619 -fsanitize-blacklist=<value>
620 Alias for -fsanitize-ignorelist=
621 -fsanitize-cfi-canonical-jump-tables
622 Make the jump table addresses canonical in the symbol table
623 -fsanitize-cfi-cross-dso
624 Enable control flow integrity (CFI) checks for cross-DSO calls.
625 -fsanitize-cfi-icall-generalize-pointers
626 Generalize pointers in CFI indirect call type signature checks
627 -fsanitize-coverage-allowlist=<value>
628 Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
629 -fsanitize-coverage-blacklist=<value>
630 Deprecated, use -fsanitize-coverage-ignorelist= instead
631 -fsanitize-coverage-ignorelist=<value>
632 Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
633 -fsanitize-coverage-whitelist=<value>
634 Deprecated, use -fsanitize-coverage-allowlist= instead
635 -fsanitize-coverage=<value>
636 Specify the type of coverage instrumentation for Sanitizers
637 -fsanitize-hwaddress-abi=<value>
638 Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
639 -fsanitize-hwaddress-experimental-aliasing
640 Enable aliasing mode in HWAddressSanitizer
641 -fsanitize-ignorelist=<value>
642 Path to ignorelist file for sanitizers
643 -fsanitize-memory-param-retval
644 Enable detection of uninitialized parameters and return values
645 -fsanitize-memory-track-origins=<value>
646 Enable origins tracking in MemorySanitizer
647 -fsanitize-memory-track-origins
648 Enable origins tracking in MemorySanitizer
649 -fsanitize-memory-use-after-dtor
650 Enable use-after-destroy detection in MemorySanitizer
651 -fsanitize-recover=<value>
652 Enable recovery for specified sanitizers
653 -fsanitize-stats Enable sanitizer statistics gathering.
654 -fsanitize-system-blacklist=<value>
655 Alias for -fsanitize-system-ignorelist=
656 -fsanitize-system-ignorelist=<value>
657 Path to system ignorelist file for sanitizers
658 -fsanitize-thread-atomics
659 Enable atomic operations instrumentation in ThreadSanitizer (default)
660 -fsanitize-thread-func-entry-exit
661 Enable function entry/exit instrumentation in ThreadSanitizer (default)
662 -fsanitize-thread-memory-access
663 Enable memory access instrumentation in ThreadSanitizer (default)
664 -fsanitize-trap=<value> Enable trapping for specified sanitizers
665 -fsanitize-trap Enable trapping for all sanitizers
666 -fsanitize-undefined-strip-path-components=<number>
667 Strip (or keep only, if negative) a given number of path components when emitting check metadata.
668 -fsanitize=<check> Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
669 -fsave-optimization-record=<format>
670 Generate an optimization record file in a specific format
671 -fsave-optimization-record
672 Generate a YAML optimization record file
673 -fseh-exceptions Use SEH style exceptions
674 -fshort-enums Allocate to an enum type only as many bytes as it needs for the declared range of possible values
675 -fshort-wchar Force wchar_t to be a short unsigned int
676 -fshow-overloads=<value>
677 Which overload candidates to show when overload resolution fails: best|all; defaults to all
678 -fshow-skipped-includes Show skipped includes in -H output.
679 -fsigned-char char is signed
680 -fsized-deallocation Enable C++14 sized global deallocation functions
681 -fsjlj-exceptions Use SjLj style exceptions
682 -fslp-vectorize Enable the superword-level parallelism vectorization passes
683 -fsplit-dwarf-inlining Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
684 -fsplit-lto-unit Enables splitting of the LTO unit
685 -fsplit-machine-functions
686 Enable late function splitting using profile information (x86 ELF)
687 -fsplit-stack Use segmented stack
688 -fstack-clash-protection
689 Enable stack clash protection
690 -fstack-protector-all Enable stack protectors for all functions
691 -fstack-protector-strong
692 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
693 -fstack-protector Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.
694 -fstack-size-section Emit section containing metadata on function stack sizes
695 -fstack-usage Emit .su file containing information on function stack sizes
696 -fstandalone-debug Emit full debug info for all types used by the program
697 -fstrict-enums Enable optimizations based on the strict definition of an enum's value range
698 -fstrict-float-cast-overflow
699 Assume that overflowing float-to-int casts are undefined (default)
700 -fstrict-vtable-pointers
701 Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
702 -fswift-async-fp=<option>
703 Control emission of Swift async extended frame info (option: auto, always, never)
704 -fsycl Enables SYCL kernels compilation for device
705 -fsystem-module Build this module as a system module. Only used with -emit-module
706 -fthin-link-bitcode=<value>
707 Write minimized bitcode to <file> for the ThinLTO thin link only
708 -fthinlto-index=<value> Perform ThinLTO importing using provided function summary index
709 -ftime-report=<value> (For new pass manager) "per-pass": one report for each pass; "per-pass-run": one report for each pass invocation
710 -ftime-trace-granularity=<value>
711 Minimum time granularity (in microseconds) traced by time profiler
712 -ftime-trace Turn on time profiler. Generates JSON file based on output filename.
713 -ftrap-function=<value> Issue call to specified function rather than a trap instruction
714 -ftrapv-handler=<function name>
715 Specify the function to be called on overflow
716 -ftrapv Trap on integer overflow
717 -ftrigraphs Process trigraph sequences
718 -ftrivial-auto-var-init-stop-after=<value>
719 Stop initializing trivial automatic stack variables after the specified number of instances
720 -ftrivial-auto-var-init=<value>
721 Initialize trivial automatic stack variables: uninitialized (default) | pattern
722 -funique-basic-block-section-names
723 Use unique names for basic block sections (ELF Only)
724 -funique-internal-linkage-names
725 Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
726 -funroll-loops Turn on loop unroller
727 -fuse-cuid=<value> Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) | 'random' (ID's generated as random numbers) | 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=[ID]' if it is specified.
728 -fuse-line-directives Use #line in preprocessed output
729 -fvalidate-ast-input-files-content
730 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
731 -fveclib=<value> Use the given vector functions library
732 -fvectorize Enable the loop vectorization passes
733 -fverbose-asm Generate verbose assembly output
734 -fvirtual-function-elimination
735 Enables dead virtual function elimination optimization. Requires -flto=full
736 -fvisibility-dllexport=<value>
737 The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]
738 -fvisibility-externs-dllimport=<value>
739 The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]
740 -fvisibility-externs-nodllstorageclass=<value>
741 The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]
742 -fvisibility-from-dllstorageclass
743 Set the visibility of symbols in the generated code from their DLL storage class
744 -fvisibility-global-new-delete-hidden
745 Give global C++ operator new and delete declarations hidden visibility
746 -fvisibility-inlines-hidden-static-local-var
747 When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default
748 -fvisibility-inlines-hidden
749 Give inline C++ member functions hidden visibility by default
750 -fvisibility-ms-compat Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
751 -fvisibility-nodllstorageclass=<value>
752 The visibility for defintiions without an explicit DLL export class [-fvisibility-from-dllstorageclass]
753 -fvisibility=<value> Set the default symbol visibility for all global declarations
754 -fwasm-exceptions Use WebAssembly style exceptions
755 -fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto
756 -fwrapv Treat signed integer overflow as two's complement
757 -fwritable-strings Store string literals as writable data
758 -fxl-pragma-pack Enable IBM XL #pragma pack handling
759 -fxray-always-emit-customevents
760 Always emit __xray_customevent(...) calls even if the containing function is not always instrumented
761 -fxray-always-emit-typedevents
762 Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented
763 -fxray-always-instrument= <value>
764 DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
765 -fxray-attr-list= <value>
766 Filename defining the list of functions/types for imbuing XRay attributes.
767 -fxray-function-groups=<value>
768 Only instrument 1 of N groups
769 -fxray-ignore-loops Don't instrument functions with loops unless they also meet the minimum function size
770 -fxray-instruction-threshold= <value>
771 Sets the minimum function size to instrument with XRay
772 -fxray-instrumentation-bundle= <value>
773 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'.
774 -fxray-instrument Generate XRay instrumentation sleds on function entry and exit
775 -fxray-link-deps Tells clang to add the link dependencies for XRay.
776 -fxray-modes= <value> List of modes to link in by default into XRay instrumented binaries.
777 -fxray-never-instrument= <value>
778 DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
779 -fxray-selected-function-group=<value>
780 When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
781 -fzvector Enable System z vector language extension
782 -F <value> Add directory to framework include search path
783 --gcc-toolchain=<value> Search for GCC installation in the specified directory on targets which commonly use GCC. The directory usually contains 'lib{,32,64}/gcc{,-cross}/$triple' and 'include'. If specified, sysroot is skipped for GCC detection. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
784 -gcodeview-ghash Emit type record hashes in a .debug$H section
785 -gcodeview Generate CodeView debug information
786 -gdwarf-2 Generate source-level debug information with dwarf version 2
787 -gdwarf-3 Generate source-level debug information with dwarf version 3
788 -gdwarf-4 Generate source-level debug information with dwarf version 4
789 -gdwarf-5 Generate source-level debug information with dwarf version 5
790 -gdwarf32 Enables DWARF32 format for ELF binaries, if debug information emission is enabled.
791 -gdwarf64 Enables DWARF64 format for ELF binaries, if debug information emission is enabled.
792 -gdwarf Generate source-level debug information with the default dwarf version
793 -gembed-source Embed source text in DWARF debug sections
794 -gline-directives-only Emit debug line info directives only
795 -gline-tables-only Emit debug line number tables only
796 -gmodules Generate debug info with external references to clang modules or precompiled headers
797 -gno-embed-source Restore the default behavior of not embedding source text in DWARF debug sections
798 -gno-inline-line-tables Don't emit inline line tables.
799 --gpu-bundle-output Bundle output files of HIP device compilation
800 --gpu-instrument-lib=<value>
801 Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit
802 --gpu-max-threads-per-block=<value>
803 Default max threads per block for kernel launch bounds for HIP
804 -gsplit-dwarf=<value> Set DWARF fission mode to either 'split' or 'single'
805 -gz=<value> DWARF debug sections compression type
806 -G <size> Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
807 -g Generate source-level debug information
808 --help-hidden Display help for hidden options
809 -help Display available options
810 --hip-device-lib=<value>
811 HIP device library
812 --hip-link Link clang-offload-bundler bundles for HIP
813 --hip-path=<value> HIP runtime installation path, used for finding HIP version and adding HIP include path.
814 --hip-version=<value> HIP version in the format of major.minor.patch
815 --hipspv-pass-plugin=<dsopath>
816 path to a pass plugin for HIP to SPIR-V passes.
817 -H Show header includes and nesting depth
818 -I- Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
819 -ibuiltininc Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
820 -idirafter <value> Add directory to AFTER include search path
821 -iframeworkwithsysroot <directory>
822 Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
823 -iframework <value> Add directory to SYSTEM framework search path
824 -imacros <file> Include macros from file before parsing
825 -include-pch <file> Include precompiled header file
826 -include <file> Include file before parsing
827 -index-header-map Make the next included directory (-I or -F) an indexer header map
828 -iprefix <dir> Set the -iwithprefix/-iwithprefixbefore prefix
829 -iquote <directory> Add directory to QUOTE include search path
830 -isysroot <dir> Set the system root directory (usually /)
831 -isystem-after <directory>
832 Add directory to end of the SYSTEM include search path
833 -isystem <directory> Add directory to SYSTEM include search path
834 -ivfsoverlay <value> Overlay the virtual filesystem described by file over the real file system
835 -iwithprefixbefore <dir>
836 Set directory to include search path with prefix
837 -iwithprefix <dir> Set directory to SYSTEM include search path with prefix
838 -iwithsysroot <directory>
839 Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
840 -I <dir> Add directory to the end of the list of include search paths
841 --libomptarget-amdgcn-bc-path=<value>
842 Path to libomptarget-amdgcn bitcode library
843 --libomptarget-nvptx-bc-path=<value>
844 Path to libomptarget-nvptx bitcode library
845 -L <dir> Add directory to library search path
846 -mabi=vec-default Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
847 -mabi=vec-extabi Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers
848 -mabicalls Enable SVR4-style position-independent code (Mips only)
849 -maix-struct-return Return all structs in memory (PPC32 only)
850 -malign-branch-boundary=<value>
851 Specify the boundary's size to align branches
852 -malign-branch=<value> Specify types of branches to align
853 -malign-double Align doubles to two words in structs (x86 only)
854 -mamdgpu-ieee Sets the IEEE bit in the expected default floating point mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)
855 -mbackchain Link stack frames through backchain on System Z
856 -mbranch-protection=<value>
857 Enforce targets of indirect branches and function returns
858 -mbranches-within-32B-boundaries
859 Align selected branches (fused, jcc, jmp) within 32-byte boundary
860 -mcmodel=medany Equivalent to -mcmodel=medium, compatible with RISC-V gcc.
861 -mcmodel=medlow Equivalent to -mcmodel=small, compatible with RISC-V gcc.
862 -mcmse Allow use of CMSE (Armv8-M Security Extensions)
863 -mcode-object-v3 Legacy option to specify code object ABI V3 (AMDGPU only)
864 -mcode-object-version=<version>
865 Specify code object ABI version. Defaults to 3. (AMDGPU only)
866 -mcrc Allow use of CRC instructions (ARM/Mips only)
867 -mcumode Specify CU wavefront execution mode (AMDGPU only)
868 -mdouble=<value> Force double to be 32 bits or 64 bits
869 -MD Write a depfile containing user and system headers
870 -meabi <value> Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
871 -membedded-data Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
872 -menable-experimental-extensions
873 Enable use of experimental RISC-V extensions.
874 -menable-unsafe-fp-math Allow unsafe floating-point math optimizations which may decrease precision
875 -mexec-model=<value> Execution model (WebAssembly only)
876 -mexecute-only Disallow generation of data access to code sections (ARM only)
877 -mextern-sdata Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
878 -mfentry Insert calls to fentry at function entry (x86/SystemZ only)
879 -mfix-cmse-cve-2021-35465
880 Work around VLLDM erratum CVE-2021-35465 (ARM only)
881 -mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)
882 -mfp32 Use 32-bit floating point registers (MIPS only)
883 -mfp64 Use 64-bit floating point registers (MIPS only)
884 -MF <file> Write depfile output from -MMD, -MD, -MM, or -M to <file>
885 -mgeneral-regs-only Generate code which only uses the general purpose registers (AArch64/x86 only)
886 -mglobal-merge Enable merging of globals
887 -mgpopt Use GP relative accesses for symbols known to be in a small data section (MIPS)
888 -MG Add missing headers to depfile
889 -mharden-sls=<value> Select straight-line speculation hardening scope
890 -mhvx-ieee-fp Enable Hexagon HVX IEEE floating-point
891 -mhvx-length=<value> Set Hexagon Vector Length
892 -mhvx-qfloat Enable Hexagon HVX QFloat instructions
893 -mhvx=<value> Enable Hexagon Vector eXtensions
894 -mhvx Enable Hexagon Vector eXtensions
895 -miamcu Use Intel MCU ABI
896 -mibt-seal Optimize fcf-protection=branch/full (requires LTO).
897 -mignore-xcoff-visibility
898 Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
899 --migrate Run the migrator
900 -mincremental-linker-compatible
901 (integrated-as) Emit an object file which can be used with an incremental linker
902 -mindirect-jump=<value> Change indirect jump instructions to inhibit speculation
903 -mios-version-min=<value>
904 Set iOS deployment target
905 -MJ <value> Write a compilation database entry per input
906 -mllvm <value> Additional arguments to forward to LLVM's option processing
907 -mlocal-sdata Extend the -G behaviour to object local data (MIPS)
908 -mlong-calls Generate branches with extended addressability, usually via indirect jumps.
909 -mlong-double-128 Force long double to be 128 bits
910 -mlong-double-64 Force long double to be 64 bits
911 -mlong-double-80 Force long double to be 80 bits, padded to 128 bits for storage
912 -mlvi-cfi Enable only control-flow mitigations for Load Value Injection (LVI)
913 -mlvi-hardening Enable all mitigations for Load Value Injection (LVI)
914 -mmacosx-version-min=<value>
915 Set Mac OS X deployment target
916 -mmadd4 Enable the generation of 4-operand madd.s, madd.d and related instructions.
917 -mmark-bti-property Add .note.gnu.property with BTI to assembly files (AArch64 only)
918 -MMD Write a depfile containing user headers
919 -mmemops Enable generation of memop instructions
920 -mms-bitfields Set the default structure layout to be compatible with the Microsoft compiler standard
921 -mmsa Enable MSA ASE (MIPS only)
922 -mmt Enable MT ASE (MIPS only)
923 -MM Like -MMD, but also implies -E and writes to stdout by default
924 -mno-abicalls Disable SVR4-style position-independent code (Mips only)
925 -mno-bti-at-return-twice
926 Do not add a BTI instruction after a setjmp or other return-twice construct (Arm only)
927 -mno-code-object-v3 Legacy option to specify code object ABI V2 (AMDGPU only)
928 -mno-crc Disallow use of CRC instructions (Mips only)
929 -mno-cumode Specify WGP wavefront execution mode (AMDGPU only)
930 -mno-embedded-data Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)
931 -mno-execute-only Allow generation of data access to code sections (ARM only)
932 -mno-extern-sdata Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
933 -mno-fix-cmse-cve-2021-35465
934 Don't work around VLLDM erratum CVE-2021-35465 (ARM only)
935 -mno-fix-cortex-a53-835769
936 Don't workaround Cortex-A53 erratum 835769 (AArch64 only)
937 -mno-global-merge Disable merging of globals
938 -mno-gpopt Do not use GP relative accesses for symbols known to be in a small data section (MIPS)
939 -mno-hvx-ieee-fp Disable Hexagon HVX IEEE floating-point
940 -mno-hvx-qfloat Disable Hexagon HVX QFloat instructions
941 -mno-hvx Disable Hexagon Vector eXtensions
942 -mno-implicit-float Don't generate implicit floating point instructions
943 -mno-incremental-linker-compatible
944 (integrated-as) Emit an object file which cannot be used with an incremental linker
945 -mno-local-sdata Do not extend the -G behaviour to object local data (MIPS)
946 -mno-long-calls Restore the default behaviour of not generating long calls
947 -mno-lvi-cfi Disable control-flow mitigations for Load Value Injection (LVI)
948 -mno-lvi-hardening Disable mitigations for Load Value Injection (LVI)
949 -mno-madd4 Disable the generation of 4-operand madd.s, madd.d and related instructions.
950 -mno-memops Disable generation of memop instructions
951 -mno-movt Disallow use of movt/movw pairs (ARM only)
952 -mno-ms-bitfields Do not set the default structure layout to be compatible with the Microsoft compiler standard
953 -mno-msa Disable MSA ASE (MIPS only)
954 -mno-mt Disable MT ASE (MIPS only)
955 -mno-neg-immediates Disallow converting instructions with negative immediates to their negation or inversion.
956 -mno-nvj Disable generation of new-value jumps
957 -mno-nvs Disable generation of new-value stores
958 -mno-outline-atomics Don't generate local calls to out-of-line atomic operations
959 -mno-outline Disable function outlining (AArch64 only)
960 -mno-packets Disable generation of instruction packets
961 -mno-relax Disable linker relaxation
962 -mno-restrict-it Allow generation of deprecated IT blocks for ARMv8. It is off by default for ARMv8 Thumb mode
963 -mno-save-restore Disable using library calls for save and restore
964 -mno-seses Disable speculative execution side effect suppression (SESES)
965 -mno-stack-arg-probe Disable stack probes which are enabled by default
966 -mno-tgsplit Disable threadgroup split execution mode (AMDGPU only)
967 -mno-tls-direct-seg-refs
968 Disable direct TLS access through segment registers
969 -mno-unaligned-access Force all memory accesses to be aligned (AArch32/AArch64 only)
970 -mno-wavefrontsize64 Specify wavefront size 32 mode (AMDGPU only)
971 -mnocrc Disallow use of CRC instructions (ARM only)
972 -mnop-mcount Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.
973 -mnvj Enable generation of new-value jumps
974 -mnvs Enable generation of new-value stores
975 -module-dependency-dir <value>
976 Directory to dump module dependencies to
977 -module-file-info Provide information about a particular module file
978 -momit-leaf-frame-pointer
979 Omit frame pointer setup for leaf functions
980 -moutline-atomics Generate local calls to out-of-line atomic operations
981 -moutline Enable function outlining (AArch64 only)
982 -mpacked-stack Use packed stack layout (SystemZ only).
983 -mpackets Enable generation of instruction packets
984 -mpad-max-prefix-size=<value>
985 Specify maximum number of prefixes to use for padding
986 -mprefer-vector-width=<value>
987 Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
988 -MP Create phony target for each dependency (other than main file)
989 -mqdsp6-compat Enable hexagon-qdsp6 backward compatibility
990 -MQ <value> Specify name of main file output to quote in depfile
991 -mrecord-mcount Generate a __mcount_loc section entry for each __fentry__ call.
992 -mrelax-all (integrated-as) Relax all machine instructions
993 -mrelax Enable linker relaxation
994 -mrestrict-it Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
995 -mrtd Make StdCall calling convention the default
996 -msave-restore Enable using library calls for save and restore
997 -mseses Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
998 -msign-return-address=<value>
999 Select return address signing scope
1000 -mskip-rax-setup Skip setting up RAX register when passing variable arguments (x86 only)
1001 -msmall-data-limit=<value>
1002 Put global and static data smaller than the limit into a special section
1003 -msoft-float Use software floating point
1004 -mstack-alignment=<value>
1005 Set the stack alignment
1006 -mstack-arg-probe Enable stack probes
1007 -mstack-probe-size=<value>
1008 Set the stack probe size
1009 -mstack-protector-guard-offset=<value>
1010 Use the given offset for addressing the stack-protector guard
1011 -mstack-protector-guard-reg=<value>
1012 Use the given reg for addressing the stack-protector guard
1013 -mstack-protector-guard=<value>
1014 Use the given guard (global, tls) for addressing the stack-protector guard
1015 -mstackrealign Force realign the stack at entry to every function
1016 -msve-vector-bits=<value>
1017 Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
1018 -msvr4-struct-return Return small structs in registers (PPC32 only)
1019 -mtargetos=<value> Set the deployment target to be the specified OS and OS version
1020 -mtgsplit Enable threadgroup split execution mode (AMDGPU only)
1021 -mthread-model <value> The thread model to use, e.g. posix, single (posix by default)
1022 -mtls-direct-seg-refs Enable direct TLS access through segment registers (default)
1023 -mtls-size=<value> Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)
1024 -mtp=<value> Thread pointer access method (AArch32/AArch64 only)
1025 -mtune=<value> Only supported on X86 and RISC-V. Otherwise accepted for compatibility with GCC.
1026 -MT <value> Specify name of main file output in depfile
1027 -munaligned-access Allow memory accesses to be unaligned (AArch32/AArch64 only)
1028 -munsafe-fp-atomics Enable unsafe floating point atomic instructions (AMDGPU only)
1029 -mvscale-max=<value> Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)
1030 -mvscale-min=<value> Specify the vscale minimum. Defaults to "1". (AArch64 only)
1031 -MV Use NMake/Jom format for the depfile
1032 -mwavefrontsize64 Specify wavefront size 64 mode (AMDGPU only)
1033 -M Like -MD, but also implies -E and writes to stdout by default
1034 --no-cuda-include-ptx=<value>
1035 Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
1036 --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.
1037 --no-gpu-bundle-output Do not bundle output files of HIP device compilation
1038 --no-offload-arch=<value>
1039 Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
1040 --no-system-header-prefix=<prefix>
1041 Treat all #include paths starting with <prefix> as not including a system header.
1042 -nobuiltininc Disable builtin #include directories
1043 -nogpuinc Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers
1044 -nogpulib Do not link device library for CUDA/HIP device compilation
1045 -nohipwrapperinc Do not include the default HIP wrapper headers and include paths
1046 -nostdinc++ Disable standard #include directories for the C++ standard library
1047 -ObjC++ Treat source input files as Objective-C++ inputs
1048 -objcmt-allowlist-dir-path=<value>
1049 Only modify files with a filename contained in the provided directory path
1050 -objcmt-atomic-property Make migration to 'atomic' properties
1051 -objcmt-migrate-all Enable migration to modern ObjC
1052 -objcmt-migrate-annotation
1053 Enable migration to property and method annotations
1054 -objcmt-migrate-designated-init
1055 Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods
1056 -objcmt-migrate-instancetype
1057 Enable migration to infer instancetype for method result type
1058 -objcmt-migrate-literals
1059 Enable migration to modern ObjC literals
1060 -objcmt-migrate-ns-macros
1061 Enable migration to NS_ENUM/NS_OPTIONS macros
1062 -objcmt-migrate-property-dot-syntax
1063 Enable migration of setter/getter messages to property-dot syntax
1064 -objcmt-migrate-property
1065 Enable migration to modern ObjC property
1066 -objcmt-migrate-protocol-conformance
1067 Enable migration to add protocol conformance on classes
1068 -objcmt-migrate-readonly-property
1069 Enable migration to modern ObjC readonly property
1070 -objcmt-migrate-readwrite-property
1071 Enable migration to modern ObjC readwrite property
1072 -objcmt-migrate-subscripting
1073 Enable migration to modern ObjC subscripting
1074 -objcmt-ns-nonatomic-iosonly
1075 Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute
1076 -objcmt-returns-innerpointer-property
1077 Enable migration to annotate property with NS_RETURNS_INNER_POINTER
1078 -objcmt-whitelist-dir-path=<value>
1079 Alias for -objcmt-allowlist-dir-path
1080 -ObjC Treat source input files as Objective-C inputs
1081 -object-file-name=<file>
1082 Set the output <file> for debug infos
1083 --offload-arch=<value> CUDA offloading device architecture (e.g. sm_35), or HIP offloading target ID in the form of a device architecture followed by target ID features delimited by a colon. Each target ID feature is a pre-defined string followed by a plus or minus sign (e.g. gfx908:xnack+:sramecc-). May be specified more than once.
1084 --offload=<value> Specify comma-separated list of offloading target triples (CUDA and HIP only)
1085 -o <file> Write output to <file>
1086 -pedantic Warn on language extensions
1087 -pg Enable mcount instrumentation
1088 -pipe Use pipes between commands, when possible
1089 --precompile Only precompile the input
1090 -print-effective-triple Print the effective target triple
1091 -print-file-name=<file> Print the full library path of <file>
1092 -print-ivar-layout Enable Objective-C Ivar layout bitmap print trace
1093 -print-libgcc-file-name Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")
1094 -print-multiarch Print the multiarch target triple
1095 -print-prog-name=<name> Print the full program path of <name>
1096 -print-resource-dir Print the resource directory pathname
1097 -print-rocm-search-dirs Print the paths used for finding ROCm installation
1098 -print-runtime-dir Print the directory pathname containing clangs runtime libraries
1099 -print-search-dirs Print the paths used for finding libraries and programs
1100 -print-supported-cpus Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)
1101 -print-target-triple Print the normalized target triple
1102 -print-targets Print the registered targets
1103 -pthread Support POSIX threads in generated code
1104 --ptxas-path=<value> Path to ptxas (used for compiling CUDA code)
1105 -P Disable linemarker output in -E mode
1106 -Qn Do not emit metadata containing compiler name and version
1107 -Qunused-arguments Don't emit warning for unused driver arguments
1108 -Qy Emit metadata containing compiler name and version
1109 -relocatable-pch Whether to build a relocatable precompiled header
1110 -rewrite-legacy-objc Rewrite Legacy Objective-C source to C++
1111 -rewrite-objc Rewrite Objective-C source to C++
1112 --rocm-device-lib-path=<value>
1113 ROCm device library path. Alternative to rocm-path.
1114 --rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
1115 -Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
1116 -Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
1117 -Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
1118 -rtlib=<value> Compiler runtime library to use
1119 -R<remark> Enable the specified remark
1120 -save-stats=<value> Save llvm statistics.
1121 -save-stats Save llvm statistics.
1122 -save-temps=<value> Save intermediate compilation results.
1123 -save-temps Save intermediate compilation results
1124 -serialize-diagnostics <value>
1125 Serialize compiler diagnostics to a file
1126 -shared-libsan Dynamically link the sanitizer runtime
1127 --start-no-unused-arguments
1128 Don't emit warnings about unused arguments for the following arguments
1129 -static-libsan Statically link the sanitizer runtime
1130 -static-openmp Use the static host OpenMP runtime while linking.
1131 -std=<value> Language standard to compile for
1132 -stdlib++-isystem <directory>
1133 Use directory as the C++ standard library include path
1134 -stdlib=<value> C++ standard library to use
1135 -sycl-std=<value> SYCL language standard to compile for.
1136 --system-header-prefix=<prefix>
1137 Treat all #include paths starting with <prefix> as including a system header.
1138 -S Only run preprocess and compilation steps
1139 --target=<value> Generate code for the given target
1140 -Tbss <addr> Set starting address of BSS to <addr>
1141 -Tdata <addr> Set starting address of DATA to <addr>
1142 -time Time individual commands
1143 -traditional-cpp Enable some traditional CPP emulation
1144 -trigraphs Process trigraph sequences
1145 -Ttext <addr> Set starting address of TEXT to <addr>
1146 -T <script> Specify <script> as linker script
1147 -undef undef all system defines
1148 -unwindlib=<value> Unwind library to use
1149 -U <macro> Undefine macro <macro>
1150 --verify-debug-info Verify the binary representation of debug output
1151 -verify-pch Load and verify that a pre-compiled header file is not stale
1152 --version Print version information
1153 -v Show commands to run and use verbose output
1154 -Wa,<arg> Pass the comma separated arguments in <arg> to the assembler
1155 -Wdeprecated Enable warnings for deprecated constructs and define __DEPRECATED
1156 -Wl,<arg> Pass the comma separated arguments in <arg> to the linker
1157 -working-directory <value>
1158 Resolve file paths relative to the specified directory
1159 -Wp,<arg> Pass the comma separated arguments in <arg> to the preprocessor
1160 -W<warning> Enable the specified warning
1161 -w Suppress all warnings
1162 -Xanalyzer <arg> Pass <arg> to the static analyzer
1163 -Xarch_device <arg> Pass <arg> to the CUDA/HIP device compilation
1164 -Xarch_host <arg> Pass <arg> to the CUDA/HIP host compilation
1165 -Xassembler <arg> Pass <arg> to the assembler
1166 -Xclang <arg> Pass <arg> to the clang compiler
1167 -Xcuda-fatbinary <arg> Pass <arg> to fatbinary invocation
1168 -Xcuda-ptxas <arg> Pass <arg> to the ptxas assembler
1169 -Xlinker <arg> Pass <arg> to the linker
1170 -Xopenmp-target=<triple> <arg>
1171 Pass <arg> to the target offloading toolchain identified by <triple>.
1172 -Xopenmp-target <arg> Pass <arg> to the target offloading toolchain.
1173 -Xpreprocessor <arg> Pass <arg> to the preprocessor
1174 -x <language> Treat subsequent input files as having type <language>
1175 -z <arg> Pass -z <arg> to the linker