@cpp-linter/clang-tidy-darwin-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.
Files changed (252) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{17 → 19}/include/__clang_cuda_device_functions.h +2 -2
  4. package/lib/clang/{17 → 19}/include/__clang_cuda_intrinsics.h +1 -3
  5. package/lib/clang/{17 → 19}/include/__clang_cuda_libdevice_declares.h +2 -2
  6. package/lib/clang/{17 → 19}/include/__clang_cuda_math.h +2 -2
  7. package/lib/clang/{17 → 19}/include/__clang_cuda_runtime_wrapper.h +2 -2
  8. package/lib/clang/{17 → 19}/include/__clang_hip_math.h +192 -171
  9. package/lib/clang/{17 → 19}/include/__clang_hip_runtime_wrapper.h +34 -26
  10. package/lib/clang/19/include/__stdarg___gnuc_va_list.h +13 -0
  11. package/lib/clang/19/include/__stdarg___va_copy.h +12 -0
  12. package/lib/clang/19/include/__stdarg_header_macro.h +12 -0
  13. package/lib/clang/19/include/__stdarg_va_arg.h +22 -0
  14. package/lib/clang/19/include/__stdarg_va_copy.h +12 -0
  15. package/lib/clang/19/include/__stdarg_va_list.h +13 -0
  16. package/lib/clang/19/include/__stddef_header_macro.h +12 -0
  17. package/lib/clang/{17 → 19}/include/__stddef_max_align_t.h +1 -1
  18. package/lib/clang/19/include/__stddef_null.h +29 -0
  19. package/lib/clang/19/include/__stddef_nullptr_t.h +29 -0
  20. package/lib/clang/19/include/__stddef_offsetof.h +17 -0
  21. package/lib/clang/19/include/__stddef_ptrdiff_t.h +20 -0
  22. package/lib/clang/19/include/__stddef_rsize_t.h +20 -0
  23. package/lib/clang/19/include/__stddef_size_t.h +20 -0
  24. package/lib/clang/19/include/__stddef_unreachable.h +21 -0
  25. package/lib/clang/19/include/__stddef_wchar_t.h +28 -0
  26. package/lib/clang/19/include/__stddef_wint_t.h +15 -0
  27. package/lib/clang/{17/include/adxintrin.h → 19/include/adcintrin.h} +27 -94
  28. package/lib/clang/19/include/adxintrin.h +102 -0
  29. package/lib/clang/{17 → 19}/include/altivec.h +31 -12
  30. package/lib/clang/{17 → 19}/include/ammintrin.h +4 -4
  31. package/lib/clang/{17 → 19}/include/arm_acle.h +138 -32
  32. package/lib/clang/{17 → 19}/include/arm_fp16.h +1 -1
  33. package/lib/clang/{17 → 19}/include/arm_neon.h +43361 -43608
  34. package/lib/clang/19/include/arm_sme.h +2819 -0
  35. package/lib/clang/{17 → 19}/include/arm_sve.h +30202 -23615
  36. package/lib/clang/19/include/arm_vector_types.h +345 -0
  37. package/lib/clang/{17 → 19}/include/avx2intrin.h +24 -3
  38. package/lib/clang/{17 → 19}/include/avx512bf16intrin.h +3 -2
  39. package/lib/clang/{17 → 19}/include/avx512bitalgintrin.h +4 -1
  40. package/lib/clang/{17 → 19}/include/avx512bwintrin.h +28 -38
  41. package/lib/clang/{17 → 19}/include/avx512cdintrin.h +3 -1
  42. package/lib/clang/{17 → 19}/include/avx512dqintrin.h +4 -2
  43. package/lib/clang/{17 → 19}/include/avx512fintrin.h +7 -3
  44. package/lib/clang/{17 → 19}/include/avx512fp16intrin.h +44 -42
  45. package/lib/clang/{17 → 19}/include/avx512ifmaintrin.h +3 -1
  46. package/lib/clang/{17 → 19}/include/avx512ifmavlintrin.h +8 -2
  47. package/lib/clang/{17 → 19}/include/avx512vbmi2intrin.h +1 -1
  48. package/lib/clang/{17 → 19}/include/avx512vbmiintrin.h +3 -2
  49. package/lib/clang/{17 → 19}/include/avx512vbmivlintrin.h +8 -3
  50. package/lib/clang/{17 → 19}/include/avx512vlbf16intrin.h +8 -6
  51. package/lib/clang/{17 → 19}/include/avx512vlbitalgintrin.h +8 -2
  52. package/lib/clang/{17 → 19}/include/avx512vlbwintrin.h +8 -2
  53. package/lib/clang/{17 → 19}/include/avx512vlcdintrin.h +8 -3
  54. package/lib/clang/{17 → 19}/include/avx512vldqintrin.h +8 -2
  55. package/lib/clang/{17 → 19}/include/avx512vlfp16intrin.h +2 -2
  56. package/lib/clang/{17 → 19}/include/avx512vlintrin.h +8 -2
  57. package/lib/clang/{17 → 19}/include/avx512vlvbmi2intrin.h +8 -2
  58. package/lib/clang/{17 → 19}/include/avx512vlvnniintrin.h +8 -2
  59. package/lib/clang/{17 → 19}/include/avx512vlvp2intersectintrin.h +6 -4
  60. package/lib/clang/{17 → 19}/include/avx512vnniintrin.h +3 -2
  61. package/lib/clang/{17 → 19}/include/avx512vp2intersectintrin.h +3 -2
  62. package/lib/clang/{17 → 19}/include/avx512vpopcntdqintrin.h +3 -1
  63. package/lib/clang/{17 → 19}/include/avx512vpopcntdqvlintrin.h +6 -2
  64. package/lib/clang/{17 → 19}/include/avxintrin.h +67 -49
  65. package/lib/clang/{17 → 19}/include/bmiintrin.h +233 -50
  66. package/lib/clang/{17 → 19}/include/builtins.h +3 -0
  67. package/lib/clang/{17 → 19}/include/cpuid.h +23 -3
  68. package/lib/clang/{17 → 19}/include/cuda_wrappers/algorithm +1 -1
  69. package/lib/clang/{17 → 19}/include/emmintrin.h +311 -180
  70. package/lib/clang/{17 → 19}/include/float.h +28 -0
  71. package/lib/clang/{17 → 19}/include/fmaintrin.h +32 -16
  72. package/lib/clang/{17 → 19}/include/gfniintrin.h +23 -6
  73. package/lib/clang/{17 → 19}/include/hlsl/hlsl_basic_types.h +10 -3
  74. package/lib/clang/19/include/hlsl/hlsl_intrinsics.h +1697 -0
  75. package/lib/clang/19/include/ia32intrin.h +863 -0
  76. package/lib/clang/{17 → 19}/include/immintrin.h +149 -160
  77. package/lib/clang/{17 → 19}/include/intrin.h +61 -221
  78. package/lib/clang/19/include/intrin0.h +247 -0
  79. package/lib/clang/{17 → 19}/include/inttypes.h +4 -0
  80. package/lib/clang/{17 → 19}/include/iso646.h +4 -0
  81. package/lib/clang/{17 → 19}/include/keylockerintrin.h +5 -8
  82. package/lib/clang/{17 → 19}/include/larchintrin.h +13 -1
  83. package/lib/clang/19/include/lasxintrin.h +3884 -0
  84. package/lib/clang/{17 → 19}/include/limits.h +7 -4
  85. package/lib/clang/{17/include/llvm_libc_wrappers/stdio.h → 19/include/llvm_libc_wrappers/assert.h} +7 -7
  86. package/lib/clang/{17 → 19}/include/llvm_libc_wrappers/ctype.h +17 -0
  87. package/lib/clang/19/include/llvm_libc_wrappers/stdio.h +80 -0
  88. package/lib/clang/{17 → 19}/include/llvm_libc_wrappers/stdlib.h +4 -1
  89. package/lib/clang/19/include/llvm_libc_wrappers/string.h +96 -0
  90. package/lib/clang/{17/include/llvm_libc_wrappers/string.h → 19/include/llvm_libc_wrappers/time.h} +9 -12
  91. package/lib/clang/19/include/lsxintrin.h +3750 -0
  92. package/lib/clang/19/include/mm3dnow.h +22 -0
  93. package/lib/clang/{17 → 19}/include/mmintrin.h +83 -89
  94. package/lib/clang/19/include/module.modulemap +330 -0
  95. package/lib/clang/{17 → 19}/include/opencl-c-base.h +9 -0
  96. package/lib/clang/{17 → 19}/include/opencl-c.h +15 -0
  97. package/lib/clang/{17 → 19}/include/openmp_wrappers/cmath +1 -1
  98. package/lib/clang/{17 → 19}/include/pmmintrin.h +3 -2
  99. package/lib/clang/19/include/ppc_wrappers/nmmintrin.h +26 -0
  100. package/lib/clang/{17 → 19}/include/ppc_wrappers/smmintrin.h +35 -15
  101. package/lib/clang/{17 → 19}/include/prfchwintrin.h +10 -8
  102. package/lib/clang/19/include/ptrauth.h +330 -0
  103. package/lib/clang/19/include/riscv_bitmanip.h +195 -0
  104. package/lib/clang/19/include/riscv_crypto.h +170 -0
  105. package/lib/clang/{17 → 19}/include/riscv_ntlh.h +3 -5
  106. package/lib/clang/{17 → 19}/include/riscv_vector.h +31 -4
  107. package/lib/clang/19/include/sifive_vector.h +118 -0
  108. package/lib/clang/{17 → 19}/include/smmintrin.h +15 -15
  109. package/lib/clang/{17 → 19}/include/stdalign.h +6 -3
  110. package/lib/clang/19/include/stdarg.h +75 -0
  111. package/lib/clang/{17 → 19}/include/stdatomic.h +14 -6
  112. package/lib/clang/{17 → 19}/include/stdbool.h +5 -0
  113. package/lib/clang/19/include/stdckdint.h +42 -0
  114. package/lib/clang/19/include/stddef.h +139 -0
  115. package/lib/clang/{17 → 19}/include/stdint.h +24 -48
  116. package/lib/clang/{17 → 19}/include/stdnoreturn.h +8 -2
  117. package/lib/clang/{17 → 19}/include/tmmintrin.h +27 -18
  118. package/lib/clang/19/include/usermsrintrin.h +51 -0
  119. package/lib/clang/{17 → 19}/include/vaesintrin.h +4 -2
  120. package/lib/clang/{17 → 19}/include/varargs.h +5 -1
  121. package/lib/clang/{17 → 19}/include/vecintrin.h +217 -199
  122. package/lib/clang/{17 → 19}/include/x86gprintrin.h +10 -12
  123. package/lib/clang/19/include/x86intrin.h +53 -0
  124. package/lib/clang/{17 → 19}/include/xmmintrin.h +294 -104
  125. package/lib/clang/19/include/yvals_core.h +25 -0
  126. package/lib/clang/19/include/zos_wrappers/builtins.h +18 -0
  127. package/package.json +6 -6
  128. package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +0 -642
  129. package/lib/clang/17/include/avx512erintrin.h +0 -271
  130. package/lib/clang/17/include/avx512pfintrin.h +0 -97
  131. package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +0 -480
  132. package/lib/clang/17/include/ia32intrin.h +0 -441
  133. package/lib/clang/17/include/mm3dnow.h +0 -157
  134. package/lib/clang/17/include/module.modulemap +0 -164
  135. package/lib/clang/17/include/sifive_vector.h +0 -16
  136. package/lib/clang/17/include/stdarg.h +0 -51
  137. package/lib/clang/17/include/stddef.h +0 -133
  138. package/lib/clang/17/include/x86intrin.h +0 -67
  139. /package/lib/clang/{17 → 19}/include/__clang_cuda_builtin_vars.h +0 -0
  140. /package/lib/clang/{17 → 19}/include/__clang_cuda_cmath.h +0 -0
  141. /package/lib/clang/{17 → 19}/include/__clang_cuda_complex_builtins.h +0 -0
  142. /package/lib/clang/{17 → 19}/include/__clang_cuda_math_forward_declares.h +0 -0
  143. /package/lib/clang/{17 → 19}/include/__clang_cuda_texture_intrinsics.h +0 -0
  144. /package/lib/clang/{17 → 19}/include/__clang_hip_cmath.h +0 -0
  145. /package/lib/clang/{17 → 19}/include/__clang_hip_libdevice_declares.h +0 -0
  146. /package/lib/clang/{17 → 19}/include/__clang_hip_stdlib.h +0 -0
  147. /package/lib/clang/{17 → 19}/include/__wmmintrin_aes.h +0 -0
  148. /package/lib/clang/{17 → 19}/include/__wmmintrin_pclmul.h +0 -0
  149. /package/lib/clang/{17 → 19}/include/amxcomplexintrin.h +0 -0
  150. /package/lib/clang/{17 → 19}/include/amxfp16intrin.h +0 -0
  151. /package/lib/clang/{17 → 19}/include/amxintrin.h +0 -0
  152. /package/lib/clang/{17 → 19}/include/arm64intr.h +0 -0
  153. /package/lib/clang/{17 → 19}/include/arm_bf16.h +0 -0
  154. /package/lib/clang/{17 → 19}/include/arm_cde.h +0 -0
  155. /package/lib/clang/{17 → 19}/include/arm_cmse.h +0 -0
  156. /package/lib/clang/{17 → 19}/include/arm_mve.h +0 -0
  157. /package/lib/clang/{17 → 19}/include/arm_neon_sve_bridge.h +0 -0
  158. /package/lib/clang/{17 → 19}/include/armintr.h +0 -0
  159. /package/lib/clang/{17 → 19}/include/avxifmaintrin.h +0 -0
  160. /package/lib/clang/{17 → 19}/include/avxneconvertintrin.h +0 -0
  161. /package/lib/clang/{17 → 19}/include/avxvnniint16intrin.h +0 -0
  162. /package/lib/clang/{17 → 19}/include/avxvnniint8intrin.h +0 -0
  163. /package/lib/clang/{17 → 19}/include/avxvnniintrin.h +0 -0
  164. /package/lib/clang/{17 → 19}/include/bmi2intrin.h +0 -0
  165. /package/lib/clang/{17 → 19}/include/cet.h +0 -0
  166. /package/lib/clang/{17 → 19}/include/cetintrin.h +0 -0
  167. /package/lib/clang/{17 → 19}/include/cldemoteintrin.h +0 -0
  168. /package/lib/clang/{17 → 19}/include/clflushoptintrin.h +0 -0
  169. /package/lib/clang/{17 → 19}/include/clwbintrin.h +0 -0
  170. /package/lib/clang/{17 → 19}/include/clzerointrin.h +0 -0
  171. /package/lib/clang/{17 → 19}/include/cmpccxaddintrin.h +0 -0
  172. /package/lib/clang/{17 → 19}/include/crc32intrin.h +0 -0
  173. /package/lib/clang/{17 → 19}/include/cuda_wrappers/bits/basic_string.h +0 -0
  174. /package/lib/clang/{17 → 19}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  175. /package/lib/clang/{17 → 19}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  176. /package/lib/clang/{17 → 19}/include/cuda_wrappers/cmath +0 -0
  177. /package/lib/clang/{17 → 19}/include/cuda_wrappers/complex +0 -0
  178. /package/lib/clang/{17 → 19}/include/cuda_wrappers/new +0 -0
  179. /package/lib/clang/{17 → 19}/include/enqcmdintrin.h +0 -0
  180. /package/lib/clang/{17 → 19}/include/f16cintrin.h +0 -0
  181. /package/lib/clang/{17 → 19}/include/fma4intrin.h +0 -0
  182. /package/lib/clang/{17 → 19}/include/fxsrintrin.h +0 -0
  183. /package/lib/clang/{17 → 19}/include/hexagon_circ_brev_intrinsics.h +0 -0
  184. /package/lib/clang/{17 → 19}/include/hexagon_protos.h +0 -0
  185. /package/lib/clang/{17 → 19}/include/hexagon_types.h +0 -0
  186. /package/lib/clang/{17 → 19}/include/hlsl.h +0 -0
  187. /package/lib/clang/{17 → 19}/include/hresetintrin.h +0 -0
  188. /package/lib/clang/{17 → 19}/include/htmintrin.h +0 -0
  189. /package/lib/clang/{17 → 19}/include/htmxlintrin.h +0 -0
  190. /package/lib/clang/{17 → 19}/include/hvx_hexagon_protos.h +0 -0
  191. /package/lib/clang/{17 → 19}/include/invpcidintrin.h +0 -0
  192. /package/lib/clang/{17 → 19}/include/llvm_libc_wrappers/inttypes.h +0 -0
  193. /package/lib/clang/{17 → 19}/include/lwpintrin.h +0 -0
  194. /package/lib/clang/{17 → 19}/include/lzcntintrin.h +0 -0
  195. /package/lib/clang/{17 → 19}/include/mm_malloc.h +0 -0
  196. /package/lib/clang/{17 → 19}/include/movdirintrin.h +0 -0
  197. /package/lib/clang/{17 → 19}/include/msa.h +0 -0
  198. /package/lib/clang/{17 → 19}/include/mwaitxintrin.h +0 -0
  199. /package/lib/clang/{17 → 19}/include/nmmintrin.h +0 -0
  200. /package/lib/clang/{17 → 19}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  201. /package/lib/clang/{17 → 19}/include/openmp_wrappers/complex +0 -0
  202. /package/lib/clang/{17 → 19}/include/openmp_wrappers/complex.h +0 -0
  203. /package/lib/clang/{17 → 19}/include/openmp_wrappers/complex_cmath.h +0 -0
  204. /package/lib/clang/{17 → 19}/include/openmp_wrappers/math.h +0 -0
  205. /package/lib/clang/{17 → 19}/include/openmp_wrappers/new +0 -0
  206. /package/lib/clang/{17 → 19}/include/pconfigintrin.h +0 -0
  207. /package/lib/clang/{17 → 19}/include/pkuintrin.h +0 -0
  208. /package/lib/clang/{17 → 19}/include/popcntintrin.h +0 -0
  209. /package/lib/clang/{17 → 19}/include/ppc_wrappers/bmi2intrin.h +0 -0
  210. /package/lib/clang/{17 → 19}/include/ppc_wrappers/bmiintrin.h +0 -0
  211. /package/lib/clang/{17 → 19}/include/ppc_wrappers/emmintrin.h +0 -0
  212. /package/lib/clang/{17 → 19}/include/ppc_wrappers/immintrin.h +0 -0
  213. /package/lib/clang/{17 → 19}/include/ppc_wrappers/mm_malloc.h +0 -0
  214. /package/lib/clang/{17 → 19}/include/ppc_wrappers/mmintrin.h +0 -0
  215. /package/lib/clang/{17 → 19}/include/ppc_wrappers/pmmintrin.h +0 -0
  216. /package/lib/clang/{17 → 19}/include/ppc_wrappers/tmmintrin.h +0 -0
  217. /package/lib/clang/{17 → 19}/include/ppc_wrappers/x86gprintrin.h +0 -0
  218. /package/lib/clang/{17 → 19}/include/ppc_wrappers/x86intrin.h +0 -0
  219. /package/lib/clang/{17 → 19}/include/ppc_wrappers/xmmintrin.h +0 -0
  220. /package/lib/clang/{17 → 19}/include/prfchiintrin.h +0 -0
  221. /package/lib/clang/{17 → 19}/include/ptwriteintrin.h +0 -0
  222. /package/lib/clang/{17 → 19}/include/raointintrin.h +0 -0
  223. /package/lib/clang/{17 → 19}/include/rdpruintrin.h +0 -0
  224. /package/lib/clang/{17 → 19}/include/rdseedintrin.h +0 -0
  225. /package/lib/clang/{17 → 19}/include/rtmintrin.h +0 -0
  226. /package/lib/clang/{17 → 19}/include/s390intrin.h +0 -0
  227. /package/lib/clang/{17 → 19}/include/serializeintrin.h +0 -0
  228. /package/lib/clang/{17 → 19}/include/sgxintrin.h +0 -0
  229. /package/lib/clang/{17 → 19}/include/sha512intrin.h +0 -0
  230. /package/lib/clang/{17 → 19}/include/shaintrin.h +0 -0
  231. /package/lib/clang/{17 → 19}/include/sm3intrin.h +0 -0
  232. /package/lib/clang/{17 → 19}/include/sm4intrin.h +0 -0
  233. /package/lib/clang/{17 → 19}/include/tbmintrin.h +0 -0
  234. /package/lib/clang/{17 → 19}/include/tgmath.h +0 -0
  235. /package/lib/clang/{17 → 19}/include/tsxldtrkintrin.h +0 -0
  236. /package/lib/clang/{17 → 19}/include/uintrintrin.h +0 -0
  237. /package/lib/clang/{17 → 19}/include/unwind.h +0 -0
  238. /package/lib/clang/{17 → 19}/include/vadefs.h +0 -0
  239. /package/lib/clang/{17 → 19}/include/velintrin.h +0 -0
  240. /package/lib/clang/{17 → 19}/include/velintrin_approx.h +0 -0
  241. /package/lib/clang/{17 → 19}/include/velintrin_gen.h +0 -0
  242. /package/lib/clang/{17 → 19}/include/vpclmulqdqintrin.h +0 -0
  243. /package/lib/clang/{17 → 19}/include/waitpkgintrin.h +0 -0
  244. /package/lib/clang/{17 → 19}/include/wasm_simd128.h +0 -0
  245. /package/lib/clang/{17 → 19}/include/wbnoinvdintrin.h +0 -0
  246. /package/lib/clang/{17 → 19}/include/wmmintrin.h +0 -0
  247. /package/lib/clang/{17 → 19}/include/xopintrin.h +0 -0
  248. /package/lib/clang/{17 → 19}/include/xsavecintrin.h +0 -0
  249. /package/lib/clang/{17 → 19}/include/xsaveintrin.h +0 -0
  250. /package/lib/clang/{17 → 19}/include/xsaveoptintrin.h +0 -0
  251. /package/lib/clang/{17 → 19}/include/xsavesintrin.h +0 -0
  252. /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++ 23 or newer.
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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 C2x, but still remains in C++23. */
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__ < 202000L) || \
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
503
- in C2x mode; switch to the correct values once they've been published. */
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* C2x 7.20.2.4 Width of integer types capable of holding object pointers. */
911
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* C2x 7.20.2.5 Width of greatest-width integer types. */
932
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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
- /* C2x 7.20.3.x Width of other integer types. */
968
- /* FIXME: This is using the placeholder dates Clang produces for these macros
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 C2x. We do not mark it as such because
19
- including the header file in C2x is also deprecated and we do not want to
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 __attribute__((__always_inline__, __nodebug__, __target__("ssse3"), __min_vector_width__(64)))
21
- #define __DEFAULT_FN_ATTRS_MMX __attribute__((__always_inline__, __nodebug__, __target__("mmx,ssse3"), __min_vector_width__(64)))
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 in 2 packed
270
- /// 128-bit vectors of [8 x i16]. Positive sums greater than 0x7FFF are
271
- /// saturated to 0x7FFF. Negative sums less than 0x8000 are saturated to
272
- /// 0x8000.
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 in 2 packed
295
- /// 64-bit vectors of [4 x i16]. Positive sums greater than 0x7FFF are
296
- /// saturated to 0x7FFF. Negative sums less than 0x8000 are saturated to
297
- /// 0x8000.
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 contained in 2
412
- /// packed 128-bit vectors of [8 x i16]. Positive differences greater than
413
- /// 0x7FFF are saturated to 0x7FFF. Negative differences less than 0x8000 are
414
- /// saturated to 0x8000.
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 contained in 2
437
- /// packed 64-bit vectors of [4 x i16]. Positive differences greater than
438
- /// 0x7FFF are saturated to 0x7FFF. Negative differences less than 0x8000 are
439
- /// saturated to 0x8000.
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
  ///