1 | OVERVIEW: clang LLVM compiler
|
2 |
|
3 | USAGE: clang-14 [options] file...
|
4 |
|
5 | OPTIONS:
|
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
|