llvm-runtime-resources-darwin 0.0.0 → 22.1.8

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 (350) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +33 -0
  3. package/include/__clang_cuda_builtin_vars.h +121 -0
  4. package/include/__clang_cuda_cmath.h +512 -0
  5. package/include/__clang_cuda_complex_builtins.h +229 -0
  6. package/include/__clang_cuda_device_functions.h +1572 -0
  7. package/include/__clang_cuda_intrinsics.h +994 -0
  8. package/include/__clang_cuda_libdevice_declares.h +468 -0
  9. package/include/__clang_cuda_math.h +353 -0
  10. package/include/__clang_cuda_math_forward_declares.h +284 -0
  11. package/include/__clang_cuda_runtime_wrapper.h +522 -0
  12. package/include/__clang_cuda_texture_intrinsics.h +1177 -0
  13. package/include/__clang_hip_cmath.h +848 -0
  14. package/include/__clang_hip_libdevice_declares.h +340 -0
  15. package/include/__clang_hip_math.h +1405 -0
  16. package/include/__clang_hip_runtime_wrapper.h +165 -0
  17. package/include/__clang_hip_stdlib.h +43 -0
  18. package/include/__clang_spirv_builtins.h +217 -0
  19. package/include/__float_float.h +176 -0
  20. package/include/__float_header_macro.h +12 -0
  21. package/include/__float_infinity_nan.h +20 -0
  22. package/include/__stdarg___gnuc_va_list.h +13 -0
  23. package/include/__stdarg___va_copy.h +12 -0
  24. package/include/__stdarg_header_macro.h +12 -0
  25. package/include/__stdarg_va_arg.h +22 -0
  26. package/include/__stdarg_va_copy.h +12 -0
  27. package/include/__stdarg_va_list.h +13 -0
  28. package/include/__stddef_header_macro.h +12 -0
  29. package/include/__stddef_max_align_t.h +27 -0
  30. package/include/__stddef_null.h +29 -0
  31. package/include/__stddef_nullptr_t.h +29 -0
  32. package/include/__stddef_offsetof.h +17 -0
  33. package/include/__stddef_ptrdiff_t.h +20 -0
  34. package/include/__stddef_rsize_t.h +20 -0
  35. package/include/__stddef_size_t.h +20 -0
  36. package/include/__stddef_unreachable.h +21 -0
  37. package/include/__stddef_wchar_t.h +28 -0
  38. package/include/__stddef_wint_t.h +15 -0
  39. package/include/__wmmintrin_aes.h +140 -0
  40. package/include/__wmmintrin_pclmul.h +48 -0
  41. package/include/adcintrin.h +165 -0
  42. package/include/adxintrin.h +107 -0
  43. package/include/altivec.h +19364 -0
  44. package/include/amdgpuintrin.h +191 -0
  45. package/include/ammintrin.h +183 -0
  46. package/include/amo.h +131 -0
  47. package/include/amxavx512intrin.h +596 -0
  48. package/include/amxcomplexintrin.h +167 -0
  49. package/include/amxfp16intrin.h +93 -0
  50. package/include/amxfp8intrin.h +230 -0
  51. package/include/amxintrin.h +492 -0
  52. package/include/amxmovrsintrin.h +48 -0
  53. package/include/amxtf32intrin.h +108 -0
  54. package/include/andes_vector.h +16 -0
  55. package/include/arm64intr.h +35 -0
  56. package/include/arm_acle.h +865 -0
  57. package/include/arm_bf16.h +20 -0
  58. package/include/arm_cde.h +410 -0
  59. package/include/arm_cmse.h +217 -0
  60. package/include/arm_fp16.h +596 -0
  61. package/include/arm_mve.h +19187 -0
  62. package/include/arm_neon.h +74183 -0
  63. package/include/arm_neon_sve_bridge.h +182 -0
  64. package/include/arm_sme.h +3741 -0
  65. package/include/arm_sve.h +32278 -0
  66. package/include/arm_vector_types.h +432 -0
  67. package/include/armintr.h +31 -0
  68. package/include/avx10_2_512bf16intrin.h +568 -0
  69. package/include/avx10_2_512convertintrin.h +322 -0
  70. package/include/avx10_2_512minmaxintrin.h +127 -0
  71. package/include/avx10_2_512niintrin.h +314 -0
  72. package/include/avx10_2_512satcvtdsintrin.h +307 -0
  73. package/include/avx10_2_512satcvtintrin.h +301 -0
  74. package/include/avx10_2bf16intrin.h +1094 -0
  75. package/include/avx10_2convertintrin.h +3257 -0
  76. package/include/avx10_2copyintrin.h +66 -0
  77. package/include/avx10_2minmaxintrin.h +232 -0
  78. package/include/avx10_2niintrin.h +409 -0
  79. package/include/avx10_2satcvtdsintrin.h +376 -0
  80. package/include/avx10_2satcvtintrin.h +312 -0
  81. package/include/avx2intrin.h +5191 -0
  82. package/include/avx512bf16intrin.h +292 -0
  83. package/include/avx512bitalgintrin.h +75 -0
  84. package/include/avx512bwintrin.h +1895 -0
  85. package/include/avx512cdintrin.h +112 -0
  86. package/include/avx512dqintrin.h +1350 -0
  87. package/include/avx512fintrin.h +9378 -0
  88. package/include/avx512fp16intrin.h +3355 -0
  89. package/include/avx512ifmaintrin.h +68 -0
  90. package/include/avx512ifmavlintrin.h +138 -0
  91. package/include/avx512vbmi2intrin.h +368 -0
  92. package/include/avx512vbmiintrin.h +98 -0
  93. package/include/avx512vbmivlintrin.h +179 -0
  94. package/include/avx512vlbf16intrin.h +527 -0
  95. package/include/avx512vlbitalgintrin.h +135 -0
  96. package/include/avx512vlbwintrin.h +3064 -0
  97. package/include/avx512vlcdintrin.h +202 -0
  98. package/include/avx512vldqintrin.h +1156 -0
  99. package/include/avx512vlfp16intrin.h +2090 -0
  100. package/include/avx512vlintrin.h +8083 -0
  101. package/include/avx512vlvbmi2intrin.h +710 -0
  102. package/include/avx512vlvnniintrin.h +313 -0
  103. package/include/avx512vlvp2intersectintrin.h +123 -0
  104. package/include/avx512vnniintrin.h +116 -0
  105. package/include/avx512vp2intersectintrin.h +77 -0
  106. package/include/avx512vpopcntdqintrin.h +62 -0
  107. package/include/avx512vpopcntdqvlintrin.h +105 -0
  108. package/include/avxifmaintrin.h +193 -0
  109. package/include/avxintrin.h +5064 -0
  110. package/include/avxneconvertintrin.h +484 -0
  111. package/include/avxvnniint16intrin.h +451 -0
  112. package/include/avxvnniint8intrin.h +454 -0
  113. package/include/avxvnniintrin.h +233 -0
  114. package/include/bmi2intrin.h +253 -0
  115. package/include/bmiintrin.h +604 -0
  116. package/include/builtins.h +19 -0
  117. package/include/cet.h +66 -0
  118. package/include/cetintrin.h +115 -0
  119. package/include/cldemoteintrin.h +36 -0
  120. package/include/clflushoptintrin.h +36 -0
  121. package/include/clwbintrin.h +38 -0
  122. package/include/clzerointrin.h +38 -0
  123. package/include/cmpccxaddintrin.h +70 -0
  124. package/include/cpuid.h +451 -0
  125. package/include/crc32intrin.h +100 -0
  126. package/include/cuda_wrappers/__utility/declval.h +28 -0
  127. package/include/cuda_wrappers/algorithm +116 -0
  128. package/include/cuda_wrappers/bits/basic_string.h +9 -0
  129. package/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  130. package/include/cuda_wrappers/bits/c++config.h +61 -0
  131. package/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  132. package/include/cuda_wrappers/cmath +44 -0
  133. package/include/cuda_wrappers/complex +90 -0
  134. package/include/cuda_wrappers/new +108 -0
  135. package/include/emmintrin.h +4940 -0
  136. package/include/enqcmdintrin.h +63 -0
  137. package/include/f16cintrin.h +176 -0
  138. package/include/float.h +48 -0
  139. package/include/fma4intrin.h +220 -0
  140. package/include/fmaintrin.h +826 -0
  141. package/include/fuzzer/FuzzedDataProvider.h +397 -0
  142. package/include/fxsrintrin.h +91 -0
  143. package/include/gfniintrin.h +238 -0
  144. package/include/gpuintrin.h +330 -0
  145. package/include/hexagon_circ_brev_intrinsics.h +298 -0
  146. package/include/hexagon_protos.h +8439 -0
  147. package/include/hexagon_types.h +2628 -0
  148. package/include/hresetintrin.h +49 -0
  149. package/include/htmintrin.h +212 -0
  150. package/include/htmxlintrin.h +345 -0
  151. package/include/hvx_hexagon_protos.h +5399 -0
  152. package/include/ia32intrin.h +863 -0
  153. package/include/immintrin.h +595 -0
  154. package/include/intrin.h +491 -0
  155. package/include/intrin0.h +256 -0
  156. package/include/inttypes.h +101 -0
  157. package/include/invpcidintrin.h +23 -0
  158. package/include/iso646.h +31 -0
  159. package/include/keylockerintrin.h +518 -0
  160. package/include/larchintrin.h +260 -0
  161. package/include/lasxintrin.h +3999 -0
  162. package/include/limits.h +133 -0
  163. package/include/llvm_libc_wrappers/assert.h +32 -0
  164. package/include/llvm_libc_wrappers/ctype.h +28 -0
  165. package/include/llvm_libc_wrappers/inttypes.h +32 -0
  166. package/include/llvm_libc_wrappers/stdio.h +52 -0
  167. package/include/llvm_libc_wrappers/stdlib.h +32 -0
  168. package/include/llvm_libc_wrappers/string.h +28 -0
  169. package/include/llvm_libc_wrappers/time.h +28 -0
  170. package/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  171. package/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  172. package/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  173. package/include/lsxintrin.h +3752 -0
  174. package/include/lwpintrin.h +136 -0
  175. package/include/lzcntintrin.h +109 -0
  176. package/include/mm3dnow.h +22 -0
  177. package/include/mm_malloc.h +67 -0
  178. package/include/mmintrin.h +1541 -0
  179. package/include/module.modulemap +360 -0
  180. package/include/movdirintrin.h +49 -0
  181. package/include/movrs_avx10_2_512intrin.h +98 -0
  182. package/include/movrs_avx10_2intrin.h +174 -0
  183. package/include/movrsintrin.h +59 -0
  184. package/include/msa.h +573 -0
  185. package/include/mwaitxintrin.h +62 -0
  186. package/include/nmmintrin.h +20 -0
  187. package/include/nvptxintrin.h +219 -0
  188. package/include/opencl-c-base.h +758 -0
  189. package/include/opencl-c.h +18676 -0
  190. package/include/openmp_wrappers/__clang_openmp_device_functions.h +104 -0
  191. package/include/openmp_wrappers/cmath +132 -0
  192. package/include/openmp_wrappers/complex +55 -0
  193. package/include/openmp_wrappers/complex.h +35 -0
  194. package/include/openmp_wrappers/complex_cmath.h +393 -0
  195. package/include/openmp_wrappers/math.h +61 -0
  196. package/include/openmp_wrappers/new +48 -0
  197. package/include/pconfigintrin.h +40 -0
  198. package/include/pkuintrin.h +34 -0
  199. package/include/pmmintrin.h +302 -0
  200. package/include/popcntintrin.h +59 -0
  201. package/include/ppc_wrappers/bmi2intrin.h +134 -0
  202. package/include/ppc_wrappers/bmiintrin.h +165 -0
  203. package/include/ppc_wrappers/emmintrin.h +2269 -0
  204. package/include/ppc_wrappers/immintrin.h +27 -0
  205. package/include/ppc_wrappers/mm_malloc.h +45 -0
  206. package/include/ppc_wrappers/mmintrin.h +1453 -0
  207. package/include/ppc_wrappers/nmmintrin.h +26 -0
  208. package/include/ppc_wrappers/pmmintrin.h +145 -0
  209. package/include/ppc_wrappers/smmintrin.h +683 -0
  210. package/include/ppc_wrappers/tmmintrin.h +453 -0
  211. package/include/ppc_wrappers/x86gprintrin.h +17 -0
  212. package/include/ppc_wrappers/x86intrin.h +28 -0
  213. package/include/ppc_wrappers/xmmintrin.h +1827 -0
  214. package/include/prfchiintrin.h +61 -0
  215. package/include/prfchwintrin.h +57 -0
  216. package/include/profile/InstrProfData.inc +1001 -0
  217. package/include/profile/instr_prof_interface.h +88 -0
  218. package/include/ptrauth.h +407 -0
  219. package/include/ptwriteintrin.h +37 -0
  220. package/include/raointintrin.h +203 -0
  221. package/include/rdpruintrin.h +57 -0
  222. package/include/rdseedintrin.h +105 -0
  223. package/include/riscv_bitmanip.h +195 -0
  224. package/include/riscv_corev_alu.h +128 -0
  225. package/include/riscv_crypto.h +170 -0
  226. package/include/riscv_mips.h +34 -0
  227. package/include/riscv_nds.h +89 -0
  228. package/include/riscv_ntlh.h +26 -0
  229. package/include/riscv_vector.h +422 -0
  230. package/include/rtmintrin.h +45 -0
  231. package/include/s390intrin.h +25 -0
  232. package/include/sanitizer/allocator_interface.h +106 -0
  233. package/include/sanitizer/asan_interface.h +348 -0
  234. package/include/sanitizer/common_interface_defs.h +544 -0
  235. package/include/sanitizer/coverage_interface.h +36 -0
  236. package/include/sanitizer/dfsan_interface.h +220 -0
  237. package/include/sanitizer/hwasan_interface.h +109 -0
  238. package/include/sanitizer/linux_syscall_hooks.h +3112 -0
  239. package/include/sanitizer/lsan_interface.h +89 -0
  240. package/include/sanitizer/msan_interface.h +135 -0
  241. package/include/sanitizer/netbsd_syscall_hooks.h +5005 -0
  242. package/include/sanitizer/rtsan_interface.h +75 -0
  243. package/include/sanitizer/scudo_interface.h +38 -0
  244. package/include/sanitizer/tsan_interface.h +316 -0
  245. package/include/sanitizer/tsan_interface_atomic.h +223 -0
  246. package/include/sanitizer/ubsan_interface.h +34 -0
  247. package/include/serializeintrin.h +30 -0
  248. package/include/sgxintrin.h +60 -0
  249. package/include/sha512intrin.h +200 -0
  250. package/include/shaintrin.h +190 -0
  251. package/include/sifive_vector.h +174 -0
  252. package/include/sm3intrin.h +238 -0
  253. package/include/sm4evexintrin.h +32 -0
  254. package/include/sm4intrin.h +269 -0
  255. package/include/smmintrin.h +2352 -0
  256. package/include/spirvintrin.h +194 -0
  257. package/include/stdalign.h +24 -0
  258. package/include/stdarg.h +75 -0
  259. package/include/stdatomic.h +204 -0
  260. package/include/stdbool.h +39 -0
  261. package/include/stdckdint.h +42 -0
  262. package/include/stdcountof.h +15 -0
  263. package/include/stddef.h +139 -0
  264. package/include/stddefer.h +19 -0
  265. package/include/stdint.h +844 -0
  266. package/include/stdnoreturn.h +35 -0
  267. package/include/tbmintrin.h +128 -0
  268. package/include/tgmath.h +1368 -0
  269. package/include/tmmintrin.h +779 -0
  270. package/include/tsxldtrkintrin.h +56 -0
  271. package/include/uintrintrin.h +157 -0
  272. package/include/unwind.h +332 -0
  273. package/include/usermsrintrin.h +51 -0
  274. package/include/vadefs.h +51 -0
  275. package/include/vaesintrin.h +86 -0
  276. package/include/varargs.h +16 -0
  277. package/include/vecintrin.h +12868 -0
  278. package/include/velintrin.h +71 -0
  279. package/include/velintrin_approx.h +120 -0
  280. package/include/velintrin_gen.h +1257 -0
  281. package/include/vpclmulqdqintrin.h +30 -0
  282. package/include/waitpkgintrin.h +42 -0
  283. package/include/wasm_simd128.h +2143 -0
  284. package/include/wbnoinvdintrin.h +24 -0
  285. package/include/wmmintrin.h +23 -0
  286. package/include/x86gprintrin.h +49 -0
  287. package/include/x86intrin.h +35 -0
  288. package/include/xmmintrin.h +3175 -0
  289. package/include/xopintrin.h +780 -0
  290. package/include/xsavecintrin.h +84 -0
  291. package/include/xsaveintrin.h +63 -0
  292. package/include/xsaveoptintrin.h +34 -0
  293. package/include/xsavesintrin.h +44 -0
  294. package/include/xtestintrin.h +27 -0
  295. package/include/yvals_core.h +25 -0
  296. package/include/zos_wrappers/builtins.h +18 -0
  297. package/index.js +5 -0
  298. package/lib/darwin/libclang_rt.asan_abi_ios.a +0 -0
  299. package/lib/darwin/libclang_rt.asan_abi_iossim.a +0 -0
  300. package/lib/darwin/libclang_rt.asan_abi_osx.a +0 -0
  301. package/lib/darwin/libclang_rt.asan_ios_dynamic.dylib +0 -0
  302. package/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
  303. package/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  304. package/lib/darwin/libclang_rt.cc_kext.a +0 -0
  305. package/lib/darwin/libclang_rt.cc_kext_ios.a +0 -0
  306. package/lib/darwin/libclang_rt.fuzzer_interceptors_ios.a +0 -0
  307. package/lib/darwin/libclang_rt.fuzzer_interceptors_iossim.a +0 -0
  308. package/lib/darwin/libclang_rt.fuzzer_interceptors_osx.a +0 -0
  309. package/lib/darwin/libclang_rt.fuzzer_ios.a +0 -0
  310. package/lib/darwin/libclang_rt.fuzzer_iossim.a +0 -0
  311. package/lib/darwin/libclang_rt.fuzzer_no_main_ios.a +0 -0
  312. package/lib/darwin/libclang_rt.fuzzer_no_main_iossim.a +0 -0
  313. package/lib/darwin/libclang_rt.fuzzer_no_main_osx.a +0 -0
  314. package/lib/darwin/libclang_rt.fuzzer_osx.a +0 -0
  315. package/lib/darwin/libclang_rt.ios.a +0 -0
  316. package/lib/darwin/libclang_rt.iossim.a +0 -0
  317. package/lib/darwin/libclang_rt.lsan_ios_dynamic.dylib +0 -0
  318. package/lib/darwin/libclang_rt.lsan_iossim_dynamic.dylib +0 -0
  319. package/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib +0 -0
  320. package/lib/darwin/libclang_rt.osx.a +0 -0
  321. package/lib/darwin/libclang_rt.profile_ios.a +0 -0
  322. package/lib/darwin/libclang_rt.profile_iossim.a +0 -0
  323. package/lib/darwin/libclang_rt.profile_osx.a +0 -0
  324. package/lib/darwin/libclang_rt.rtsan_ios_dynamic.dylib +0 -0
  325. package/lib/darwin/libclang_rt.rtsan_iossim_dynamic.dylib +0 -0
  326. package/lib/darwin/libclang_rt.rtsan_osx_dynamic.dylib +0 -0
  327. package/lib/darwin/libclang_rt.stats_client_ios.a +0 -0
  328. package/lib/darwin/libclang_rt.stats_client_iossim.a +0 -0
  329. package/lib/darwin/libclang_rt.stats_client_osx.a +0 -0
  330. package/lib/darwin/libclang_rt.stats_ios_dynamic.dylib +0 -0
  331. package/lib/darwin/libclang_rt.stats_iossim_dynamic.dylib +0 -0
  332. package/lib/darwin/libclang_rt.stats_osx_dynamic.dylib +0 -0
  333. package/lib/darwin/libclang_rt.tsan_ios_dynamic.dylib +0 -0
  334. package/lib/darwin/libclang_rt.tsan_iossim_dynamic.dylib +0 -0
  335. package/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib +0 -0
  336. package/lib/darwin/libclang_rt.tysan_ios_dynamic.dylib +0 -0
  337. package/lib/darwin/libclang_rt.tysan_iossim_dynamic.dylib +0 -0
  338. package/lib/darwin/libclang_rt.tysan_osx_dynamic.dylib +0 -0
  339. package/lib/darwin/libclang_rt.ubsan_ios_dynamic.dylib +0 -0
  340. package/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
  341. package/lib/darwin/libclang_rt.ubsan_minimal_ios.a +0 -0
  342. package/lib/darwin/libclang_rt.ubsan_minimal_ios_dynamic.dylib +0 -0
  343. package/lib/darwin/libclang_rt.ubsan_minimal_iossim.a +0 -0
  344. package/lib/darwin/libclang_rt.ubsan_minimal_iossim_dynamic.dylib +0 -0
  345. package/lib/darwin/libclang_rt.ubsan_minimal_osx.a +0 -0
  346. package/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib +0 -0
  347. package/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
  348. package/package.json +40 -1
  349. package/share/asan_ignorelist.txt +14 -0
  350. package/share/cfi_ignorelist.txt +17 -0
@@ -0,0 +1,165 @@
1
+ /*===---- __clang_hip_runtime_wrapper.h - HIP runtime support ---------------===
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
+ * WARNING: This header is intended to be directly -include'd by
12
+ * the compiler and is not supposed to be included by users.
13
+ *
14
+ */
15
+
16
+ #ifndef __CLANG_HIP_RUNTIME_WRAPPER_H__
17
+ #define __CLANG_HIP_RUNTIME_WRAPPER_H__
18
+
19
+ #if __HIP__
20
+
21
+ #define __host__ __attribute__((host))
22
+ #define __device__ __attribute__((device))
23
+ #define __global__ __attribute__((global))
24
+ #define __shared__ __attribute__((shared))
25
+ #define __constant__ __attribute__((constant))
26
+ #define __managed__ __attribute__((managed))
27
+
28
+ #define __cluster_dims__(...) __attribute__((cluster_dims(__VA_ARGS__)))
29
+ #define __no_cluster__ __attribute__((no_cluster))
30
+
31
+ #if !defined(__cplusplus) || __cplusplus < 201103L
32
+ #define nullptr NULL;
33
+ #endif
34
+
35
+ #ifdef __cplusplus
36
+ extern "C" {
37
+ __attribute__((__visibility__("default")))
38
+ __attribute__((weak))
39
+ __attribute__((noreturn))
40
+ __device__ void __cxa_pure_virtual(void) {
41
+ __builtin_trap();
42
+ }
43
+ __attribute__((__visibility__("default")))
44
+ __attribute__((weak))
45
+ __attribute__((noreturn))
46
+ __device__ void __cxa_deleted_virtual(void) {
47
+ __builtin_trap();
48
+ }
49
+ }
50
+ #endif //__cplusplus
51
+
52
+ #if !defined(__HIPCC_RTC__)
53
+ #if __has_include("hip/hip_version.h")
54
+ #include "hip/hip_version.h"
55
+ #endif // __has_include("hip/hip_version.h")
56
+ #endif // __HIPCC_RTC__
57
+
58
+ typedef __SIZE_TYPE__ __hip_size_t;
59
+
60
+ #ifdef __cplusplus
61
+ extern "C" {
62
+ #endif //__cplusplus
63
+
64
+ #if HIP_VERSION_MAJOR * 100 + HIP_VERSION_MINOR >= 405
65
+ __device__ unsigned long long __ockl_dm_alloc(unsigned long long __size);
66
+ __device__ void __ockl_dm_dealloc(unsigned long long __addr);
67
+ #if __has_feature(address_sanitizer)
68
+ __device__ unsigned long long __asan_malloc_impl(unsigned long long __size,
69
+ unsigned long long __pc);
70
+ __device__ void __asan_free_impl(unsigned long long __addr,
71
+ unsigned long long __pc);
72
+ __attribute__((noinline, weak)) __device__ void *malloc(__hip_size_t __size) {
73
+ unsigned long long __pc = (unsigned long long)__builtin_return_address(0);
74
+ return (void *)__asan_malloc_impl(__size, __pc);
75
+ }
76
+ __attribute__((noinline, weak)) __device__ void free(void *__ptr) {
77
+ unsigned long long __pc = (unsigned long long)__builtin_return_address(0);
78
+ __asan_free_impl((unsigned long long)__ptr, __pc);
79
+ }
80
+ #else // __has_feature(address_sanitizer)
81
+ __attribute__((weak)) inline __device__ void *malloc(__hip_size_t __size) {
82
+ return (void *) __ockl_dm_alloc(__size);
83
+ }
84
+ __attribute__((weak)) inline __device__ void free(void *__ptr) {
85
+ __ockl_dm_dealloc((unsigned long long)__ptr);
86
+ }
87
+ #endif // __has_feature(address_sanitizer)
88
+ #else // HIP version check
89
+ #if __HIP_ENABLE_DEVICE_MALLOC__
90
+ __device__ void *__hip_malloc(__hip_size_t __size);
91
+ __device__ void *__hip_free(void *__ptr);
92
+ __attribute__((weak)) inline __device__ void *malloc(__hip_size_t __size) {
93
+ return __hip_malloc(__size);
94
+ }
95
+ __attribute__((weak)) inline __device__ void free(void *__ptr) {
96
+ __hip_free(__ptr);
97
+ }
98
+ #else // __HIP_ENABLE_DEVICE_MALLOC__
99
+ __attribute__((weak)) inline __device__ void *malloc(__hip_size_t __size) {
100
+ __builtin_trap();
101
+ return (void *)0;
102
+ }
103
+ __attribute__((weak)) inline __device__ void free(void *__ptr) {
104
+ __builtin_trap();
105
+ }
106
+ #endif // __HIP_ENABLE_DEVICE_MALLOC__
107
+ #endif // HIP version check
108
+
109
+ #ifdef __cplusplus
110
+ } // extern "C"
111
+ #endif //__cplusplus
112
+
113
+ #if !defined(__HIPCC_RTC__)
114
+ #include <cmath>
115
+ #include <cstdlib>
116
+ #include <stdlib.h>
117
+ #if __has_include("hip/hip_version.h")
118
+ #include "hip/hip_version.h"
119
+ #endif // __has_include("hip/hip_version.h")
120
+ #else
121
+ typedef __SIZE_TYPE__ size_t;
122
+ // Define macros which are needed to declare HIP device API's without standard
123
+ // C/C++ headers. This is for readability so that these API's can be written
124
+ // the same way as non-hipRTC use case. These macros need to be popped so that
125
+ // they do not pollute users' name space.
126
+ #pragma push_macro("NULL")
127
+ #pragma push_macro("uint32_t")
128
+ #pragma push_macro("uint64_t")
129
+ #pragma push_macro("CHAR_BIT")
130
+ #pragma push_macro("INT_MAX")
131
+ #pragma push_macro("INT_MIN")
132
+ #define NULL (void *)0
133
+ #define uint32_t __UINT32_TYPE__
134
+ #define uint64_t __UINT64_TYPE__
135
+ #define CHAR_BIT __CHAR_BIT__
136
+ #define INT_MAX __INTMAX_MAX__
137
+ #define INT_MIN (-__INT_MAX__ - 1)
138
+ #endif // __HIPCC_RTC__
139
+
140
+ #include <__clang_hip_libdevice_declares.h>
141
+ #include <__clang_hip_math.h>
142
+ #include <__clang_hip_stdlib.h>
143
+
144
+ #if defined(__HIPCC_RTC__)
145
+ #include <__clang_hip_cmath.h>
146
+ #else
147
+ #include <__clang_cuda_math_forward_declares.h>
148
+ #include <__clang_hip_cmath.h>
149
+ #include <__clang_cuda_complex_builtins.h>
150
+ #include <algorithm>
151
+ #include <complex>
152
+ #include <new>
153
+ #endif // __HIPCC_RTC__
154
+
155
+ #define __CLANG_HIP_RUNTIME_WRAPPER_INCLUDED__ 1
156
+ #if defined(__HIPCC_RTC__)
157
+ #pragma pop_macro("NULL")
158
+ #pragma pop_macro("uint32_t")
159
+ #pragma pop_macro("uint64_t")
160
+ #pragma pop_macro("CHAR_BIT")
161
+ #pragma pop_macro("INT_MAX")
162
+ #pragma pop_macro("INT_MIN")
163
+ #endif // __HIPCC_RTC__
164
+ #endif // __HIP__
165
+ #endif // __CLANG_HIP_RUNTIME_WRAPPER_H__
@@ -0,0 +1,43 @@
1
+ /*===---- __clang_hip_stdlib.h - Device-side HIP math support --------------===
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
+ #ifndef __CLANG_HIP_STDLIB_H__
10
+
11
+ #if !defined(__HIP__) && !defined(__OPENMP_AMDGCN__)
12
+ #error "This file is for HIP and OpenMP AMDGCN device compilation only."
13
+ #endif
14
+
15
+ #if !defined(__cplusplus)
16
+
17
+ #include <limits.h>
18
+
19
+ #ifdef __OPENMP_AMDGCN__
20
+ #define __DEVICE__ static inline __attribute__((always_inline, nothrow))
21
+ #else
22
+ #define __DEVICE__ static __device__ inline __attribute__((always_inline))
23
+ #endif
24
+
25
+ __DEVICE__
26
+ int abs(int __x) {
27
+ int __sgn = __x >> (sizeof(int) * CHAR_BIT - 1);
28
+ return (__x ^ __sgn) - __sgn;
29
+ }
30
+ __DEVICE__
31
+ long labs(long __x) {
32
+ long __sgn = __x >> (sizeof(long) * CHAR_BIT - 1);
33
+ return (__x ^ __sgn) - __sgn;
34
+ }
35
+ __DEVICE__
36
+ long long llabs(long long __x) {
37
+ long long __sgn = __x >> (sizeof(long long) * CHAR_BIT - 1);
38
+ return (__x ^ __sgn) - __sgn;
39
+ }
40
+
41
+ #endif // !defined(__cplusplus)
42
+
43
+ #endif // #define __CLANG_HIP_STDLIB_H__
@@ -0,0 +1,217 @@
1
+ /*===---- spirv_builtin_vars.h - SPIR-V built-in ---------------------------===
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 __SPIRV_BUILTIN_VARS_H
11
+ #define __SPIRV_BUILTIN_VARS_H
12
+
13
+ #if __cplusplus >= 201103L
14
+ #define __SPIRV_NOEXCEPT noexcept
15
+ #else
16
+ #define __SPIRV_NOEXCEPT
17
+ #endif
18
+
19
+ #pragma push_macro("__size_t")
20
+ #pragma push_macro("__uint32_t")
21
+ #pragma push_macro("__uint64_t")
22
+ #define __size_t __SIZE_TYPE__
23
+ #define __uint32_t __UINT32_TYPE__
24
+
25
+ #define __SPIRV_overloadable __attribute__((overloadable))
26
+ #define __SPIRV_convergent __attribute__((convergent))
27
+ #define __SPIRV_inline __attribute__((always_inline))
28
+
29
+ #define __global __attribute__((opencl_global))
30
+ #define __local __attribute__((opencl_local))
31
+ #define __private __attribute__((opencl_private))
32
+ #define __constant __attribute__((opencl_constant))
33
+ #ifdef __SYCL_DEVICE_ONLY__
34
+ #define __generic
35
+ #else
36
+ #define __generic __attribute__((opencl_generic))
37
+ #endif
38
+
39
+ // Check if SPIR-V builtins are supported.
40
+ // As the translator doesn't use the LLVM intrinsics (which would be emitted if
41
+ // we use the SPIR-V builtins) we can't rely on the SPIRV32/SPIRV64 etc macros
42
+ // to establish if we can use the builtin alias. We disable builtin altogether
43
+ // if we do not intent to use the backend. So instead of use target macros, rely
44
+ // on a __has_builtin test.
45
+ #if (__has_builtin(__builtin_spirv_num_workgroups))
46
+ #define __SPIRV_BUILTIN_ALIAS(builtin) \
47
+ __attribute__((clang_builtin_alias(builtin)))
48
+ #else
49
+ #define __SPIRV_BUILTIN_ALIAS(builtin)
50
+ #endif
51
+
52
+ // Builtin IDs and sizes
53
+
54
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_workgroups) __size_t
55
+ __spirv_BuiltInNumWorkgroups(int);
56
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_size) __size_t
57
+ __spirv_BuiltInWorkgroupSize(int);
58
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_id) __size_t
59
+ __spirv_BuiltInWorkgroupId(int);
60
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_local_invocation_id) __size_t
61
+ __spirv_BuiltInLocalInvocationId(int);
62
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_invocation_id) __size_t
63
+ __spirv_BuiltInGlobalInvocationId(int);
64
+
65
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_size) __size_t
66
+ __spirv_BuiltInGlobalSize(int);
67
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_offset) __size_t
68
+ __spirv_BuiltInGlobalOffset(int);
69
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_size) __uint32_t
70
+ __spirv_BuiltInSubgroupSize();
71
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_max_size) __uint32_t
72
+ __spirv_BuiltInSubgroupMaxSize();
73
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_subgroups) __uint32_t
74
+ __spirv_BuiltInNumSubgroups();
75
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_id) __uint32_t
76
+ __spirv_BuiltInSubgroupId();
77
+ extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_local_invocation_id)
78
+ __uint32_t __spirv_BuiltInSubgroupLocalInvocationId();
79
+
80
+ // OpGenericCastToPtrExplicit
81
+
82
+ extern __SPIRV_overloadable
83
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
84
+ __global void *__spirv_GenericCastToPtrExplicit_ToGlobal(__generic void *,
85
+ int) __SPIRV_NOEXCEPT;
86
+ extern __SPIRV_overloadable
87
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
88
+ __global const void *
89
+ __spirv_GenericCastToPtrExplicit_ToGlobal(__generic const void *,
90
+ int) __SPIRV_NOEXCEPT;
91
+ extern __SPIRV_overloadable
92
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
93
+ __global volatile void *
94
+ __spirv_GenericCastToPtrExplicit_ToGlobal(__generic volatile void *,
95
+ int) __SPIRV_NOEXCEPT;
96
+ extern __SPIRV_overloadable
97
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
98
+ __global const volatile void *
99
+ __spirv_GenericCastToPtrExplicit_ToGlobal(__generic const volatile void *,
100
+ int) __SPIRV_NOEXCEPT;
101
+ extern __SPIRV_overloadable
102
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
103
+ __local void *__spirv_GenericCastToPtrExplicit_ToLocal(__generic void *,
104
+ int) __SPIRV_NOEXCEPT;
105
+ extern __SPIRV_overloadable
106
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
107
+ __local const void *
108
+ __spirv_GenericCastToPtrExplicit_ToLocal(__generic const void *,
109
+ int) __SPIRV_NOEXCEPT;
110
+ extern __SPIRV_overloadable
111
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
112
+ __local volatile void *
113
+ __spirv_GenericCastToPtrExplicit_ToLocal(__generic volatile void *,
114
+ int) __SPIRV_NOEXCEPT;
115
+ extern __SPIRV_overloadable
116
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
117
+ __local const volatile void *
118
+ __spirv_GenericCastToPtrExplicit_ToLocal(__generic const volatile void *,
119
+ int) __SPIRV_NOEXCEPT;
120
+ extern __SPIRV_overloadable
121
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
122
+ __private void *
123
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic void *,
124
+ int) __SPIRV_NOEXCEPT;
125
+ extern __SPIRV_overloadable
126
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
127
+ __private const void *
128
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic const void *,
129
+ int) __SPIRV_NOEXCEPT;
130
+ extern __SPIRV_overloadable
131
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
132
+ __private volatile void *
133
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic volatile void *,
134
+ int) __SPIRV_NOEXCEPT;
135
+ extern __SPIRV_overloadable
136
+ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit)
137
+ __private const volatile void *
138
+ __spirv_GenericCastToPtrExplicit_ToPrivate(__generic const volatile void *,
139
+ int) __SPIRV_NOEXCEPT;
140
+
141
+ // OpGenericCastToPtr
142
+
143
+ static __SPIRV_overloadable __SPIRV_inline __global void *
144
+ __spirv_GenericCastToPtr_ToGlobal(__generic void *p, int) __SPIRV_NOEXCEPT {
145
+ return (__global void *)p;
146
+ }
147
+ static __SPIRV_overloadable __SPIRV_inline __global const void *
148
+ __spirv_GenericCastToPtr_ToGlobal(__generic const void *p,
149
+ int) __SPIRV_NOEXCEPT {
150
+ return (__global const void *)p;
151
+ }
152
+ static __SPIRV_overloadable __SPIRV_inline __global volatile void *
153
+ __spirv_GenericCastToPtr_ToGlobal(__generic volatile void *p,
154
+ int) __SPIRV_NOEXCEPT {
155
+ return (__global volatile void *)p;
156
+ }
157
+ static __SPIRV_overloadable __SPIRV_inline __global const volatile void *
158
+ __spirv_GenericCastToPtr_ToGlobal(__generic const volatile void *p,
159
+ int) __SPIRV_NOEXCEPT {
160
+ return (__global const volatile void *)p;
161
+ }
162
+ static __SPIRV_overloadable __SPIRV_inline __local void *
163
+ __spirv_GenericCastToPtr_ToLocal(__generic void *p, int) __SPIRV_NOEXCEPT {
164
+ return (__local void *)p;
165
+ }
166
+ static __SPIRV_overloadable __SPIRV_inline __local const void *
167
+ __spirv_GenericCastToPtr_ToLocal(__generic const void *p,
168
+ int) __SPIRV_NOEXCEPT {
169
+ return (__local const void *)p;
170
+ }
171
+ static __SPIRV_overloadable __SPIRV_inline __local volatile void *
172
+ __spirv_GenericCastToPtr_ToLocal(__generic volatile void *p,
173
+ int) __SPIRV_NOEXCEPT {
174
+ return (__local volatile void *)p;
175
+ }
176
+ static __SPIRV_overloadable __SPIRV_inline __local const volatile void *
177
+ __spirv_GenericCastToPtr_ToLocal(__generic const volatile void *p,
178
+ int) __SPIRV_NOEXCEPT {
179
+ return (__local const volatile void *)p;
180
+ }
181
+ static __SPIRV_overloadable __SPIRV_inline __private void *
182
+ __spirv_GenericCastToPtr_ToPrivate(__generic void *p, int) __SPIRV_NOEXCEPT {
183
+ return (__private void *)p;
184
+ }
185
+ static __SPIRV_overloadable __SPIRV_inline __private const void *
186
+ __spirv_GenericCastToPtr_ToPrivate(__generic const void *p,
187
+ int) __SPIRV_NOEXCEPT {
188
+ return (__private const void *)p;
189
+ }
190
+ static __SPIRV_overloadable __SPIRV_inline __private volatile void *
191
+ __spirv_GenericCastToPtr_ToPrivate(__generic volatile void *p,
192
+ int) __SPIRV_NOEXCEPT {
193
+ return (__private volatile void *)p;
194
+ }
195
+ static __SPIRV_overloadable __SPIRV_inline __private const volatile void *
196
+ __spirv_GenericCastToPtr_ToPrivate(__generic const volatile void *p,
197
+ int) __SPIRV_NOEXCEPT {
198
+ return (__private const volatile void *)p;
199
+ }
200
+
201
+ #pragma pop_macro("__size_t")
202
+ #pragma pop_macro("__uint32_t")
203
+ #pragma pop_macro("__uint64_t")
204
+
205
+ #undef __SPIRV_overloadable
206
+ #undef __SPIRV_convergent
207
+ #undef __SPIRV_inline
208
+
209
+ #undef __global
210
+ #undef __local
211
+ #undef __constant
212
+ #undef __generic
213
+
214
+ #undef __SPIRV_BUILTIN_ALIAS
215
+ #undef __SPIRV_NOEXCEPT
216
+
217
+ #endif /* __SPIRV_BUILTIN_VARS_H */
@@ -0,0 +1,176 @@
1
+ /*===---- __float_float.h --------------------------------------------------===
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 __CLANG_FLOAT_FLOAT_H
11
+ #define __CLANG_FLOAT_FLOAT_H
12
+
13
+ #if (defined(__MINGW32__) || defined(_MSC_VER) || defined(_AIX)) && \
14
+ __STDC_HOSTED__
15
+
16
+ /* Undefine anything that we'll be redefining below. */
17
+ # undef FLT_EVAL_METHOD
18
+ # undef FLT_ROUNDS
19
+ # undef FLT_RADIX
20
+ # undef FLT_MANT_DIG
21
+ # undef DBL_MANT_DIG
22
+ # undef LDBL_MANT_DIG
23
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
24
+ !defined(__STRICT_ANSI__) || \
25
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
26
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
27
+ # undef DECIMAL_DIG
28
+ # endif
29
+ # undef FLT_DIG
30
+ # undef DBL_DIG
31
+ # undef LDBL_DIG
32
+ # undef FLT_MIN_EXP
33
+ # undef DBL_MIN_EXP
34
+ # undef LDBL_MIN_EXP
35
+ # undef FLT_MIN_10_EXP
36
+ # undef DBL_MIN_10_EXP
37
+ # undef LDBL_MIN_10_EXP
38
+ # undef FLT_MAX_EXP
39
+ # undef DBL_MAX_EXP
40
+ # undef LDBL_MAX_EXP
41
+ # undef FLT_MAX_10_EXP
42
+ # undef DBL_MAX_10_EXP
43
+ # undef LDBL_MAX_10_EXP
44
+ # undef FLT_MAX
45
+ # undef DBL_MAX
46
+ # undef LDBL_MAX
47
+ # undef FLT_EPSILON
48
+ # undef DBL_EPSILON
49
+ # undef LDBL_EPSILON
50
+ # undef FLT_MIN
51
+ # undef DBL_MIN
52
+ # undef LDBL_MIN
53
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
54
+ !defined(__STRICT_ANSI__) || \
55
+ (defined(__cplusplus) && __cplusplus >= 201703L) || \
56
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
57
+ # undef FLT_TRUE_MIN
58
+ # undef DBL_TRUE_MIN
59
+ # undef LDBL_TRUE_MIN
60
+ # undef FLT_DECIMAL_DIG
61
+ # undef DBL_DECIMAL_DIG
62
+ # undef LDBL_DECIMAL_DIG
63
+ # undef FLT_HAS_SUBNORM
64
+ # undef DBL_HAS_SUBNORM
65
+ # undef LDBL_HAS_SUBNORM
66
+ # endif
67
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
68
+ !defined(__STRICT_ANSI__)
69
+ # undef FLT_NORM_MAX
70
+ # undef DBL_NORM_MAX
71
+ # undef LDBL_NORM_MAX
72
+ #endif
73
+ #endif
74
+
75
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
76
+ !defined(__STRICT_ANSI__)
77
+ # undef FLT_SNAN
78
+ # undef DBL_SNAN
79
+ # undef LDBL_SNAN
80
+ #endif
81
+
82
+ /* Characteristics of floating point types, C99 5.2.4.2.2 */
83
+
84
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
85
+ (defined(__cplusplus) && __cplusplus >= 201103L)
86
+ #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
87
+ #endif
88
+ #define FLT_ROUNDS (__builtin_flt_rounds())
89
+ #define FLT_RADIX __FLT_RADIX__
90
+
91
+ #define FLT_MANT_DIG __FLT_MANT_DIG__
92
+ #define DBL_MANT_DIG __DBL_MANT_DIG__
93
+ #define LDBL_MANT_DIG __LDBL_MANT_DIG__
94
+
95
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
96
+ !defined(__STRICT_ANSI__) || \
97
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
98
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
99
+ # define DECIMAL_DIG __DECIMAL_DIG__
100
+ #endif
101
+
102
+ #define FLT_DIG __FLT_DIG__
103
+ #define DBL_DIG __DBL_DIG__
104
+ #define LDBL_DIG __LDBL_DIG__
105
+
106
+ #define FLT_MIN_EXP __FLT_MIN_EXP__
107
+ #define DBL_MIN_EXP __DBL_MIN_EXP__
108
+ #define LDBL_MIN_EXP __LDBL_MIN_EXP__
109
+
110
+ #define FLT_MIN_10_EXP __FLT_MIN_10_EXP__
111
+ #define DBL_MIN_10_EXP __DBL_MIN_10_EXP__
112
+ #define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
113
+
114
+ #define FLT_MAX_EXP __FLT_MAX_EXP__
115
+ #define DBL_MAX_EXP __DBL_MAX_EXP__
116
+ #define LDBL_MAX_EXP __LDBL_MAX_EXP__
117
+
118
+ #define FLT_MAX_10_EXP __FLT_MAX_10_EXP__
119
+ #define DBL_MAX_10_EXP __DBL_MAX_10_EXP__
120
+ #define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
121
+
122
+ #define FLT_MAX __FLT_MAX__
123
+ #define DBL_MAX __DBL_MAX__
124
+ #define LDBL_MAX __LDBL_MAX__
125
+
126
+ #define FLT_EPSILON __FLT_EPSILON__
127
+ #define DBL_EPSILON __DBL_EPSILON__
128
+ #define LDBL_EPSILON __LDBL_EPSILON__
129
+
130
+ #define FLT_MIN __FLT_MIN__
131
+ #define DBL_MIN __DBL_MIN__
132
+ #define LDBL_MIN __LDBL_MIN__
133
+
134
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
135
+ !defined(__STRICT_ANSI__) || \
136
+ (defined(__cplusplus) && __cplusplus >= 201703L) || \
137
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
138
+ # define FLT_TRUE_MIN __FLT_DENORM_MIN__
139
+ # define DBL_TRUE_MIN __DBL_DENORM_MIN__
140
+ # define LDBL_TRUE_MIN __LDBL_DENORM_MIN__
141
+ # define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__
142
+ # define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__
143
+ # define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__
144
+ # define FLT_HAS_SUBNORM __FLT_HAS_DENORM__
145
+ # define DBL_HAS_SUBNORM __DBL_HAS_DENORM__
146
+ # define LDBL_HAS_SUBNORM __LDBL_HAS_DENORM__
147
+ #endif
148
+
149
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
150
+ !defined(__STRICT_ANSI__)
151
+ /* C23 5.2.5.3.2p28 */
152
+ # define FLT_SNAN (__builtin_nansf(""))
153
+ # define DBL_SNAN (__builtin_nans(""))
154
+ # define LDBL_SNAN (__builtin_nansl(""))
155
+
156
+ /* C23 5.2.5.3.3p32 */
157
+ # define FLT_NORM_MAX __FLT_NORM_MAX__
158
+ # define DBL_NORM_MAX __DBL_NORM_MAX__
159
+ # define LDBL_NORM_MAX __LDBL_NORM_MAX__
160
+ #endif
161
+
162
+ #ifdef __STDC_WANT_IEC_60559_TYPES_EXT__
163
+ # define FLT16_MANT_DIG __FLT16_MANT_DIG__
164
+ # define FLT16_DECIMAL_DIG __FLT16_DECIMAL_DIG__
165
+ # define FLT16_DIG __FLT16_DIG__
166
+ # define FLT16_MIN_EXP __FLT16_MIN_EXP__
167
+ # define FLT16_MIN_10_EXP __FLT16_MIN_10_EXP__
168
+ # define FLT16_MAX_EXP __FLT16_MAX_EXP__
169
+ # define FLT16_MAX_10_EXP __FLT16_MAX_10_EXP__
170
+ # define FLT16_MAX __FLT16_MAX__
171
+ # define FLT16_EPSILON __FLT16_EPSILON__
172
+ # define FLT16_MIN __FLT16_MIN__
173
+ # define FLT16_TRUE_MIN __FLT16_TRUE_MIN__
174
+ #endif /* __STDC_WANT_IEC_60559_TYPES_EXT__ */
175
+
176
+ #endif /* __CLANG_FLOAT_FLOAT_H */
@@ -0,0 +1,12 @@
1
+ /*===---- __float_header_macro.h -------------------------------------------===
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 __CLANG_FLOAT_H
11
+ #define __CLANG_FLOAT_H
12
+ #endif /* __CLANG_FLOAT_H */
@@ -0,0 +1,20 @@
1
+ /*===---- __float_infinity_nan.h -------------------------------------------===
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 __CLANG_FLOAT_INFINITY_NAN_H
11
+ #define __CLANG_FLOAT_INFINITY_NAN_H
12
+
13
+ /* C23 5.2.5.3.3p29-30 */
14
+ #undef INFINITY
15
+ #undef NAN
16
+
17
+ #define INFINITY (__builtin_inff())
18
+ #define NAN (__builtin_nanf(""))
19
+
20
+ #endif /* __CLANG_FLOAT_INFINITY_NAN_H */
@@ -0,0 +1,13 @@
1
+ /*===---- __stdarg___gnuc_va_list.h - Definition of __gnuc_va_list ---------===
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 __GNUC_VA_LIST
11
+ #define __GNUC_VA_LIST
12
+ typedef __builtin_va_list __gnuc_va_list;
13
+ #endif
@@ -0,0 +1,12 @@
1
+ /*===---- __stdarg___va_copy.h - Definition of __va_copy -------------------===
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 __va_copy
11
+ #define __va_copy(d, s) __builtin_va_copy(d, s)
12
+ #endif
@@ -0,0 +1,12 @@
1
+ /*===---- __stdarg_header_macro.h ------------------------------------------===
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 __STDARG_H
11
+ #define __STDARG_H
12
+ #endif