@cpp-linter/clang-tidy-linux-arm64 17.0.6 → 18.1.5
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 → 18}/include/__clang_cuda_device_functions.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_cuda_libdevice_declares.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_cuda_math.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_cuda_runtime_wrapper.h +2 -2
- package/lib/clang/{17 → 18}/include/__clang_hip_math.h +192 -171
- package/lib/clang/{17 → 18}/include/__clang_hip_runtime_wrapper.h +34 -26
- package/lib/clang/18/include/__stdarg___gnuc_va_list.h +13 -0
- package/lib/clang/18/include/__stdarg___va_copy.h +12 -0
- package/lib/clang/18/include/__stdarg_va_arg.h +22 -0
- package/lib/clang/18/include/__stdarg_va_copy.h +12 -0
- package/lib/clang/18/include/__stdarg_va_list.h +13 -0
- package/lib/clang/{17 → 18}/include/__stddef_max_align_t.h +1 -1
- package/lib/clang/18/include/__stddef_null.h +29 -0
- package/lib/clang/18/include/__stddef_nullptr_t.h +29 -0
- package/lib/clang/18/include/__stddef_offsetof.h +17 -0
- package/lib/clang/18/include/__stddef_ptrdiff_t.h +20 -0
- package/lib/clang/18/include/__stddef_rsize_t.h +20 -0
- package/lib/clang/18/include/__stddef_size_t.h +20 -0
- package/lib/clang/18/include/__stddef_unreachable.h +21 -0
- package/lib/clang/18/include/__stddef_wchar_t.h +28 -0
- package/lib/clang/18/include/__stddef_wint_t.h +15 -0
- package/lib/clang/{17/include/adxintrin.h → 18/include/adcintrin.h} +27 -94
- package/lib/clang/18/include/adxintrin.h +102 -0
- package/lib/clang/{17 → 18}/include/altivec.h +31 -12
- package/lib/clang/{17 → 18}/include/ammintrin.h +4 -4
- package/lib/clang/{17 → 18}/include/arm_acle.h +111 -31
- package/lib/clang/{17 → 18}/include/arm_neon.h +85 -327
- package/lib/clang/18/include/arm_sme.h +2412 -0
- package/lib/clang/{17 → 18}/include/arm_sve.h +7386 -351
- package/lib/clang/18/include/arm_vector_types.h +345 -0
- package/lib/clang/{17 → 18}/include/avx2intrin.h +24 -3
- package/lib/clang/{17 → 18}/include/avx512bf16intrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512bitalgintrin.h +4 -1
- package/lib/clang/{17 → 18}/include/avx512bwintrin.h +28 -38
- package/lib/clang/{17 → 18}/include/avx512cdintrin.h +3 -1
- package/lib/clang/{17 → 18}/include/avx512dqintrin.h +4 -2
- package/lib/clang/{17 → 18}/include/avx512fintrin.h +7 -3
- package/lib/clang/{17 → 18}/include/avx512fp16intrin.h +6 -4
- package/lib/clang/{17 → 18}/include/avx512ifmaintrin.h +3 -1
- package/lib/clang/{17 → 18}/include/avx512ifmavlintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512pfintrin.h +0 -5
- package/lib/clang/{17 → 18}/include/avx512vbmi2intrin.h +1 -1
- package/lib/clang/{17 → 18}/include/avx512vbmiintrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512vbmivlintrin.h +8 -3
- package/lib/clang/{17 → 18}/include/avx512vlbf16intrin.h +8 -6
- package/lib/clang/{17 → 18}/include/avx512vlbitalgintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlbwintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlcdintrin.h +8 -3
- package/lib/clang/{17 → 18}/include/avx512vldqintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlfp16intrin.h +2 -2
- package/lib/clang/{17 → 18}/include/avx512vlintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlvbmi2intrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlvnniintrin.h +8 -2
- package/lib/clang/{17 → 18}/include/avx512vlvp2intersectintrin.h +6 -4
- package/lib/clang/{17 → 18}/include/avx512vnniintrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512vp2intersectintrin.h +3 -2
- package/lib/clang/{17 → 18}/include/avx512vpopcntdqintrin.h +3 -1
- package/lib/clang/{17 → 18}/include/avx512vpopcntdqvlintrin.h +6 -2
- package/lib/clang/{17 → 18}/include/avxintrin.h +9 -5
- package/lib/clang/{17 → 18}/include/bmiintrin.h +231 -46
- package/lib/clang/{17 → 18}/include/emmintrin.h +10 -10
- package/lib/clang/{17 → 18}/include/gfniintrin.h +23 -6
- package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +624 -0
- package/lib/clang/18/include/ia32intrin.h +863 -0
- package/lib/clang/{17 → 18}/include/immintrin.h +66 -3
- package/lib/clang/{17 → 18}/include/intrin.h +16 -0
- package/lib/clang/{17 → 18}/include/larchintrin.h +13 -1
- package/lib/clang/18/include/lasxintrin.h +3884 -0
- package/lib/clang/{17 → 18}/include/limits.h +2 -4
- package/lib/clang/{17/include/llvm_libc_wrappers/stdio.h → 18/include/llvm_libc_wrappers/assert.h} +7 -7
- package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/ctype.h +17 -0
- package/lib/clang/18/include/llvm_libc_wrappers/stdio.h +80 -0
- package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/stdlib.h +4 -1
- package/lib/clang/18/include/llvm_libc_wrappers/string.h +96 -0
- package/lib/clang/{17/include/llvm_libc_wrappers/string.h → 18/include/llvm_libc_wrappers/time.h} +9 -12
- package/lib/clang/18/include/lsxintrin.h +3750 -0
- package/lib/clang/{17 → 18}/include/mmintrin.h +7 -5
- package/lib/clang/{17 → 18}/include/module.modulemap +155 -2
- package/lib/clang/{17 → 18}/include/opencl-c-base.h +5 -0
- package/lib/clang/{17 → 18}/include/openmp_wrappers/cmath +1 -1
- package/lib/clang/{17 → 18}/include/pmmintrin.h +3 -2
- package/lib/clang/18/include/ppc_wrappers/nmmintrin.h +26 -0
- package/lib/clang/{17 → 18}/include/ppc_wrappers/smmintrin.h +35 -15
- package/lib/clang/18/include/riscv_bitmanip.h +195 -0
- package/lib/clang/18/include/riscv_crypto.h +170 -0
- package/lib/clang/{17 → 18}/include/riscv_ntlh.h +3 -5
- package/lib/clang/{17 → 18}/include/riscv_vector.h +31 -0
- package/lib/clang/{17 → 18}/include/smmintrin.h +3 -3
- package/lib/clang/{17 → 18}/include/stdalign.h +1 -3
- package/lib/clang/18/include/stdarg.h +79 -0
- package/lib/clang/{17 → 18}/include/stdatomic.h +3 -5
- package/lib/clang/18/include/stdckdint.h +42 -0
- package/lib/clang/18/include/stddef.h +123 -0
- package/lib/clang/{17 → 18}/include/stdint.h +19 -48
- package/lib/clang/{17 → 18}/include/stdnoreturn.h +2 -2
- package/lib/clang/{17 → 18}/include/tmmintrin.h +7 -2
- package/lib/clang/18/include/usermsrintrin.h +51 -0
- package/lib/clang/{17 → 18}/include/vaesintrin.h +4 -2
- package/lib/clang/{17 → 18}/include/vecintrin.h +217 -199
- package/lib/clang/{17 → 18}/include/x86gprintrin.h +5 -0
- package/lib/clang/{17 → 18}/include/xmmintrin.h +9 -5
- 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/hlsl/hlsl_intrinsics.h +0 -480
- package/lib/clang/17/include/ia32intrin.h +0 -441
- package/lib/clang/17/include/stdarg.h +0 -51
- package/lib/clang/17/include/stddef.h +0 -133
- /package/lib/clang/{17 → 18}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_intrinsics.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_hip_libdevice_declares.h +0 -0
- /package/lib/clang/{17 → 18}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{17 → 18}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{17 → 18}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{17 → 18}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/amxfp16intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/amxintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm64intr.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_bf16.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_cde.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_cmse.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_fp16.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_mve.h +0 -0
- /package/lib/clang/{17 → 18}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{17 → 18}/include/armintr.h +0 -0
- /package/lib/clang/{17 → 18}/include/avx512erintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxvnniint16intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxvnniint8intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/builtins.h +0 -0
- /package/lib/clang/{17 → 18}/include/cet.h +0 -0
- /package/lib/clang/{17 → 18}/include/cetintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/clwbintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/clzerointrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cmpccxaddintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cpuid.h +0 -0
- /package/lib/clang/{17 → 18}/include/crc32intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/cmath +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{17 → 18}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{17 → 18}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/f16cintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/float.h +0 -0
- /package/lib/clang/{17 → 18}/include/fma4intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/fmaintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{17 → 18}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{17 → 18}/include/hexagon_types.h +0 -0
- /package/lib/clang/{17 → 18}/include/hlsl/hlsl_basic_types.h +0 -0
- /package/lib/clang/{17 → 18}/include/hlsl.h +0 -0
- /package/lib/clang/{17 → 18}/include/hresetintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/htmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{17 → 18}/include/inttypes.h +0 -0
- /package/lib/clang/{17 → 18}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/iso646.h +0 -0
- /package/lib/clang/{17 → 18}/include/keylockerintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{17 → 18}/include/lwpintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/mm3dnow.h +0 -0
- /package/lib/clang/{17 → 18}/include/mm_malloc.h +0 -0
- /package/lib/clang/{17 → 18}/include/movdirintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/msa.h +0 -0
- /package/lib/clang/{17 → 18}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/nmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/opencl-c.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{17 → 18}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{17 → 18}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/pkuintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/popcntintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/raointintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/rtmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/s390intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/serializeintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sgxintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sha512intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/shaintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sifive_vector.h +0 -0
- /package/lib/clang/{17 → 18}/include/sm3intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/sm4intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/stdbool.h +0 -0
- /package/lib/clang/{17 → 18}/include/tbmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/tgmath.h +0 -0
- /package/lib/clang/{17 → 18}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/uintrintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/unwind.h +0 -0
- /package/lib/clang/{17 → 18}/include/vadefs.h +0 -0
- /package/lib/clang/{17 → 18}/include/varargs.h +0 -0
- /package/lib/clang/{17 → 18}/include/velintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{17 → 18}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{17 → 18}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/wasm_simd128.h +0 -0
- /package/lib/clang/{17 → 18}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/wmmintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/x86intrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xopintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{17 → 18}/include/xtestintrin.h +0 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/*===---- riscv_crypto.h - RISC-V Zk* intrinsics ---------------------------===
|
|
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 __RISCV_CRYPTO_H
|
|
11
|
+
#define __RISCV_CRYPTO_H
|
|
12
|
+
|
|
13
|
+
#include <stdint.h>
|
|
14
|
+
|
|
15
|
+
#if defined(__cplusplus)
|
|
16
|
+
extern "C" {
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#if defined(__riscv_zknd)
|
|
20
|
+
#if __riscv_xlen == 32
|
|
21
|
+
#define __riscv_aes32dsi(x, y, bs) __builtin_riscv_aes32dsi(x, y, bs)
|
|
22
|
+
#define __riscv_aes32dsmi(x, y, bs) __builtin_riscv_aes32dsmi(x, y, bs)
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
#if __riscv_xlen == 64
|
|
26
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
27
|
+
__riscv_aes64ds(uint64_t __x, uint64_t __y) {
|
|
28
|
+
return __builtin_riscv_aes64ds(__x, __y);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
32
|
+
__riscv_aes64dsm(uint64_t __x, uint64_t __y) {
|
|
33
|
+
return __builtin_riscv_aes64dsm(__x, __y);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
37
|
+
__riscv_aes64im(uint64_t __x) {
|
|
38
|
+
return __builtin_riscv_aes64im(__x);
|
|
39
|
+
}
|
|
40
|
+
#endif
|
|
41
|
+
#endif // defined(__riscv_zknd)
|
|
42
|
+
|
|
43
|
+
#if defined(__riscv_zkne)
|
|
44
|
+
#if __riscv_xlen == 32
|
|
45
|
+
#define __riscv_aes32esi(x, y, bs) __builtin_riscv_aes32esi(x, y, bs)
|
|
46
|
+
#define __riscv_aes32esmi(x, y, bs) __builtin_riscv_aes32esmi(x, y, bs)
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
#if __riscv_xlen == 64
|
|
50
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
51
|
+
__riscv_aes64es(uint64_t __x, uint64_t __y) {
|
|
52
|
+
return __builtin_riscv_aes64es(__x, __y);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
56
|
+
__riscv_aes64esm(uint64_t __x, uint64_t __y) {
|
|
57
|
+
return __builtin_riscv_aes64esm(__x, __y);
|
|
58
|
+
}
|
|
59
|
+
#endif
|
|
60
|
+
#endif // defined(__riscv_zkne)
|
|
61
|
+
|
|
62
|
+
#if defined(__riscv_zknd) || defined(__riscv_zkne)
|
|
63
|
+
#if __riscv_xlen == 64
|
|
64
|
+
#define __riscv_aes64ks1i(x, rnum) __builtin_riscv_aes64ks1i(x, rnum)
|
|
65
|
+
|
|
66
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
67
|
+
__riscv_aes64ks2(uint64_t __x, uint64_t __y) {
|
|
68
|
+
return __builtin_riscv_aes64ks2(__x, __y);
|
|
69
|
+
}
|
|
70
|
+
#endif
|
|
71
|
+
#endif // defined(__riscv_zknd) || defined(__riscv_zkne)
|
|
72
|
+
|
|
73
|
+
#if defined(__riscv_zknh)
|
|
74
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
75
|
+
__riscv_sha256sig0(uint32_t __x) {
|
|
76
|
+
return __builtin_riscv_sha256sig0(__x);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
80
|
+
__riscv_sha256sig1(uint32_t __x) {
|
|
81
|
+
return __builtin_riscv_sha256sig1(__x);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
85
|
+
__riscv_sha256sum0(uint32_t __x) {
|
|
86
|
+
return __builtin_riscv_sha256sum0(__x);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
90
|
+
__riscv_sha256sum1(uint32_t __x) {
|
|
91
|
+
return __builtin_riscv_sha256sum1(__x);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#if __riscv_xlen == 32
|
|
95
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
96
|
+
__riscv_sha512sig0h(uint32_t __x, uint32_t __y) {
|
|
97
|
+
return __builtin_riscv_sha512sig0h(__x, __y);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
101
|
+
__riscv_sha512sig0l(uint32_t __x, uint32_t __y) {
|
|
102
|
+
return __builtin_riscv_sha512sig0l(__x, __y);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
106
|
+
__riscv_sha512sig1h(uint32_t __x, uint32_t __y) {
|
|
107
|
+
return __builtin_riscv_sha512sig1h(__x, __y);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
111
|
+
__riscv_sha512sig1l(uint32_t __x, uint32_t __y) {
|
|
112
|
+
return __builtin_riscv_sha512sig1l(__x, __y);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
116
|
+
__riscv_sha512sum0r(uint32_t __x, uint32_t __y) {
|
|
117
|
+
return __builtin_riscv_sha512sum0r(__x, __y);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
121
|
+
__riscv_sha512sum1r(uint32_t __x, uint32_t __y) {
|
|
122
|
+
return __builtin_riscv_sha512sum1r(__x, __y);
|
|
123
|
+
}
|
|
124
|
+
#endif
|
|
125
|
+
|
|
126
|
+
#if __riscv_xlen == 64
|
|
127
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
128
|
+
__riscv_sha512sig0(uint64_t __x) {
|
|
129
|
+
return __builtin_riscv_sha512sig0(__x);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
133
|
+
__riscv_sha512sig1(uint64_t __x) {
|
|
134
|
+
return __builtin_riscv_sha512sig1(__x);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
138
|
+
__riscv_sha512sum0(uint64_t __x) {
|
|
139
|
+
return __builtin_riscv_sha512sum0(__x);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
|
|
143
|
+
__riscv_sha512sum1(uint64_t __x) {
|
|
144
|
+
return __builtin_riscv_sha512sum1(__x);
|
|
145
|
+
}
|
|
146
|
+
#endif
|
|
147
|
+
#endif // defined(__riscv_zknh)
|
|
148
|
+
|
|
149
|
+
#if defined(__riscv_zksh)
|
|
150
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
151
|
+
__riscv_sm3p0(uint32_t __x) {
|
|
152
|
+
return __builtin_riscv_sm3p0(__x);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
|
|
156
|
+
__riscv_sm3p1(uint32_t __x) {
|
|
157
|
+
return __builtin_riscv_sm3p1(__x);
|
|
158
|
+
}
|
|
159
|
+
#endif // defined(__riscv_zksh)
|
|
160
|
+
|
|
161
|
+
#if defined(__riscv_zksed)
|
|
162
|
+
#define __riscv_sm4ed(x, y, bs) __builtin_riscv_sm4ed(x, y, bs);
|
|
163
|
+
#define __riscv_sm4ks(x, y, bs) __builtin_riscv_sm4ks(x, y, bs);
|
|
164
|
+
#endif // defined(__riscv_zksed)
|
|
165
|
+
|
|
166
|
+
#if defined(__cplusplus)
|
|
167
|
+
}
|
|
168
|
+
#endif
|
|
169
|
+
|
|
170
|
+
#endif
|
|
@@ -21,8 +21,6 @@ enum {
|
|
|
21
21
|
__RISCV_NTLH_ALL
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
#define __riscv_ntl_load
|
|
25
|
-
#define __riscv_ntl_store
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
#endif
|
|
24
|
+
#define __riscv_ntl_load __builtin_riscv_ntl_load
|
|
25
|
+
#define __riscv_ntl_store __builtin_riscv_ntl_store
|
|
26
|
+
#endif
|
|
@@ -392,6 +392,37 @@ typedef __rvv_float64m2x4_t vfloat64m2x4_t;
|
|
|
392
392
|
typedef __rvv_float64m4_t vfloat64m4_t;
|
|
393
393
|
typedef __rvv_float64m4x2_t vfloat64m4x2_t;
|
|
394
394
|
typedef __rvv_float64m8_t vfloat64m8_t;
|
|
395
|
+
typedef __rvv_bfloat16mf4_t vbfloat16mf4_t;
|
|
396
|
+
typedef __rvv_bfloat16mf4x2_t vbfloat16mf4x2_t;
|
|
397
|
+
typedef __rvv_bfloat16mf4x3_t vbfloat16mf4x3_t;
|
|
398
|
+
typedef __rvv_bfloat16mf4x4_t vbfloat16mf4x4_t;
|
|
399
|
+
typedef __rvv_bfloat16mf4x5_t vbfloat16mf4x5_t;
|
|
400
|
+
typedef __rvv_bfloat16mf4x6_t vbfloat16mf4x6_t;
|
|
401
|
+
typedef __rvv_bfloat16mf4x7_t vbfloat16mf4x7_t;
|
|
402
|
+
typedef __rvv_bfloat16mf4x8_t vbfloat16mf4x8_t;
|
|
403
|
+
typedef __rvv_bfloat16mf2_t vbfloat16mf2_t;
|
|
404
|
+
typedef __rvv_bfloat16mf2x2_t vbfloat16mf2x2_t;
|
|
405
|
+
typedef __rvv_bfloat16mf2x3_t vbfloat16mf2x3_t;
|
|
406
|
+
typedef __rvv_bfloat16mf2x4_t vbfloat16mf2x4_t;
|
|
407
|
+
typedef __rvv_bfloat16mf2x5_t vbfloat16mf2x5_t;
|
|
408
|
+
typedef __rvv_bfloat16mf2x6_t vbfloat16mf2x6_t;
|
|
409
|
+
typedef __rvv_bfloat16mf2x7_t vbfloat16mf2x7_t;
|
|
410
|
+
typedef __rvv_bfloat16mf2x8_t vbfloat16mf2x8_t;
|
|
411
|
+
typedef __rvv_bfloat16m1_t vbfloat16m1_t;
|
|
412
|
+
typedef __rvv_bfloat16m1x2_t vbfloat16m1x2_t;
|
|
413
|
+
typedef __rvv_bfloat16m1x3_t vbfloat16m1x3_t;
|
|
414
|
+
typedef __rvv_bfloat16m1x4_t vbfloat16m1x4_t;
|
|
415
|
+
typedef __rvv_bfloat16m1x5_t vbfloat16m1x5_t;
|
|
416
|
+
typedef __rvv_bfloat16m1x6_t vbfloat16m1x6_t;
|
|
417
|
+
typedef __rvv_bfloat16m1x7_t vbfloat16m1x7_t;
|
|
418
|
+
typedef __rvv_bfloat16m1x8_t vbfloat16m1x8_t;
|
|
419
|
+
typedef __rvv_bfloat16m2_t vbfloat16m2_t;
|
|
420
|
+
typedef __rvv_bfloat16m2x2_t vbfloat16m2x2_t;
|
|
421
|
+
typedef __rvv_bfloat16m2x3_t vbfloat16m2x3_t;
|
|
422
|
+
typedef __rvv_bfloat16m2x4_t vbfloat16m2x4_t;
|
|
423
|
+
typedef __rvv_bfloat16m4_t vbfloat16m4_t;
|
|
424
|
+
typedef __rvv_bfloat16m4x2_t vbfloat16m4x2_t;
|
|
425
|
+
typedef __rvv_bfloat16m8_t vbfloat16m8_t;
|
|
395
426
|
#define __riscv_v_intrinsic_overloading 1
|
|
396
427
|
|
|
397
428
|
#ifdef __cplusplus
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
|
|
19
19
|
/* Define the default attributes for the functions in this file. */
|
|
20
20
|
#define __DEFAULT_FN_ATTRS \
|
|
21
|
-
__attribute__((__always_inline__, __nodebug__,
|
|
22
|
-
__min_vector_width__(128)))
|
|
21
|
+
__attribute__((__always_inline__, __nodebug__, \
|
|
22
|
+
__target__("sse4.1,no-evex512"), __min_vector_width__(128)))
|
|
23
23
|
|
|
24
24
|
/* SSE4 Rounding macros. */
|
|
25
25
|
#define _MM_FROUND_TO_NEAREST_INT 0x00
|
|
@@ -645,7 +645,7 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mul_epi32(__m128i __V1,
|
|
|
645
645
|
/// \returns A 128-bit integer vector containing the data stored at the
|
|
646
646
|
/// specified memory location.
|
|
647
647
|
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
648
|
-
_mm_stream_load_si128(
|
|
648
|
+
_mm_stream_load_si128(const void *__V) {
|
|
649
649
|
return (__m128i)__builtin_nontemporal_load((const __v2di *)__V);
|
|
650
650
|
}
|
|
651
651
|
|
|
@@ -10,10 +10,8 @@
|
|
|
10
10
|
#ifndef __STDALIGN_H
|
|
11
11
|
#define __STDALIGN_H
|
|
12
12
|
|
|
13
|
-
/* FIXME: This is using the placeholder dates Clang produces for these macros
|
|
14
|
-
in C2x mode; switch to the correct values once they've been published. */
|
|
15
13
|
#if defined(__cplusplus) || \
|
|
16
|
-
(defined(__STDC_VERSION__) && __STDC_VERSION__ <
|
|
14
|
+
(defined(__STDC_VERSION__) && __STDC_VERSION__ < 202311L)
|
|
17
15
|
#ifndef __cplusplus
|
|
18
16
|
#define alignas _Alignas
|
|
19
17
|
#define alignof _Alignof
|
|
@@ -0,0 +1,79 @@
|
|
|
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. It ignores
|
|
18
|
+
* its header guard so that multiple submodules can export its interfaces.
|
|
19
|
+
* Take module SM with submodules A and B, whose headers both include stdarg.h
|
|
20
|
+
* When SM.A builds, __STDARG_H will be defined. When SM.B builds, the
|
|
21
|
+
* definition from SM.A will leak when building without local submodule
|
|
22
|
+
* visibility. stdarg.h wouldn't include any of its implementation headers, and
|
|
23
|
+
* SM.B wouldn't import any of the stdarg modules, and SM.B's `export *`
|
|
24
|
+
* wouldn't export any stdarg interfaces as expected. However, since stdarg.h
|
|
25
|
+
* ignores its header guard when building with modules, it all works as
|
|
26
|
+
* expected.
|
|
27
|
+
*
|
|
28
|
+
* When clang modules are not enabled, the header guards can function in the
|
|
29
|
+
* normal simple fashion.
|
|
30
|
+
*/
|
|
31
|
+
#if !defined(__STDARG_H) || __has_feature(modules) || \
|
|
32
|
+
defined(__need___va_list) || defined(__need_va_list) || \
|
|
33
|
+
defined(__need_va_arg) || defined(__need___va_copy) || \
|
|
34
|
+
defined(__need_va_copy)
|
|
35
|
+
|
|
36
|
+
#if !defined(__need___va_list) && !defined(__need_va_list) && \
|
|
37
|
+
!defined(__need_va_arg) && !defined(__need___va_copy) && \
|
|
38
|
+
!defined(__need_va_copy)
|
|
39
|
+
#define __STDARG_H
|
|
40
|
+
#define __need___va_list
|
|
41
|
+
#define __need_va_list
|
|
42
|
+
#define __need_va_arg
|
|
43
|
+
#define __need___va_copy
|
|
44
|
+
/* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
|
|
45
|
+
* or -ansi is not specified, since it was not part of C90.
|
|
46
|
+
*/
|
|
47
|
+
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
|
|
48
|
+
(defined(__cplusplus) && __cplusplus >= 201103L) || \
|
|
49
|
+
!defined(__STRICT_ANSI__)
|
|
50
|
+
#define __need_va_copy
|
|
51
|
+
#endif
|
|
52
|
+
#endif
|
|
53
|
+
|
|
54
|
+
#ifdef __need___va_list
|
|
55
|
+
#include <__stdarg___gnuc_va_list.h>
|
|
56
|
+
#undef __need___va_list
|
|
57
|
+
#endif /* defined(__need___va_list) */
|
|
58
|
+
|
|
59
|
+
#ifdef __need_va_list
|
|
60
|
+
#include <__stdarg_va_list.h>
|
|
61
|
+
#undef __need_va_list
|
|
62
|
+
#endif /* defined(__need_va_list) */
|
|
63
|
+
|
|
64
|
+
#ifdef __need_va_arg
|
|
65
|
+
#include <__stdarg_va_arg.h>
|
|
66
|
+
#undef __need_va_arg
|
|
67
|
+
#endif /* defined(__need_va_arg) */
|
|
68
|
+
|
|
69
|
+
#ifdef __need___va_copy
|
|
70
|
+
#include <__stdarg___va_copy.h>
|
|
71
|
+
#undef __need___va_copy
|
|
72
|
+
#endif /* defined(__need___va_copy) */
|
|
73
|
+
|
|
74
|
+
#ifdef __need_va_copy
|
|
75
|
+
#include <__stdarg_va_copy.h>
|
|
76
|
+
#undef __need_va_copy
|
|
77
|
+
#endif /* defined(__need_va_copy) */
|
|
78
|
+
|
|
79
|
+
#endif
|
|
@@ -45,16 +45,14 @@ extern "C" {
|
|
|
45
45
|
#define ATOMIC_POINTER_LOCK_FREE __CLANG_ATOMIC_POINTER_LOCK_FREE
|
|
46
46
|
|
|
47
47
|
/* 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) || \
|
|
48
|
+
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ < 202311L) || \
|
|
51
49
|
defined(__cplusplus)
|
|
52
|
-
/* ATOMIC_VAR_INIT was removed in
|
|
50
|
+
/* ATOMIC_VAR_INIT was removed in C23, but still remains in C++23. */
|
|
53
51
|
#define ATOMIC_VAR_INIT(value) (value)
|
|
54
52
|
#endif
|
|
55
53
|
|
|
56
54
|
#if ((defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201710L && \
|
|
57
|
-
__STDC_VERSION__ <
|
|
55
|
+
__STDC_VERSION__ < 202311L) || \
|
|
58
56
|
(defined(__cplusplus) && __cplusplus >= 202002L)) && \
|
|
59
57
|
!defined(_CLANG_DISABLE_CRT_DEPRECATION_WARNINGS)
|
|
60
58
|
/* ATOMIC_VAR_INIT was deprecated in C17 and C++20. */
|
|
@@ -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,123 @@
|
|
|
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. It ignores
|
|
18
|
+
* its header guard so that multiple submodules can export its interfaces.
|
|
19
|
+
* Take module SM with submodules A and B, whose headers both include stddef.h
|
|
20
|
+
* When SM.A builds, __STDDEF_H will be defined. When SM.B builds, the
|
|
21
|
+
* definition from SM.A will leak when building without local submodule
|
|
22
|
+
* visibility. stddef.h wouldn't include any of its implementation headers, and
|
|
23
|
+
* SM.B wouldn't import any of the stddef modules, and SM.B's `export *`
|
|
24
|
+
* wouldn't export any stddef interfaces as expected. However, since stddef.h
|
|
25
|
+
* ignores its header guard when building with modules, it all works as
|
|
26
|
+
* expected.
|
|
27
|
+
*
|
|
28
|
+
* When clang modules are not enabled, the header guards can function in the
|
|
29
|
+
* normal simple fashion.
|
|
30
|
+
*/
|
|
31
|
+
#if !defined(__STDDEF_H) || __has_feature(modules) || \
|
|
32
|
+
(defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1) || \
|
|
33
|
+
defined(__need_ptrdiff_t) || defined(__need_size_t) || \
|
|
34
|
+
defined(__need_rsize_t) || defined(__need_wchar_t) || \
|
|
35
|
+
defined(__need_NULL) || defined(__need_nullptr_t) || \
|
|
36
|
+
defined(__need_unreachable) || defined(__need_max_align_t) || \
|
|
37
|
+
defined(__need_offsetof) || defined(__need_wint_t)
|
|
38
|
+
|
|
39
|
+
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
|
|
40
|
+
!defined(__need_rsize_t) && !defined(__need_wchar_t) && \
|
|
41
|
+
!defined(__need_NULL) && !defined(__need_nullptr_t) && \
|
|
42
|
+
!defined(__need_unreachable) && !defined(__need_max_align_t) && \
|
|
43
|
+
!defined(__need_offsetof) && !defined(__need_wint_t)
|
|
44
|
+
#define __STDDEF_H
|
|
45
|
+
#define __need_ptrdiff_t
|
|
46
|
+
#define __need_size_t
|
|
47
|
+
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
|
|
48
|
+
* enabled. */
|
|
49
|
+
#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1
|
|
50
|
+
#define __need_rsize_t
|
|
51
|
+
#endif
|
|
52
|
+
#define __need_wchar_t
|
|
53
|
+
#define __need_NULL
|
|
54
|
+
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
|
|
55
|
+
defined(__cplusplus)
|
|
56
|
+
#define __need_nullptr_t
|
|
57
|
+
#endif
|
|
58
|
+
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
|
|
59
|
+
#define __need_unreachable
|
|
60
|
+
#endif
|
|
61
|
+
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
|
|
62
|
+
(defined(__cplusplus) && __cplusplus >= 201103L)
|
|
63
|
+
#define __need_max_align_t
|
|
64
|
+
#endif
|
|
65
|
+
#define __need_offsetof
|
|
66
|
+
/* wint_t is provided by <wchar.h> and not <stddef.h>. It's here
|
|
67
|
+
* for compatibility, but must be explicitly requested. Therefore
|
|
68
|
+
* __need_wint_t is intentionally not defined here. */
|
|
69
|
+
#endif
|
|
70
|
+
|
|
71
|
+
#if defined(__need_ptrdiff_t)
|
|
72
|
+
#include <__stddef_ptrdiff_t.h>
|
|
73
|
+
#undef __need_ptrdiff_t
|
|
74
|
+
#endif /* defined(__need_ptrdiff_t) */
|
|
75
|
+
|
|
76
|
+
#if defined(__need_size_t)
|
|
77
|
+
#include <__stddef_size_t.h>
|
|
78
|
+
#undef __need_size_t
|
|
79
|
+
#endif /*defined(__need_size_t) */
|
|
80
|
+
|
|
81
|
+
#if defined(__need_rsize_t)
|
|
82
|
+
#include <__stddef_rsize_t.h>
|
|
83
|
+
#undef __need_rsize_t
|
|
84
|
+
#endif /* defined(__need_rsize_t) */
|
|
85
|
+
|
|
86
|
+
#if defined(__need_wchar_t)
|
|
87
|
+
#include <__stddef_wchar_t.h>
|
|
88
|
+
#undef __need_wchar_t
|
|
89
|
+
#endif /* defined(__need_wchar_t) */
|
|
90
|
+
|
|
91
|
+
#if defined(__need_NULL)
|
|
92
|
+
#include <__stddef_null.h>
|
|
93
|
+
#undef __need_NULL
|
|
94
|
+
#endif /* defined(__need_NULL) */
|
|
95
|
+
|
|
96
|
+
#if defined(__need_nullptr_t)
|
|
97
|
+
#include <__stddef_nullptr_t.h>
|
|
98
|
+
#undef __need_nullptr_t
|
|
99
|
+
#endif /* defined(__need_nullptr_t) */
|
|
100
|
+
|
|
101
|
+
#if defined(__need_unreachable)
|
|
102
|
+
#include <__stddef_unreachable.h>
|
|
103
|
+
#undef __need_unreachable
|
|
104
|
+
#endif /* defined(__need_unreachable) */
|
|
105
|
+
|
|
106
|
+
#if defined(__need_max_align_t)
|
|
107
|
+
#include <__stddef_max_align_t.h>
|
|
108
|
+
#undef __need_max_align_t
|
|
109
|
+
#endif /* defined(__need_max_align_t) */
|
|
110
|
+
|
|
111
|
+
#if defined(__need_offsetof)
|
|
112
|
+
#include <__stddef_offsetof.h>
|
|
113
|
+
#undef __need_offsetof
|
|
114
|
+
#endif /* defined(__need_offsetof) */
|
|
115
|
+
|
|
116
|
+
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
|
|
117
|
+
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
|
|
118
|
+
#if defined(__need_wint_t)
|
|
119
|
+
#include <__stddef_wint_t.h>
|
|
120
|
+
#undef __need_wint_t
|
|
121
|
+
#endif /* __need_wint_t */
|
|
122
|
+
|
|
123
|
+
#endif
|