@cpp-linter/clang-tidy-linux-arm64 17.0.6 → 19.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy +2 -2
- package/lib/clang/{17 → 19}/include/__clang_cuda_device_functions.h +2 -2
- package/lib/clang/{17 → 19}/include/__clang_cuda_intrinsics.h +1 -3
- package/lib/clang/{17 → 19}/include/__clang_cuda_libdevice_declares.h +2 -2
- package/lib/clang/{17 → 19}/include/__clang_cuda_math.h +2 -2
- package/lib/clang/{17 → 19}/include/__clang_cuda_runtime_wrapper.h +2 -2
- package/lib/clang/{17 → 19}/include/__clang_hip_math.h +192 -171
- package/lib/clang/{17 → 19}/include/__clang_hip_runtime_wrapper.h +34 -26
- package/lib/clang/19/include/__stdarg___gnuc_va_list.h +13 -0
- package/lib/clang/19/include/__stdarg___va_copy.h +12 -0
- package/lib/clang/19/include/__stdarg_header_macro.h +12 -0
- package/lib/clang/19/include/__stdarg_va_arg.h +22 -0
- package/lib/clang/19/include/__stdarg_va_copy.h +12 -0
- package/lib/clang/19/include/__stdarg_va_list.h +13 -0
- package/lib/clang/19/include/__stddef_header_macro.h +12 -0
- package/lib/clang/{17 → 19}/include/__stddef_max_align_t.h +1 -1
- package/lib/clang/19/include/__stddef_null.h +29 -0
- package/lib/clang/19/include/__stddef_nullptr_t.h +29 -0
- package/lib/clang/19/include/__stddef_offsetof.h +17 -0
- package/lib/clang/19/include/__stddef_ptrdiff_t.h +20 -0
- package/lib/clang/19/include/__stddef_rsize_t.h +20 -0
- package/lib/clang/19/include/__stddef_size_t.h +20 -0
- package/lib/clang/19/include/__stddef_unreachable.h +21 -0
- package/lib/clang/19/include/__stddef_wchar_t.h +28 -0
- package/lib/clang/19/include/__stddef_wint_t.h +15 -0
- package/lib/clang/{17/include/adxintrin.h → 19/include/adcintrin.h} +27 -94
- package/lib/clang/19/include/adxintrin.h +102 -0
- package/lib/clang/{17 → 19}/include/altivec.h +31 -12
- package/lib/clang/{17 → 19}/include/ammintrin.h +4 -4
- package/lib/clang/{17 → 19}/include/arm_acle.h +138 -32
- package/lib/clang/{17 → 19}/include/arm_fp16.h +1 -1
- package/lib/clang/{17 → 19}/include/arm_neon.h +43361 -43608
- package/lib/clang/19/include/arm_sme.h +2819 -0
- package/lib/clang/{17 → 19}/include/arm_sve.h +30202 -23615
- package/lib/clang/19/include/arm_vector_types.h +345 -0
- package/lib/clang/{17 → 19}/include/avx2intrin.h +24 -3
- package/lib/clang/{17 → 19}/include/avx512bf16intrin.h +3 -2
- package/lib/clang/{17 → 19}/include/avx512bitalgintrin.h +4 -1
- package/lib/clang/{17 → 19}/include/avx512bwintrin.h +28 -38
- package/lib/clang/{17 → 19}/include/avx512cdintrin.h +3 -1
- package/lib/clang/{17 → 19}/include/avx512dqintrin.h +4 -2
- package/lib/clang/{17 → 19}/include/avx512fintrin.h +7 -3
- package/lib/clang/{17 → 19}/include/avx512fp16intrin.h +44 -42
- package/lib/clang/{17 → 19}/include/avx512ifmaintrin.h +3 -1
- package/lib/clang/{17 → 19}/include/avx512ifmavlintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vbmi2intrin.h +1 -1
- package/lib/clang/{17 → 19}/include/avx512vbmiintrin.h +3 -2
- package/lib/clang/{17 → 19}/include/avx512vbmivlintrin.h +8 -3
- package/lib/clang/{17 → 19}/include/avx512vlbf16intrin.h +8 -6
- package/lib/clang/{17 → 19}/include/avx512vlbitalgintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlbwintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlcdintrin.h +8 -3
- package/lib/clang/{17 → 19}/include/avx512vldqintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlfp16intrin.h +2 -2
- package/lib/clang/{17 → 19}/include/avx512vlintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlvbmi2intrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlvnniintrin.h +8 -2
- package/lib/clang/{17 → 19}/include/avx512vlvp2intersectintrin.h +6 -4
- package/lib/clang/{17 → 19}/include/avx512vnniintrin.h +3 -2
- package/lib/clang/{17 → 19}/include/avx512vp2intersectintrin.h +3 -2
- package/lib/clang/{17 → 19}/include/avx512vpopcntdqintrin.h +3 -1
- package/lib/clang/{17 → 19}/include/avx512vpopcntdqvlintrin.h +6 -2
- package/lib/clang/{17 → 19}/include/avxintrin.h +67 -49
- package/lib/clang/{17 → 19}/include/bmiintrin.h +233 -50
- package/lib/clang/{17 → 19}/include/builtins.h +3 -0
- package/lib/clang/{17 → 19}/include/cpuid.h +23 -3
- package/lib/clang/{17 → 19}/include/cuda_wrappers/algorithm +1 -1
- package/lib/clang/{17 → 19}/include/emmintrin.h +311 -180
- package/lib/clang/{17 → 19}/include/float.h +28 -0
- package/lib/clang/{17 → 19}/include/fmaintrin.h +32 -16
- package/lib/clang/{17 → 19}/include/gfniintrin.h +23 -6
- package/lib/clang/{17 → 19}/include/hlsl/hlsl_basic_types.h +10 -3
- package/lib/clang/19/include/hlsl/hlsl_intrinsics.h +1697 -0
- package/lib/clang/19/include/ia32intrin.h +863 -0
- package/lib/clang/{17 → 19}/include/immintrin.h +149 -160
- package/lib/clang/{17 → 19}/include/intrin.h +61 -221
- package/lib/clang/19/include/intrin0.h +247 -0
- package/lib/clang/{17 → 19}/include/inttypes.h +4 -0
- package/lib/clang/{17 → 19}/include/iso646.h +4 -0
- package/lib/clang/{17 → 19}/include/keylockerintrin.h +5 -8
- package/lib/clang/{17 → 19}/include/larchintrin.h +13 -1
- package/lib/clang/19/include/lasxintrin.h +3884 -0
- package/lib/clang/{17 → 19}/include/limits.h +7 -4
- package/lib/clang/{17/include/llvm_libc_wrappers/stdio.h → 19/include/llvm_libc_wrappers/assert.h} +7 -7
- package/lib/clang/{17 → 19}/include/llvm_libc_wrappers/ctype.h +17 -0
- package/lib/clang/19/include/llvm_libc_wrappers/stdio.h +80 -0
- package/lib/clang/{17 → 19}/include/llvm_libc_wrappers/stdlib.h +4 -1
- package/lib/clang/19/include/llvm_libc_wrappers/string.h +96 -0
- package/lib/clang/{17/include/llvm_libc_wrappers/string.h → 19/include/llvm_libc_wrappers/time.h} +9 -12
- package/lib/clang/19/include/lsxintrin.h +3750 -0
- package/lib/clang/19/include/mm3dnow.h +22 -0
- package/lib/clang/{17 → 19}/include/mmintrin.h +83 -89
- package/lib/clang/19/include/module.modulemap +330 -0
- package/lib/clang/{17 → 19}/include/opencl-c-base.h +9 -0
- package/lib/clang/{17 → 19}/include/opencl-c.h +15 -0
- package/lib/clang/{17 → 19}/include/openmp_wrappers/cmath +1 -1
- package/lib/clang/{17 → 19}/include/pmmintrin.h +3 -2
- package/lib/clang/19/include/ppc_wrappers/nmmintrin.h +26 -0
- package/lib/clang/{17 → 19}/include/ppc_wrappers/smmintrin.h +35 -15
- package/lib/clang/{17 → 19}/include/prfchwintrin.h +10 -8
- package/lib/clang/19/include/ptrauth.h +330 -0
- package/lib/clang/19/include/riscv_bitmanip.h +195 -0
- package/lib/clang/19/include/riscv_crypto.h +170 -0
- package/lib/clang/{17 → 19}/include/riscv_ntlh.h +3 -5
- package/lib/clang/{17 → 19}/include/riscv_vector.h +31 -4
- package/lib/clang/19/include/sifive_vector.h +118 -0
- package/lib/clang/{17 → 19}/include/smmintrin.h +15 -15
- package/lib/clang/{17 → 19}/include/stdalign.h +6 -3
- package/lib/clang/19/include/stdarg.h +75 -0
- package/lib/clang/{17 → 19}/include/stdatomic.h +14 -6
- package/lib/clang/{17 → 19}/include/stdbool.h +5 -0
- package/lib/clang/19/include/stdckdint.h +42 -0
- package/lib/clang/19/include/stddef.h +139 -0
- package/lib/clang/{17 → 19}/include/stdint.h +24 -48
- package/lib/clang/{17 → 19}/include/stdnoreturn.h +8 -2
- package/lib/clang/{17 → 19}/include/tmmintrin.h +27 -18
- package/lib/clang/19/include/usermsrintrin.h +51 -0
- package/lib/clang/{17 → 19}/include/vaesintrin.h +4 -2
- package/lib/clang/{17 → 19}/include/varargs.h +5 -1
- package/lib/clang/{17 → 19}/include/vecintrin.h +217 -199
- package/lib/clang/{17 → 19}/include/x86gprintrin.h +10 -12
- package/lib/clang/19/include/x86intrin.h +53 -0
- package/lib/clang/{17 → 19}/include/xmmintrin.h +294 -104
- package/lib/clang/19/include/yvals_core.h +25 -0
- package/lib/clang/19/include/zos_wrappers/builtins.h +18 -0
- package/package.json +6 -6
- package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +0 -642
- package/lib/clang/17/include/avx512erintrin.h +0 -271
- package/lib/clang/17/include/avx512pfintrin.h +0 -97
- package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +0 -480
- package/lib/clang/17/include/ia32intrin.h +0 -441
- package/lib/clang/17/include/mm3dnow.h +0 -157
- package/lib/clang/17/include/module.modulemap +0 -164
- package/lib/clang/17/include/sifive_vector.h +0 -16
- package/lib/clang/17/include/stdarg.h +0 -51
- package/lib/clang/17/include/stddef.h +0 -133
- package/lib/clang/17/include/x86intrin.h +0 -67
- /package/lib/clang/{17 → 19}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_hip_libdevice_declares.h +0 -0
- /package/lib/clang/{17 → 19}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{17 → 19}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{17 → 19}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{17 → 19}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/amxintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm64intr.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm_bf16.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm_cde.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm_cmse.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm_mve.h +0 -0
- /package/lib/clang/{17 → 19}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{17 → 19}/include/armintr.h +0 -0
- /package/lib/clang/{17 → 19}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/avxvnniint16intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/avxvnniint8intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/cet.h +0 -0
- /package/lib/clang/{17 → 19}/include/cetintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/clwbintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/clzerointrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/crc32intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{17 → 19}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{17 → 19}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/f16cintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/fma4intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{17 → 19}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{17 → 19}/include/hexagon_types.h +0 -0
- /package/lib/clang/{17 → 19}/include/hlsl.h +0 -0
- /package/lib/clang/{17 → 19}/include/hresetintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/htmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{17 → 19}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{17 → 19}/include/lwpintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/mm_malloc.h +0 -0
- /package/lib/clang/{17 → 19}/include/movdirintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/msa.h +0 -0
- /package/lib/clang/{17 → 19}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/nmmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{17 → 19}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{17 → 19}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/pkuintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/popcntintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/raointintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/rtmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/s390intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/serializeintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/sgxintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/sha512intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/shaintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/sm3intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/sm4intrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/tbmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/tgmath.h +0 -0
- /package/lib/clang/{17 → 19}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/uintrintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/unwind.h +0 -0
- /package/lib/clang/{17 → 19}/include/vadefs.h +0 -0
- /package/lib/clang/{17 → 19}/include/velintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{17 → 19}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{17 → 19}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/wasm_simd128.h +0 -0
- /package/lib/clang/{17 → 19}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/wmmintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xopintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{17 → 19}/include/xtestintrin.h +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/*===---- stdarg.h - Variable argument handling ----------------------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/*
|
|
11
|
+
* This header is designed to be included multiple times. If any of the __need_
|
|
12
|
+
* macros are defined, then only that subset of interfaces are provided. This
|
|
13
|
+
* can be useful for POSIX headers that need to not expose all of stdarg.h, but
|
|
14
|
+
* need to use some of its interfaces. Otherwise this header provides all of
|
|
15
|
+
* the expected interfaces.
|
|
16
|
+
*
|
|
17
|
+
* When clang modules are enabled, this header is a textual header to support
|
|
18
|
+
* the multiple include behavior. As such, it doesn't directly declare anything
|
|
19
|
+
* so that it doesn't add duplicate declarations to all of its includers'
|
|
20
|
+
* modules.
|
|
21
|
+
*/
|
|
22
|
+
#if defined(__MVS__) && __has_include_next(<stdarg.h>)
|
|
23
|
+
#undef __need___va_list
|
|
24
|
+
#undef __need_va_list
|
|
25
|
+
#undef __need_va_arg
|
|
26
|
+
#undef __need___va_copy
|
|
27
|
+
#undef __need_va_copy
|
|
28
|
+
#include <__stdarg_header_macro.h>
|
|
29
|
+
#include_next <stdarg.h>
|
|
30
|
+
|
|
31
|
+
#else
|
|
32
|
+
#if !defined(__need___va_list) && !defined(__need_va_list) && \
|
|
33
|
+
!defined(__need_va_arg) && !defined(__need___va_copy) && \
|
|
34
|
+
!defined(__need_va_copy)
|
|
35
|
+
#define __need___va_list
|
|
36
|
+
#define __need_va_list
|
|
37
|
+
#define __need_va_arg
|
|
38
|
+
#define __need___va_copy
|
|
39
|
+
/* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
|
|
40
|
+
* or -ansi is not specified, since it was not part of C90.
|
|
41
|
+
*/
|
|
42
|
+
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
|
|
43
|
+
(defined(__cplusplus) && __cplusplus >= 201103L) || \
|
|
44
|
+
!defined(__STRICT_ANSI__)
|
|
45
|
+
#define __need_va_copy
|
|
46
|
+
#endif
|
|
47
|
+
#include <__stdarg_header_macro.h>
|
|
48
|
+
#endif
|
|
49
|
+
|
|
50
|
+
#ifdef __need___va_list
|
|
51
|
+
#include <__stdarg___gnuc_va_list.h>
|
|
52
|
+
#undef __need___va_list
|
|
53
|
+
#endif /* defined(__need___va_list) */
|
|
54
|
+
|
|
55
|
+
#ifdef __need_va_list
|
|
56
|
+
#include <__stdarg_va_list.h>
|
|
57
|
+
#undef __need_va_list
|
|
58
|
+
#endif /* defined(__need_va_list) */
|
|
59
|
+
|
|
60
|
+
#ifdef __need_va_arg
|
|
61
|
+
#include <__stdarg_va_arg.h>
|
|
62
|
+
#undef __need_va_arg
|
|
63
|
+
#endif /* defined(__need_va_arg) */
|
|
64
|
+
|
|
65
|
+
#ifdef __need___va_copy
|
|
66
|
+
#include <__stdarg___va_copy.h>
|
|
67
|
+
#undef __need___va_copy
|
|
68
|
+
#endif /* defined(__need___va_copy) */
|
|
69
|
+
|
|
70
|
+
#ifdef __need_va_copy
|
|
71
|
+
#include <__stdarg_va_copy.h>
|
|
72
|
+
#undef __need_va_copy
|
|
73
|
+
#endif /* defined(__need_va_copy) */
|
|
74
|
+
|
|
75
|
+
#endif /* __MVS__ */
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* Exclude the MSVC path as well as the MSVC header as of the 14.31.30818
|
|
17
17
|
* explicitly disallows `stdatomic.h` in the C mode via an `#error`. Fallback
|
|
18
18
|
* to the clang resource header until that is fully supported. The
|
|
19
|
-
* `stdatomic.h` header requires C++
|
|
19
|
+
* `stdatomic.h` header requires C++23 or newer.
|
|
20
20
|
*/
|
|
21
21
|
#if __STDC_HOSTED__ && \
|
|
22
22
|
__has_include_next(<stdatomic.h>) && \
|
|
@@ -35,6 +35,9 @@ extern "C" {
|
|
|
35
35
|
|
|
36
36
|
#define ATOMIC_BOOL_LOCK_FREE __CLANG_ATOMIC_BOOL_LOCK_FREE
|
|
37
37
|
#define ATOMIC_CHAR_LOCK_FREE __CLANG_ATOMIC_CHAR_LOCK_FREE
|
|
38
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
39
|
+
#define ATOMIC_CHAR8_T_LOCK_FREE __CLANG_ATOMIC_CHAR8_T_LOCK_FREE
|
|
40
|
+
#endif
|
|
38
41
|
#define ATOMIC_CHAR16_T_LOCK_FREE __CLANG_ATOMIC_CHAR16_T_LOCK_FREE
|
|
39
42
|
#define ATOMIC_CHAR32_T_LOCK_FREE __CLANG_ATOMIC_CHAR32_T_LOCK_FREE
|
|
40
43
|
#define ATOMIC_WCHAR_T_LOCK_FREE __CLANG_ATOMIC_WCHAR_T_LOCK_FREE
|
|
@@ -45,16 +48,14 @@ extern "C" {
|
|
|
45
48
|
#define ATOMIC_POINTER_LOCK_FREE __CLANG_ATOMIC_POINTER_LOCK_FREE
|
|
46
49
|
|
|
47
50
|
/* 7.17.2 Initialization */
|
|
48
|
-
|
|
49
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
50
|
-
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ < 202000L) || \
|
|
51
|
+
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ < 202311L) || \
|
|
51
52
|
defined(__cplusplus)
|
|
52
|
-
/* ATOMIC_VAR_INIT was removed in
|
|
53
|
+
/* ATOMIC_VAR_INIT was removed in C23, but still remains in C++23. */
|
|
53
54
|
#define ATOMIC_VAR_INIT(value) (value)
|
|
54
55
|
#endif
|
|
55
56
|
|
|
56
57
|
#if ((defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201710L && \
|
|
57
|
-
__STDC_VERSION__ <
|
|
58
|
+
__STDC_VERSION__ < 202311L) || \
|
|
58
59
|
(defined(__cplusplus) && __cplusplus >= 202002L)) && \
|
|
59
60
|
!defined(_CLANG_DISABLE_CRT_DEPRECATION_WARNINGS)
|
|
60
61
|
/* ATOMIC_VAR_INIT was deprecated in C17 and C++20. */
|
|
@@ -106,6 +107,9 @@ typedef _Atomic(long) atomic_long;
|
|
|
106
107
|
typedef _Atomic(unsigned long) atomic_ulong;
|
|
107
108
|
typedef _Atomic(long long) atomic_llong;
|
|
108
109
|
typedef _Atomic(unsigned long long) atomic_ullong;
|
|
110
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
111
|
+
typedef _Atomic(unsigned char) atomic_char8_t;
|
|
112
|
+
#endif
|
|
109
113
|
typedef _Atomic(uint_least16_t) atomic_char16_t;
|
|
110
114
|
typedef _Atomic(uint_least32_t) atomic_char32_t;
|
|
111
115
|
typedef _Atomic(wchar_t) atomic_wchar_t;
|
|
@@ -168,7 +172,11 @@ typedef _Atomic(uintmax_t) atomic_uintmax_t;
|
|
|
168
172
|
|
|
169
173
|
typedef struct atomic_flag { atomic_bool _Value; } atomic_flag;
|
|
170
174
|
|
|
175
|
+
#ifdef __cplusplus
|
|
176
|
+
#define ATOMIC_FLAG_INIT {false}
|
|
177
|
+
#else
|
|
171
178
|
#define ATOMIC_FLAG_INIT { 0 }
|
|
179
|
+
#endif
|
|
172
180
|
|
|
173
181
|
/* These should be provided by the libc implementation. */
|
|
174
182
|
#ifdef __cplusplus
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
#define __bool_true_false_are_defined 1
|
|
14
14
|
|
|
15
|
+
#if defined(__MVS__) && __has_include_next(<stdbool.h>)
|
|
16
|
+
#include_next <stdbool.h>
|
|
17
|
+
#else
|
|
18
|
+
|
|
15
19
|
#if defined(__STDC_VERSION__) && __STDC_VERSION__ > 201710L
|
|
16
20
|
/* FIXME: We should be issuing a deprecation warning here, but cannot yet due
|
|
17
21
|
* to system headers which include this header file unconditionally.
|
|
@@ -31,4 +35,5 @@
|
|
|
31
35
|
#endif
|
|
32
36
|
#endif
|
|
33
37
|
|
|
38
|
+
#endif /* __MVS__ */
|
|
34
39
|
#endif /* __STDBOOL_H */
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*===---- stdckdint.h - Standard header for checking integer----------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __STDCKDINT_H
|
|
11
|
+
#define __STDCKDINT_H
|
|
12
|
+
|
|
13
|
+
/* If we're hosted, fall back to the system's stdckdint.h. FreeBSD, for
|
|
14
|
+
* example, already has a Clang-compatible stdckdint.h header.
|
|
15
|
+
*
|
|
16
|
+
* The `stdckdint.h` header requires C 23 or newer.
|
|
17
|
+
*/
|
|
18
|
+
#if __STDC_HOSTED__ && __has_include_next(<stdckdint.h>)
|
|
19
|
+
#include_next <stdckdint.h>
|
|
20
|
+
#else
|
|
21
|
+
|
|
22
|
+
/* C23 7.20.1 Defines several macros for performing checked integer arithmetic*/
|
|
23
|
+
|
|
24
|
+
#define __STDC_VERSION_STDCKDINT_H__ 202311L
|
|
25
|
+
|
|
26
|
+
// Both A and B shall be any integer type other than "plain" char, bool, a bit-
|
|
27
|
+
// precise integer type, or an enumerated type, and they need not be the same.
|
|
28
|
+
|
|
29
|
+
// R shall be a modifiable lvalue of any integer type other than "plain" char,
|
|
30
|
+
// bool, a bit-precise integer type, or an enumerated type. It shouldn't be
|
|
31
|
+
// short type, either. Otherwise, it may be unable to hold two the result of
|
|
32
|
+
// operating two 'int's.
|
|
33
|
+
|
|
34
|
+
// A diagnostic message will be produced if A or B are not suitable integer
|
|
35
|
+
// types, or if R is not a modifiable lvalue of a suitable integer type or R
|
|
36
|
+
// is short type.
|
|
37
|
+
#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R))
|
|
38
|
+
#define ckd_sub(R, A, B) __builtin_sub_overflow((A), (B), (R))
|
|
39
|
+
#define ckd_mul(R, A, B) __builtin_mul_overflow((A), (B), (R))
|
|
40
|
+
|
|
41
|
+
#endif /* __STDC_HOSTED__ */
|
|
42
|
+
#endif /* __STDCKDINT_H */
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/*===---- stddef.h - Basic type definitions --------------------------------===
|
|
2
|
+
*
|
|
3
|
+
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
* See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
*
|
|
7
|
+
*===-----------------------------------------------------------------------===
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/*
|
|
11
|
+
* This header is designed to be included multiple times. If any of the __need_
|
|
12
|
+
* macros are defined, then only that subset of interfaces are provided. This
|
|
13
|
+
* can be useful for POSIX headers that need to not expose all of stddef.h, but
|
|
14
|
+
* need to use some of its interfaces. Otherwise this header provides all of
|
|
15
|
+
* the expected interfaces.
|
|
16
|
+
*
|
|
17
|
+
* When clang modules are enabled, this header is a textual header to support
|
|
18
|
+
* the multiple include behavior. As such, it doesn't directly declare anything
|
|
19
|
+
* so that it doesn't add duplicate declarations to all of its includers'
|
|
20
|
+
* modules.
|
|
21
|
+
*/
|
|
22
|
+
#if defined(__MVS__) && __has_include_next(<stddef.h>)
|
|
23
|
+
#undef __need_ptrdiff_t
|
|
24
|
+
#undef __need_size_t
|
|
25
|
+
#undef __need_rsize_t
|
|
26
|
+
#undef __need_wchar_t
|
|
27
|
+
#undef __need_NULL
|
|
28
|
+
#undef __need_nullptr_t
|
|
29
|
+
#undef __need_unreachable
|
|
30
|
+
#undef __need_max_align_t
|
|
31
|
+
#undef __need_offsetof
|
|
32
|
+
#undef __need_wint_t
|
|
33
|
+
#include <__stddef_header_macro.h>
|
|
34
|
+
#include_next <stddef.h>
|
|
35
|
+
|
|
36
|
+
#else
|
|
37
|
+
|
|
38
|
+
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
|
|
39
|
+
!defined(__need_rsize_t) && !defined(__need_wchar_t) && \
|
|
40
|
+
!defined(__need_NULL) && !defined(__need_nullptr_t) && \
|
|
41
|
+
!defined(__need_unreachable) && !defined(__need_max_align_t) && \
|
|
42
|
+
!defined(__need_offsetof) && !defined(__need_wint_t)
|
|
43
|
+
#define __need_ptrdiff_t
|
|
44
|
+
#define __need_size_t
|
|
45
|
+
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
|
|
46
|
+
* enabled. */
|
|
47
|
+
#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1
|
|
48
|
+
#define __need_rsize_t
|
|
49
|
+
#endif
|
|
50
|
+
#define __need_wchar_t
|
|
51
|
+
#if !defined(__STDDEF_H) || __has_feature(modules)
|
|
52
|
+
/*
|
|
53
|
+
* __stddef_null.h is special when building without modules: if __need_NULL is
|
|
54
|
+
* set, then it will unconditionally redefine NULL. To avoid stepping on client
|
|
55
|
+
* definitions of NULL, __need_NULL should only be set the first time this
|
|
56
|
+
* header is included, that is when __STDDEF_H is not defined. However, when
|
|
57
|
+
* building with modules, this header is a textual header and needs to
|
|
58
|
+
* unconditionally include __stdef_null.h to support multiple submodules
|
|
59
|
+
* exporting _Builtin_stddef.null. Take module SM with submodules A and B, whose
|
|
60
|
+
* headers both include stddef.h When SM.A builds, __STDDEF_H will be defined.
|
|
61
|
+
* When SM.B builds, the definition from SM.A will leak when building without
|
|
62
|
+
* local submodule visibility. stddef.h wouldn't include __stddef_null.h, and
|
|
63
|
+
* SM.B wouldn't import _Builtin_stddef.null, and SM.B's `export *` wouldn't
|
|
64
|
+
* export NULL as expected. When building with modules, always include
|
|
65
|
+
* __stddef_null.h so that everything works as expected.
|
|
66
|
+
*/
|
|
67
|
+
#define __need_NULL
|
|
68
|
+
#endif
|
|
69
|
+
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
|
|
70
|
+
defined(__cplusplus)
|
|
71
|
+
#define __need_nullptr_t
|
|
72
|
+
#endif
|
|
73
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
74
|
+
#define __need_unreachable
|
|
75
|
+
#endif
|
|
76
|
+
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
|
|
77
|
+
(defined(__cplusplus) && __cplusplus >= 201103L)
|
|
78
|
+
#define __need_max_align_t
|
|
79
|
+
#endif
|
|
80
|
+
#define __need_offsetof
|
|
81
|
+
/* wint_t is provided by <wchar.h> and not <stddef.h>. It's here
|
|
82
|
+
* for compatibility, but must be explicitly requested. Therefore
|
|
83
|
+
* __need_wint_t is intentionally not defined here. */
|
|
84
|
+
#include <__stddef_header_macro.h>
|
|
85
|
+
#endif
|
|
86
|
+
|
|
87
|
+
#if defined(__need_ptrdiff_t)
|
|
88
|
+
#include <__stddef_ptrdiff_t.h>
|
|
89
|
+
#undef __need_ptrdiff_t
|
|
90
|
+
#endif /* defined(__need_ptrdiff_t) */
|
|
91
|
+
|
|
92
|
+
#if defined(__need_size_t)
|
|
93
|
+
#include <__stddef_size_t.h>
|
|
94
|
+
#undef __need_size_t
|
|
95
|
+
#endif /*defined(__need_size_t) */
|
|
96
|
+
|
|
97
|
+
#if defined(__need_rsize_t)
|
|
98
|
+
#include <__stddef_rsize_t.h>
|
|
99
|
+
#undef __need_rsize_t
|
|
100
|
+
#endif /* defined(__need_rsize_t) */
|
|
101
|
+
|
|
102
|
+
#if defined(__need_wchar_t)
|
|
103
|
+
#include <__stddef_wchar_t.h>
|
|
104
|
+
#undef __need_wchar_t
|
|
105
|
+
#endif /* defined(__need_wchar_t) */
|
|
106
|
+
|
|
107
|
+
#if defined(__need_NULL)
|
|
108
|
+
#include <__stddef_null.h>
|
|
109
|
+
#undef __need_NULL
|
|
110
|
+
#endif /* defined(__need_NULL) */
|
|
111
|
+
|
|
112
|
+
#if defined(__need_nullptr_t)
|
|
113
|
+
#include <__stddef_nullptr_t.h>
|
|
114
|
+
#undef __need_nullptr_t
|
|
115
|
+
#endif /* defined(__need_nullptr_t) */
|
|
116
|
+
|
|
117
|
+
#if defined(__need_unreachable)
|
|
118
|
+
#include <__stddef_unreachable.h>
|
|
119
|
+
#undef __need_unreachable
|
|
120
|
+
#endif /* defined(__need_unreachable) */
|
|
121
|
+
|
|
122
|
+
#if defined(__need_max_align_t)
|
|
123
|
+
#include <__stddef_max_align_t.h>
|
|
124
|
+
#undef __need_max_align_t
|
|
125
|
+
#endif /* defined(__need_max_align_t) */
|
|
126
|
+
|
|
127
|
+
#if defined(__need_offsetof)
|
|
128
|
+
#include <__stddef_offsetof.h>
|
|
129
|
+
#undef __need_offsetof
|
|
130
|
+
#endif /* defined(__need_offsetof) */
|
|
131
|
+
|
|
132
|
+
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
|
|
133
|
+
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
|
|
134
|
+
#if defined(__need_wint_t)
|
|
135
|
+
#include <__stddef_wint_t.h>
|
|
136
|
+
#undef __need_wint_t
|
|
137
|
+
#endif /* __need_wint_t */
|
|
138
|
+
|
|
139
|
+
#endif /* __MVS__ */
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
#define __CLANG_STDINT_H
|
|
15
15
|
#endif
|
|
16
16
|
|
|
17
|
+
#if defined(__MVS__) && __has_include_next(<stdint.h>)
|
|
18
|
+
#include_next <stdint.h>
|
|
19
|
+
#else
|
|
20
|
+
|
|
17
21
|
/* If we're hosted, fall back to the system's stdint.h, which might have
|
|
18
22
|
* additional definitions.
|
|
19
23
|
*/
|
|
@@ -499,9 +503,8 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
499
503
|
# define INT64_MAX INT64_C( 9223372036854775807)
|
|
500
504
|
# define INT64_MIN (-INT64_C( 9223372036854775807)-1)
|
|
501
505
|
# define UINT64_MAX UINT64_C(18446744073709551615)
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
506
|
+
|
|
507
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
505
508
|
# define UINT64_WIDTH 64
|
|
506
509
|
# define INT64_WIDTH UINT64_WIDTH
|
|
507
510
|
|
|
@@ -545,9 +548,7 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
545
548
|
# define INT_FAST64_MAX __INT_LEAST64_MAX
|
|
546
549
|
# define UINT_FAST64_MAX __UINT_LEAST64_MAX
|
|
547
550
|
|
|
548
|
-
|
|
549
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
550
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
551
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
551
552
|
# define UINT_LEAST64_WIDTH __UINT_LEAST64_WIDTH
|
|
552
553
|
# define INT_LEAST64_WIDTH UINT_LEAST64_WIDTH
|
|
553
554
|
# define UINT_FAST64_WIDTH __UINT_LEAST64_WIDTH
|
|
@@ -586,9 +587,7 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
586
587
|
# undef __UINT_LEAST8_MAX
|
|
587
588
|
# define __UINT_LEAST8_MAX UINT56_MAX
|
|
588
589
|
|
|
589
|
-
|
|
590
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
591
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
590
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
592
591
|
# define UINT56_WIDTH 56
|
|
593
592
|
# define INT56_WIDTH UINT56_WIDTH
|
|
594
593
|
# define UINT_LEAST56_WIDTH UINT56_WIDTH
|
|
@@ -635,9 +634,7 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
635
634
|
# undef __UINT_LEAST8_MAX
|
|
636
635
|
# define __UINT_LEAST8_MAX UINT48_MAX
|
|
637
636
|
|
|
638
|
-
|
|
639
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
640
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
637
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
641
638
|
#define UINT48_WIDTH 48
|
|
642
639
|
#define INT48_WIDTH UINT48_WIDTH
|
|
643
640
|
#define UINT_LEAST48_WIDTH UINT48_WIDTH
|
|
@@ -684,9 +681,7 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
684
681
|
# undef __UINT_LEAST8_MAX
|
|
685
682
|
# define __UINT_LEAST8_MAX UINT40_MAX
|
|
686
683
|
|
|
687
|
-
|
|
688
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
689
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
684
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
690
685
|
# define UINT40_WIDTH 40
|
|
691
686
|
# define INT40_WIDTH UINT40_WIDTH
|
|
692
687
|
# define UINT_LEAST40_WIDTH UINT40_WIDTH
|
|
@@ -727,9 +722,7 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
727
722
|
# undef __UINT_LEAST8_MAX
|
|
728
723
|
# define __UINT_LEAST8_MAX UINT32_MAX
|
|
729
724
|
|
|
730
|
-
|
|
731
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
732
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
725
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
733
726
|
# define UINT32_WIDTH 32
|
|
734
727
|
# define INT32_WIDTH UINT32_WIDTH
|
|
735
728
|
# undef __UINT_LEAST32_WIDTH
|
|
@@ -749,9 +742,7 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
749
742
|
# define INT_FAST32_MAX __INT_LEAST32_MAX
|
|
750
743
|
# define UINT_FAST32_MAX __UINT_LEAST32_MAX
|
|
751
744
|
|
|
752
|
-
|
|
753
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
754
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
745
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
755
746
|
# define UINT_LEAST32_WIDTH __UINT_LEAST32_WIDTH
|
|
756
747
|
# define INT_LEAST32_WIDTH UINT_LEAST32_WIDTH
|
|
757
748
|
# define UINT_FAST32_WIDTH __UINT_LEAST32_WIDTH
|
|
@@ -784,9 +775,7 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
784
775
|
# undef __UINT_LEAST8_MAX
|
|
785
776
|
# define __UINT_LEAST8_MAX UINT24_MAX
|
|
786
777
|
|
|
787
|
-
|
|
788
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
789
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
778
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
790
779
|
# define UINT24_WIDTH 24
|
|
791
780
|
# define INT24_WIDTH UINT24_WIDTH
|
|
792
781
|
# define UINT_LEAST24_WIDTH UINT24_WIDTH
|
|
@@ -819,9 +808,7 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
819
808
|
# undef __UINT_LEAST8_MAX
|
|
820
809
|
# define __UINT_LEAST8_MAX UINT16_MAX
|
|
821
810
|
|
|
822
|
-
|
|
823
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
824
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
811
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
825
812
|
# define UINT16_WIDTH 16
|
|
826
813
|
# define INT16_WIDTH UINT16_WIDTH
|
|
827
814
|
# undef __UINT_LEAST16_WIDTH
|
|
@@ -839,9 +826,7 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
839
826
|
# define INT_FAST16_MAX __INT_LEAST16_MAX
|
|
840
827
|
# define UINT_FAST16_MAX __UINT_LEAST16_MAX
|
|
841
828
|
|
|
842
|
-
|
|
843
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
844
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
829
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
845
830
|
# define UINT_LEAST16_WIDTH __UINT_LEAST16_WIDTH
|
|
846
831
|
# define INT_LEAST16_WIDTH UINT_LEAST16_WIDTH
|
|
847
832
|
# define UINT_FAST16_WIDTH __UINT_LEAST16_WIDTH
|
|
@@ -862,9 +847,7 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
862
847
|
# undef __UINT_LEAST8_MAX
|
|
863
848
|
# define __UINT_LEAST8_MAX UINT8_MAX
|
|
864
849
|
|
|
865
|
-
|
|
866
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
867
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
850
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
868
851
|
# define UINT8_WIDTH 8
|
|
869
852
|
# define INT8_WIDTH UINT8_WIDTH
|
|
870
853
|
# undef __UINT_LEAST8_WIDTH
|
|
@@ -880,9 +863,7 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
880
863
|
# define INT_FAST8_MAX __INT_LEAST8_MAX
|
|
881
864
|
# define UINT_FAST8_MAX __UINT_LEAST8_MAX
|
|
882
865
|
|
|
883
|
-
|
|
884
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
885
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
866
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
886
867
|
# define UINT_LEAST8_WIDTH __UINT_LEAST8_WIDTH
|
|
887
868
|
# define INT_LEAST8_WIDTH UINT_LEAST8_WIDTH
|
|
888
869
|
# define UINT_FAST8_WIDTH __UINT_LEAST8_WIDTH
|
|
@@ -907,10 +888,8 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
907
888
|
#define PTRDIFF_MAX __PTRDIFF_MAX__
|
|
908
889
|
#define SIZE_MAX __SIZE_MAX__
|
|
909
890
|
|
|
910
|
-
/*
|
|
911
|
-
|
|
912
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
913
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
891
|
+
/* C23 7.22.2.4 Width of integer types capable of holding object pointers. */
|
|
892
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
914
893
|
/* NB: The C standard requires that these be the same value, but the compiler
|
|
915
894
|
exposes separate internal width macros. */
|
|
916
895
|
#define INTPTR_WIDTH __INTPTR_WIDTH__
|
|
@@ -928,10 +907,8 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
928
907
|
#define INTMAX_MAX __INTMAX_MAX__
|
|
929
908
|
#define UINTMAX_MAX __UINTMAX_MAX__
|
|
930
909
|
|
|
931
|
-
/*
|
|
932
|
-
|
|
933
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
934
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
910
|
+
/* C23 7.22.2.5 Width of greatest-width integer types. */
|
|
911
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
935
912
|
/* NB: The C standard requires that these be the same value, but the compiler
|
|
936
913
|
exposes separate internal width macros. */
|
|
937
914
|
#define INTMAX_WIDTH __INTMAX_WIDTH__
|
|
@@ -964,10 +941,8 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
964
941
|
#define INTMAX_C(v) __int_c(v, __INTMAX_C_SUFFIX__)
|
|
965
942
|
#define UINTMAX_C(v) __int_c(v, __UINTMAX_C_SUFFIX__)
|
|
966
943
|
|
|
967
|
-
/*
|
|
968
|
-
|
|
969
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
970
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L
|
|
944
|
+
/* C23 7.22.3.x Width of other integer types. */
|
|
945
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
971
946
|
#define PTRDIFF_WIDTH __PTRDIFF_WIDTH__
|
|
972
947
|
#define SIG_ATOMIC_WIDTH __SIG_ATOMIC_WIDTH__
|
|
973
948
|
#define SIZE_WIDTH __SIZE_WIDTH__
|
|
@@ -976,4 +951,5 @@ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
|
976
951
|
#endif
|
|
977
952
|
|
|
978
953
|
#endif /* __STDC_HOSTED__ */
|
|
954
|
+
#endif /* __MVS__ */
|
|
979
955
|
#endif /* __CLANG_STDINT_H */
|
|
@@ -10,13 +10,19 @@
|
|
|
10
10
|
#ifndef __STDNORETURN_H
|
|
11
11
|
#define __STDNORETURN_H
|
|
12
12
|
|
|
13
|
+
#if defined(__MVS__) && __has_include_next(<stdnoreturn.h>)
|
|
14
|
+
#include_next <stdnoreturn.h>
|
|
15
|
+
#else
|
|
16
|
+
|
|
13
17
|
#define noreturn _Noreturn
|
|
14
18
|
#define __noreturn_is_defined 1
|
|
15
19
|
|
|
20
|
+
#endif /* __MVS__ */
|
|
21
|
+
|
|
16
22
|
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ > 201710L) && \
|
|
17
23
|
!defined(_CLANG_DISABLE_CRT_DEPRECATION_WARNINGS)
|
|
18
|
-
/* The noreturn macro is deprecated in
|
|
19
|
-
including the header file in
|
|
24
|
+
/* The noreturn macro is deprecated in C23. We do not mark it as such because
|
|
25
|
+
including the header file in C23 is also deprecated and we do not want to
|
|
20
26
|
issue a confusing diagnostic for code which includes <stdnoreturn.h>
|
|
21
27
|
followed by code that writes [[noreturn]]. The issue with such code is not
|
|
22
28
|
with the attribute, or the use of 'noreturn', but the inclusion of the
|
|
@@ -17,8 +17,13 @@
|
|
|
17
17
|
#include <pmmintrin.h>
|
|
18
18
|
|
|
19
19
|
/* Define the default attributes for the functions in this file. */
|
|
20
|
-
#define __DEFAULT_FN_ATTRS
|
|
21
|
-
|
|
20
|
+
#define __DEFAULT_FN_ATTRS \
|
|
21
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
22
|
+
__target__("ssse3,no-evex512"), __min_vector_width__(64)))
|
|
23
|
+
#define __DEFAULT_FN_ATTRS_MMX \
|
|
24
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
25
|
+
__target__("mmx,ssse3,no-evex512"), \
|
|
26
|
+
__min_vector_width__(64)))
|
|
22
27
|
|
|
23
28
|
/// Computes the absolute value of each of the packed 8-bit signed
|
|
24
29
|
/// integers in the source operand and stores the 8-bit unsigned integer
|
|
@@ -266,10 +271,11 @@ _mm_hadd_pi32(__m64 __a, __m64 __b)
|
|
|
266
271
|
return (__m64)__builtin_ia32_phaddd((__v2si)__a, (__v2si)__b);
|
|
267
272
|
}
|
|
268
273
|
|
|
269
|
-
/// Horizontally adds the adjacent pairs of values contained
|
|
270
|
-
/// 128-bit vectors of [8 x i16].
|
|
271
|
-
///
|
|
272
|
-
///
|
|
274
|
+
/// Horizontally adds, with saturation, the adjacent pairs of values contained
|
|
275
|
+
/// in two packed 128-bit vectors of [8 x i16].
|
|
276
|
+
///
|
|
277
|
+
/// Positive sums greater than 0x7FFF are saturated to 0x7FFF. Negative sums
|
|
278
|
+
/// less than 0x8000 are saturated to 0x8000.
|
|
273
279
|
///
|
|
274
280
|
/// \headerfile <x86intrin.h>
|
|
275
281
|
///
|
|
@@ -291,10 +297,11 @@ _mm_hadds_epi16(__m128i __a, __m128i __b)
|
|
|
291
297
|
return (__m128i)__builtin_ia32_phaddsw128((__v8hi)__a, (__v8hi)__b);
|
|
292
298
|
}
|
|
293
299
|
|
|
294
|
-
/// Horizontally adds the adjacent pairs of values contained
|
|
295
|
-
/// 64-bit vectors of [4 x i16].
|
|
296
|
-
///
|
|
297
|
-
///
|
|
300
|
+
/// Horizontally adds, with saturation, the adjacent pairs of values contained
|
|
301
|
+
/// in two packed 64-bit vectors of [4 x i16].
|
|
302
|
+
///
|
|
303
|
+
/// Positive sums greater than 0x7FFF are saturated to 0x7FFF. Negative sums
|
|
304
|
+
/// less than 0x8000 are saturated to 0x8000.
|
|
298
305
|
///
|
|
299
306
|
/// \headerfile <x86intrin.h>
|
|
300
307
|
///
|
|
@@ -408,10 +415,11 @@ _mm_hsub_pi32(__m64 __a, __m64 __b)
|
|
|
408
415
|
return (__m64)__builtin_ia32_phsubd((__v2si)__a, (__v2si)__b);
|
|
409
416
|
}
|
|
410
417
|
|
|
411
|
-
/// Horizontally subtracts the adjacent pairs of values
|
|
412
|
-
/// packed 128-bit vectors of [8 x i16].
|
|
413
|
-
///
|
|
414
|
-
/// saturated to
|
|
418
|
+
/// Horizontally subtracts, with saturation, the adjacent pairs of values
|
|
419
|
+
/// contained in two packed 128-bit vectors of [8 x i16].
|
|
420
|
+
///
|
|
421
|
+
/// Positive differences greater than 0x7FFF are saturated to 0x7FFF.
|
|
422
|
+
/// Negative differences less than 0x8000 are saturated to 0x8000.
|
|
415
423
|
///
|
|
416
424
|
/// \headerfile <x86intrin.h>
|
|
417
425
|
///
|
|
@@ -433,10 +441,11 @@ _mm_hsubs_epi16(__m128i __a, __m128i __b)
|
|
|
433
441
|
return (__m128i)__builtin_ia32_phsubsw128((__v8hi)__a, (__v8hi)__b);
|
|
434
442
|
}
|
|
435
443
|
|
|
436
|
-
/// Horizontally subtracts the adjacent pairs of values
|
|
437
|
-
/// packed 64-bit vectors of [4 x i16].
|
|
438
|
-
///
|
|
439
|
-
/// saturated to
|
|
444
|
+
/// Horizontally subtracts, with saturation, the adjacent pairs of values
|
|
445
|
+
/// contained in two packed 64-bit vectors of [4 x i16].
|
|
446
|
+
///
|
|
447
|
+
/// Positive differences greater than 0x7FFF are saturated to 0x7FFF.
|
|
448
|
+
/// Negative differences less than 0x8000 are saturated to 0x8000.
|
|
440
449
|
///
|
|
441
450
|
/// \headerfile <x86intrin.h>
|
|
442
451
|
///
|