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,133 @@
1
+ /*===---- limits.h - Standard header for integer sizes --------------------===*\
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_LIMITS_H
10
+ #define __CLANG_LIMITS_H
11
+
12
+ #if defined(__MVS__) && __has_include_next(<limits.h>)
13
+ #include_next <limits.h>
14
+ #else
15
+
16
+ /* The system's limits.h may, in turn, try to #include_next GCC's limits.h.
17
+ Avert this #include_next madness. */
18
+ #if defined __GNUC__ && !defined _GCC_LIMITS_H_
19
+ #define _GCC_LIMITS_H_
20
+ #endif
21
+
22
+ /* System headers include a number of constants from POSIX in <limits.h>.
23
+ Include it if we're hosted. */
24
+ #if __STDC_HOSTED__ && __has_include_next(<limits.h>)
25
+ #include_next <limits.h>
26
+ #endif
27
+
28
+ /* Many system headers try to "help us out" by defining these. No really, we
29
+ know how big each datatype is. */
30
+ #undef SCHAR_MIN
31
+ #undef SCHAR_MAX
32
+ #undef UCHAR_MAX
33
+ #undef SHRT_MIN
34
+ #undef SHRT_MAX
35
+ #undef USHRT_MAX
36
+ #undef INT_MIN
37
+ #undef INT_MAX
38
+ #undef UINT_MAX
39
+ #undef LONG_MIN
40
+ #undef LONG_MAX
41
+ #undef ULONG_MAX
42
+
43
+ #undef CHAR_BIT
44
+ #undef CHAR_MIN
45
+ #undef CHAR_MAX
46
+
47
+ /* C90/99 5.2.4.2.1 */
48
+ #define SCHAR_MAX __SCHAR_MAX__
49
+ #define SHRT_MAX __SHRT_MAX__
50
+ #define INT_MAX __INT_MAX__
51
+ #define LONG_MAX __LONG_MAX__
52
+
53
+ #define SCHAR_MIN (-__SCHAR_MAX__-1)
54
+ #define SHRT_MIN (-__SHRT_MAX__ -1)
55
+ #define INT_MIN (-__INT_MAX__ -1)
56
+ #define LONG_MIN (-__LONG_MAX__ -1L)
57
+
58
+ #define UCHAR_MAX (__SCHAR_MAX__*2 +1)
59
+ #if __SHRT_WIDTH__ < __INT_WIDTH__
60
+ #define USHRT_MAX (__SHRT_MAX__ * 2 + 1)
61
+ #else
62
+ #define USHRT_MAX (__SHRT_MAX__ * 2U + 1U)
63
+ #endif
64
+ #define UINT_MAX (__INT_MAX__ *2U +1U)
65
+ #define ULONG_MAX (__LONG_MAX__ *2UL+1UL)
66
+
67
+ #ifndef MB_LEN_MAX
68
+ #define MB_LEN_MAX 1
69
+ #endif
70
+
71
+ #define CHAR_BIT __CHAR_BIT__
72
+
73
+ /* C23 5.2.4.2.1 */
74
+ #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
75
+ #define BOOL_WIDTH __BOOL_WIDTH__
76
+ #define CHAR_WIDTH CHAR_BIT
77
+ #define SCHAR_WIDTH CHAR_BIT
78
+ #define UCHAR_WIDTH CHAR_BIT
79
+ #define USHRT_WIDTH __SHRT_WIDTH__
80
+ #define SHRT_WIDTH __SHRT_WIDTH__
81
+ #define UINT_WIDTH __INT_WIDTH__
82
+ #define INT_WIDTH __INT_WIDTH__
83
+ #define ULONG_WIDTH __LONG_WIDTH__
84
+ #define LONG_WIDTH __LONG_WIDTH__
85
+ #define ULLONG_WIDTH __LLONG_WIDTH__
86
+ #define LLONG_WIDTH __LLONG_WIDTH__
87
+
88
+ #define BITINT_MAXWIDTH __BITINT_MAXWIDTH__
89
+ #endif
90
+
91
+ #ifdef __CHAR_UNSIGNED__ /* -funsigned-char */
92
+ #define CHAR_MIN 0
93
+ #define CHAR_MAX UCHAR_MAX
94
+ #else
95
+ #define CHAR_MIN SCHAR_MIN
96
+ #define CHAR_MAX __SCHAR_MAX__
97
+ #endif
98
+
99
+ /* C99 5.2.4.2.1: Added long long.
100
+ C++11 18.3.3.2: same contents as the Standard C Library header <limits.h>.
101
+ */
102
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
103
+ (defined(__cplusplus) && __cplusplus >= 201103L)
104
+
105
+ #undef LLONG_MIN
106
+ #undef LLONG_MAX
107
+ #undef ULLONG_MAX
108
+
109
+ #define LLONG_MAX __LONG_LONG_MAX__
110
+ #define LLONG_MIN (-__LONG_LONG_MAX__-1LL)
111
+ #define ULLONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
112
+ #endif
113
+
114
+ /* LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. Android's
115
+ bionic also defines them. It's too bad that we don't have something like
116
+ #pragma poison that could be used to deprecate a macro - the code should just
117
+ use LLONG_MAX and friends.
118
+ */
119
+ #if (defined(__GNU_LIBRARY__) ? defined(__USE_GNU) \
120
+ : !defined(__STRICT_ANSI__)) || \
121
+ defined(__BIONIC__)
122
+
123
+ #undef LONG_LONG_MIN
124
+ #undef LONG_LONG_MAX
125
+ #undef ULONG_LONG_MAX
126
+
127
+ #define LONG_LONG_MAX __LONG_LONG_MAX__
128
+ #define LONG_LONG_MIN (-__LONG_LONG_MAX__-1LL)
129
+ #define ULONG_LONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
130
+ #endif
131
+
132
+ #endif /* __MVS__ */
133
+ #endif /* __CLANG_LIMITS_H */
@@ -0,0 +1,32 @@
1
+ //===-- Wrapper for C standard assert.h declarations on the GPU -*- C++ -*-===//
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_LLVM_LIBC_WRAPPERS_ASSERT_H__
10
+ #define __CLANG_LLVM_LIBC_WRAPPERS_ASSERT_H__
11
+
12
+ #if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
13
+ #error "This file is for GPU offloading compilation only"
14
+ #endif
15
+
16
+ #include_next <assert.h>
17
+
18
+ #if __has_include(<llvm-libc-decls/assert.h>)
19
+
20
+ #if defined(__HIP__) || defined(__CUDA__)
21
+ #define __LIBC_ATTRS __attribute__((device))
22
+ #else
23
+ #define __LIBC_ATTRS
24
+ #endif
25
+
26
+ // TODO: Define these for CUDA / HIP.
27
+
28
+ #undef __LIBC_ATTRS
29
+
30
+ #endif
31
+
32
+ #endif // __CLANG_LLVM_LIBC_WRAPPERS_ASSERT_H__
@@ -0,0 +1,28 @@
1
+ //===-- Wrapper for C standard ctype.h declarations on the GPU ------------===//
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_LLVM_LIBC_WRAPPERS_CTYPE_H__
10
+ #define __CLANG_LLVM_LIBC_WRAPPERS_CTYPE_H__
11
+
12
+ #if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
13
+ #error "This file is for GPU offloading compilation only"
14
+ #endif
15
+
16
+ #include_next <ctype.h>
17
+
18
+ #if defined(__HIP__) || defined(__CUDA__)
19
+ #define __LIBC_ATTRS __attribute__((device))
20
+ #else
21
+ #define __LIBC_ATTRS
22
+ #endif
23
+
24
+ // TODO: Define these for CUDA / HIP.
25
+
26
+ #undef __LIBC_ATTRS
27
+
28
+ #endif // __CLANG_LLVM_LIBC_WRAPPERS_CTYPE_H__
@@ -0,0 +1,32 @@
1
+ //===-- Wrapper for C standard inttypes.h declarations on the GPU ---------===//
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_LLVM_LIBC_WRAPPERS_INTTYPES_H__
10
+ #define __CLANG_LLVM_LIBC_WRAPPERS_INTTYPES_H__
11
+
12
+ #if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
13
+ #error "This file is for GPU offloading compilation only"
14
+ #endif
15
+
16
+ #include_next <inttypes.h>
17
+
18
+ #if __has_include(<llvm-libc-decls/inttypes.h>)
19
+
20
+ #if defined(__HIP__) || defined(__CUDA__)
21
+ #define __LIBC_ATTRS __attribute__((device))
22
+ #else
23
+ #define __LIBC_ATTRS
24
+ #endif
25
+
26
+ // TODO: Define these for CUDA / HIP.
27
+
28
+ #undef __LIBC_ATTRS
29
+
30
+ #endif
31
+
32
+ #endif // __CLANG_LLVM_LIBC_WRAPPERS_INTTYPES_H__
@@ -0,0 +1,52 @@
1
+ //===-- Wrapper for C standard stdio.h declarations on the GPU ------------===//
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_LLVM_LIBC_WRAPPERS_STDIO_H__
10
+ #define __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
11
+
12
+ #if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
13
+ #error "This file is for GPU offloading compilation only"
14
+ #endif
15
+
16
+ #include_next <stdio.h>
17
+
18
+ #if defined(__HIP__) || defined(__CUDA__)
19
+ #define __LIBC_ATTRS __attribute__((device))
20
+ #else
21
+ #define __LIBC_ATTRS
22
+ #endif
23
+
24
+ // Some headers provide these as macros. Temporarily undefine them so they do
25
+ // not conflict with any definitions for the GPU.
26
+
27
+ #pragma push_macro("stdout")
28
+ #pragma push_macro("stdin")
29
+ #pragma push_macro("stderr")
30
+
31
+ #undef stdout
32
+ #undef stderr
33
+ #undef stdin
34
+
35
+ #pragma omp begin declare target
36
+
37
+ __LIBC_ATTRS extern FILE *stderr;
38
+ __LIBC_ATTRS extern FILE *stdin;
39
+ __LIBC_ATTRS extern FILE *stdout;
40
+
41
+ #pragma omp end declare target
42
+
43
+ // Restore the original macros when compiling on the host.
44
+ #if !defined(__NVPTX__) && !defined(__AMDGPU__)
45
+ #pragma pop_macro("stderr")
46
+ #pragma pop_macro("stdin")
47
+ #pragma pop_macro("stdout")
48
+ #endif
49
+
50
+ #undef __LIBC_ATTRS
51
+
52
+ #endif // __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
@@ -0,0 +1,32 @@
1
+ //===-- Wrapper for C standard stdlib.h declarations on the GPU -----------===//
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_LLVM_LIBC_WRAPPERS_STDLIB_H__
10
+ #define __CLANG_LLVM_LIBC_WRAPPERS_STDLIB_H__
11
+
12
+ #if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
13
+ #error "This file is for GPU offloading compilation only"
14
+ #endif
15
+
16
+ #include_next <stdlib.h>
17
+
18
+ #if defined(__HIP__) || defined(__CUDA__)
19
+ #define __LIBC_ATTRS __attribute__((device))
20
+ #else
21
+ #define __LIBC_ATTRS
22
+ #endif
23
+
24
+ #pragma omp begin declare target
25
+
26
+ // TODO: Define these for CUDA / HIP.
27
+
28
+ #pragma omp end declare target
29
+
30
+ #undef __LIBC_ATTRS
31
+
32
+ #endif // __CLANG_LLVM_LIBC_WRAPPERS_STDLIB_H__
@@ -0,0 +1,28 @@
1
+ //===-- Wrapper for C standard string.h declarations on the GPU -----------===//
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_LLVM_LIBC_WRAPPERS_STRING_H__
10
+ #define __CLANG_LLVM_LIBC_WRAPPERS_STRING_H__
11
+
12
+ #if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
13
+ #error "This file is for GPU offloading compilation only"
14
+ #endif
15
+
16
+ #include_next <string.h>
17
+
18
+ #if defined(__HIP__) || defined(__CUDA__)
19
+ #define __LIBC_ATTRS __attribute__((device))
20
+ #else
21
+ #define __LIBC_ATTRS
22
+ #endif
23
+
24
+ // TODO: Define these for CUDA / HIP.
25
+
26
+ #undef __LIBC_ATTRS
27
+
28
+ #endif // __CLANG_LLVM_LIBC_WRAPPERS_STRING_H__
@@ -0,0 +1,28 @@
1
+ //===-- Wrapper for C standard time.h declarations on the GPU -------------===//
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_LLVM_LIBC_WRAPPERS_TIME_H__
10
+ #define __CLANG_LLVM_LIBC_WRAPPERS_TIME_H__
11
+
12
+ #if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
13
+ #error "This file is for GPU offloading compilation only"
14
+ #endif
15
+
16
+ #include_next <time.h>
17
+
18
+ #if defined(__HIP__) || defined(__CUDA__)
19
+ #define __LIBC_ATTRS __attribute__((device))
20
+ #else
21
+ #define __LIBC_ATTRS
22
+ #endif
23
+
24
+ // TODO: Define these for CUDA / HIP.
25
+
26
+ #undef __LIBC_ATTRS
27
+
28
+ #endif // __CLANG_LLVM_LIBC_WRAPPERS_TIME_H__
@@ -0,0 +1,31 @@
1
+ /*===------ LLVM/Offload helpers for kernel languages (CUDA/HIP) -*- c++ -*-===
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
+ #include <stddef.h>
11
+
12
+ #define __host__ __attribute__((host))
13
+ #define __device__ __attribute__((device))
14
+ #define __global__ __attribute__((global))
15
+ #define __shared__ __attribute__((shared))
16
+ #define __constant__ __attribute__((constant))
17
+ #define __managed__ __attribute__((managed))
18
+
19
+ extern "C" {
20
+
21
+ typedef struct dim3 {
22
+ dim3() {}
23
+ dim3(unsigned x) : x(x) {}
24
+ unsigned x = 0, y = 0, z = 0;
25
+ } dim3;
26
+
27
+ // TODO: For some reason the CUDA device compilation requires this declaration
28
+ // to be present on the device while it is only used on the host.
29
+ unsigned __llvmPushCallConfiguration(dim3 gridDim, dim3 blockDim,
30
+ size_t sharedMem = 0, void *stream = 0);
31
+ }
@@ -0,0 +1,10 @@
1
+ /*===------ LLVM/Offload helpers for kernel languages (CUDA/HIP) -*- c++ -*-===
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
+ #include "__llvm_offload.h"
@@ -0,0 +1,15 @@
1
+ /*===------ LLVM/Offload helpers for kernel languages (CUDA/HIP) -*- c++ -*-===
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
+ #include "__llvm_offload.h"
11
+
12
+ extern "C" {
13
+ unsigned llvmLaunchKernel(const void *func, dim3 gridDim, dim3 blockDim,
14
+ void **args, size_t sharedMem = 0, void *stream = 0);
15
+ }