@@ -893,6 +893,10 @@ Require member pointer base types to be complete if they would be significant un
893
893
894
894
Put crash-report files in <dir>
895
895
896
+ .. option :: -fcrash-diagnostics= <arg >, -fcrash-diagnostics (equivalent to -fcrash-diagnostics=compiler)
897
+
898
+ Set level of crash diagnostic reporting, (option: off, compiler, all)
899
+
896
900
.. option :: -fdeclspec , -fno-declspec
897
901
898
902
Allow \_\_ declspec as a keyword
@@ -1145,7 +1149,9 @@ Include path management
1145
1149
1146
1150
Flags controlling how ``#include ``\s are resolved to files.
1147
1151
1148
- .. option :: -I <dir >, --include-directory <arg >, --include-directory= <arg >
1152
+ .. program :: clang3
1153
+ .. option :: -I <dir >, /I <dir >, -I <dir >, --include-directory <arg >, --include-directory= <arg >
1154
+ .. program :: clang
1149
1155
1150
1156
Add directory to include search path. For C++ inputs, if
1151
1157
there are multiple -I options, these directories are searched
@@ -2301,6 +2307,10 @@ Instrument only functions from files where names don't match all the regexes sep
2301
2307
2302
2308
Instrument only functions from files where names match any regex separated by a semi-colon
2303
2309
2310
+ .. option :: -fprofile-function-groups= <N >
2311
+
2312
+ Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group
2313
+
2304
2314
.. option :: -fprofile-generate , -fno-profile-generate
2305
2315
2306
2316
Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_ PROFILE\_ FILE env var)
@@ -2333,10 +2343,6 @@ Use instrumentation data for profile-guided optimization
2333
2343
2334
2344
Filename defining the list of functions/files to instrument
2335
2345
2336
- .. option :: -fprofile-function-groups= <N >, -fprofile-selected-function-group= <i >
2337
-
2338
- Partition functions into <N> groups and select only functions in group <i> to be instrumented
2339
-
2340
2346
.. option :: -fprofile-remapping-file= <file >
2341
2347
2342
2348
Use the remappings described in <file> to match the profile data against names in the program
@@ -2356,6 +2362,10 @@ Specifies that the sample profile is accurate. If the sample
2356
2362
2357
2363
Enable sample-based profile guided optimizations
2358
2364
2365
+ .. option :: -fprofile-selected-function-group= <i >
2366
+
2367
+ Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive
2368
+
2359
2369
.. option :: -fprofile-update= <method >
2360
2370
2361
2371
Set update method of profile counters. <method> must be 'atomic', 'prefer-atomic' or 'single'.
@@ -2528,6 +2538,10 @@ Emit full debug info for all types used by the program
2528
2538
2529
2539
Enable optimizations based on the strict definition of an enum's value range
2530
2540
2541
+ .. option :: -fstrict-flex-arrays= <n >
2542
+
2543
+ Enable optimizations based on the strict definition of flexible arrays. <n> must be '0', '1' or '2'.
2544
+
2531
2545
.. option :: -fstrict-float-cast-overflow , -fno-strict-float-cast-overflow
2532
2546
2533
2547
Assume that overflowing float-to-int casts are undefined (default)
@@ -2587,6 +2601,12 @@ can be analyzed with chrome://tracing or `Speedscope App
2587
2601
2588
2602
Minimum time granularity (in microseconds) traced by time profiler
2589
2603
2604
+ .. program :: clang1
2605
+ .. option :: -ftime-trace= <arg >
2606
+ .. program :: clang
2607
+
2608
+ Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file
2609
+
2590
2610
.. option :: -ftls-model= <arg >
2591
2611
2592
2612
<arg> must be 'global-dynamic', 'local-dynamic', 'initial-exec' or 'local-exec'.
@@ -2647,12 +2667,6 @@ Turn on loop unroller
2647
2667
2648
2668
.. option :: -fuse-init-array , -fno-use-init-array
2649
2669
2650
- .. option :: -fstrict-flex-arrays= <arg >, -fno-strict-flex-arrays
2651
-
2652
- Control which arrays are considered as flexible arrays members. <arg>
2653
- can be 1 (array of size 0, 1 and undefined are considered) or 2 (array of size 0
2654
- and undefined are considered).
2655
-
2656
2670
.. option :: -fuse-ld= <arg >
2657
2671
2658
2672
.. option :: -fuse-line-directives , -fno-use-line-directives
@@ -3040,12 +3054,18 @@ Set Fuchsia API level
3040
3054
.. option :: -mabi= <arg >
3041
3055
3042
3056
.. program :: clang1
3057
+ .. option :: -mabi=quadword-atomics
3058
+ .. program :: clang
3059
+
3060
+ Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.
3061
+
3062
+ .. program :: clang2
3043
3063
.. option :: -mabi=vec-default
3044
3064
.. program :: clang
3045
3065
3046
3066
Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
3047
3067
3048
- .. program :: clang2
3068
+ .. program :: clang3
3049
3069
.. option :: -mabi=vec-extabi
3050
3070
.. program :: clang
3051
3071
@@ -3141,6 +3161,10 @@ Insert calls to fentry at function entry (x86/SystemZ only)
3141
3161
3142
3162
.. option :: -mfpu= <arg >
3143
3163
3164
+ .. option :: -mfunction-return= <arg >
3165
+
3166
+ Replace returns with jumps to \`\`\_\_ x86\_ return\_ thunk\`\` (x86 only, error otherwise). <arg> must be 'keep' or 'thunk-extern'.
3167
+
3144
3168
.. option :: -mgeneral-regs-only
3145
3169
3146
3170
Generate code which only uses the general purpose registers (AArch64/x86 only)
@@ -3175,7 +3199,9 @@ Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspeci
3175
3199
3176
3200
(integrated-as) Emit an object file which can be used with an incremental linker
3177
3201
3178
- .. option :: -miphoneos-version-min= <arg >, -mios-version-min= <arg >
3202
+ .. option :: -mios-version-min= <arg >, -miphoneos-version-min= <arg >
3203
+
3204
+ Set iOS deployment target
3179
3205
3180
3206
.. option :: -mkernel
3181
3207
@@ -3191,9 +3217,9 @@ Enable only control-flow mitigations for Load Value Injection (LVI)
3191
3217
3192
3218
Enable all mitigations for Load Value Injection (LVI)
3193
3219
3194
- .. option :: -mmacosx -version-min= <arg >, -mmacos -version-min= <arg >
3220
+ .. option :: -mmacos -version-min= <arg >, -mmacosx -version-min= <arg >
3195
3221
3196
- Set Mac OS X deployment target
3222
+ Set macOS deployment target
3197
3223
3198
3224
.. option :: -mmcu= <arg >
3199
3225
@@ -3335,7 +3361,7 @@ Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) \| 24
3335
3361
.. option :: -mtune= <arg >
3336
3362
.. program :: clang
3337
3363
3338
- Only supported on X86, RISC-V and SystemZ. Otherwise accepted for compatibility with GCC.
3364
+ Only supported on AArch64, PowerPC, RISC-V, SystemZ, and X86
3339
3365
3340
3366
.. option :: -mtvos-version-min= <arg >, -mappletvos-version-min= <arg >
3341
3367
@@ -4341,23 +4367,35 @@ undef all system defines
4341
4367
4342
4368
Pass -z <arg> to the linker
4343
4369
4370
+ <clang-cl options>
4371
+ ==================
4372
+ CL.EXE COMPATIBILITY OPTIONS
4373
+
4374
+ <clang-cl compile-only options>
4375
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4376
+ </M group>
4377
+ ----------
4378
+ </volatile group>
4379
+ -----------------
4380
+ <clang-cl ignored options>
4381
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
4344
4382
<clang-dxc options>
4345
4383
===================
4346
4384
dxc compatibility options
4347
4385
4348
- .. program :: clang3
4386
+ .. program :: clang4
4349
4387
.. option :: /T <profile >, -T <profile >
4350
4388
.. program :: clang
4351
4389
4352
4390
Set target profile. <profile> must be 'ps_6_0', ' ps_6_1', ' ps_6_2', ' ps_6_3', ' ps_6_4', ' ps_6_5', ' ps_6_6', ' ps_6_7', 'vs_6_0', ' vs_6_1', ' vs_6_2', ' vs_6_3', ' vs_6_4', ' vs_6_5', ' vs_6_6', ' vs_6_7', 'gs_6_0', ' gs_6_1', ' gs_6_2', ' gs_6_3', ' gs_6_4', ' gs_6_5', ' gs_6_6', ' gs_6_7', 'hs_6_0', ' hs_6_1', ' hs_6_2', ' hs_6_3', ' hs_6_4', ' hs_6_5', ' hs_6_6', ' hs_6_7', 'ds_6_0', ' ds_6_1', ' ds_6_2', ' ds_6_3', ' ds_6_4', ' ds_6_5', ' ds_6_6', ' ds_6_7', 'cs_6_0', ' cs_6_1', ' cs_6_2', ' cs_6_3', ' cs_6_4', ' cs_6_5', ' cs_6_6', ' cs_6_7', 'lib_6_3', ' lib_6_4', ' lib_6_5', ' lib_6_6', ' lib_6_7', ' lib_6_x', 'ms_6_5', ' ms_6_6', ' ms_6_7', 'as_6_5', ' as_6_6' or ' as_6_7'.
4353
4391
4354
- .. program :: clang4
4392
+ .. program :: clang5
4355
4393
.. option :: /emit-pristine-llvm , -emit-pristine-llvm , /fcgl , -fcgl
4356
4394
.. program :: clang
4357
4395
4358
4396
Emit pristine LLVM IR from the frontend by not running any LLVM passes at all.Same as -S + -emit-llvm + -disable-llvm-passes.
4359
4397
4360
- .. program :: clang5
4398
+ .. program :: clang6
4361
4399
.. option :: /hlsl-no-stdinc , -hlsl-no-stdinc
4362
4400
.. program :: clang
4363
4401
0 commit comments