koffi 0.9.2 → 0.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/CMakeLists.txt +60 -60
  2. package/README.md +163 -153
  3. package/package.json +19 -18
  4. package/src/call.hh +27 -27
  5. package/src/call_arm64.cc +482 -482
  6. package/src/call_arm64_fwd.S +115 -115
  7. package/src/call_x64_sysv.cc +477 -477
  8. package/src/call_x64_sysv_fwd.S +131 -131
  9. package/src/call_x64_win.cc +243 -243
  10. package/src/call_x64_win_fwd.asm +105 -105
  11. package/src/call_x86.cc +259 -259
  12. package/src/call_x86_fwd.S +48 -48
  13. package/src/call_x86_fwd.asm +50 -50
  14. package/src/ffi.cc +504 -504
  15. package/src/ffi.hh +135 -135
  16. package/src/util.cc +296 -296
  17. package/src/util.hh +80 -80
  18. package/vendor/dragonbox/CMakeLists.txt +122 -122
  19. package/vendor/dragonbox/LICENSE-Apache2-LLVM +218 -218
  20. package/vendor/dragonbox/LICENSE-Boost +23 -23
  21. package/vendor/dragonbox/README.md +277 -277
  22. package/vendor/dragonbox/cmake/dragonboxConfig.cmake +1 -1
  23. package/vendor/dragonbox/include/dragonbox/dragonbox.h +2670 -2670
  24. package/vendor/dragonbox/include/dragonbox/dragonbox_to_chars.h +108 -108
  25. package/vendor/dragonbox/other_files/unknown_win64_vc2019.html +539 -539
  26. package/vendor/dragonbox/source/dragonbox_to_chars.cpp +303 -303
  27. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/CMakeLists.txt +23 -23
  28. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.cpp +238 -238
  29. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.h +95 -95
  30. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/grisu_exact.h +2666 -2666
  31. package/vendor/dragonbox/subproject/3rdparty/ryu/CMakeLists.txt +16 -16
  32. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/common.h +114 -114
  33. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s.c +509 -509
  34. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_full_table.h +367 -367
  35. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_intrinsics.h +357 -357
  36. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/digit_table.h +35 -35
  37. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s.c +345 -345
  38. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_full_table.h +55 -55
  39. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_intrinsics.h +128 -128
  40. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/ryu.h +46 -46
  41. package/vendor/dragonbox/subproject/3rdparty/schubfach/CMakeLists.txt +21 -21
  42. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.cc +699 -699
  43. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.h +31 -31
  44. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.cc +1354 -1354
  45. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.h +31 -31
  46. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/example_shaded_plots.m +68 -68
  47. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/license.txt +25 -25
  48. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution.m +92 -92
  49. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution_prctile.m +121 -121
  50. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_histogram_shaded.m +99 -99
  51. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_shaded.m +93 -93
  52. package/vendor/dragonbox/subproject/benchmark/CMakeLists.txt +64 -64
  53. package/vendor/dragonbox/subproject/benchmark/include/benchmark.h +40 -40
  54. package/vendor/dragonbox/subproject/benchmark/matlab/plot_benchmarks.m +21 -21
  55. package/vendor/dragonbox/subproject/benchmark/matlab/plot_digit_benchmark.m +78 -78
  56. package/vendor/dragonbox/subproject/benchmark/matlab/plot_uniform_benchmark.m +95 -95
  57. package/vendor/dragonbox/subproject/benchmark/source/benchmark.cpp +237 -237
  58. package/vendor/dragonbox/subproject/benchmark/source/dragonbox.cpp +30 -30
  59. package/vendor/dragonbox/subproject/benchmark/source/grisu_exact.cpp +36 -36
  60. package/vendor/dragonbox/subproject/benchmark/source/ryu.cpp +27 -27
  61. package/vendor/dragonbox/subproject/benchmark/source/schubfach.cpp +31 -31
  62. package/vendor/dragonbox/subproject/common/CMakeLists.txt +41 -41
  63. package/vendor/dragonbox/subproject/common/include/best_rational_approx.h +96 -96
  64. package/vendor/dragonbox/subproject/common/include/big_uint.h +217 -217
  65. package/vendor/dragonbox/subproject/common/include/continued_fractions.h +173 -173
  66. package/vendor/dragonbox/subproject/common/include/good_rational_approx.h +266 -266
  67. package/vendor/dragonbox/subproject/common/include/random_float.h +182 -182
  68. package/vendor/dragonbox/subproject/common/include/rational_continued_fractions.h +56 -56
  69. package/vendor/dragonbox/subproject/common/source/big_uint.cpp +601 -601
  70. package/vendor/dragonbox/subproject/meta/CMakeLists.txt +40 -40
  71. package/vendor/dragonbox/subproject/meta/results/binary32_generated_cache.txt +81 -81
  72. package/vendor/dragonbox/subproject/meta/results/binary64_compressed_cache_error_table.txt +9 -9
  73. package/vendor/dragonbox/subproject/meta/results/binary64_generated_cache.txt +622 -622
  74. package/vendor/dragonbox/subproject/meta/source/generate_cache.cpp +126 -126
  75. package/vendor/dragonbox/subproject/meta/source/live_test.cpp +81 -81
  76. package/vendor/dragonbox/subproject/meta/source/perf_test.cpp +104 -104
  77. package/vendor/dragonbox/subproject/meta/source/sandbox.cpp +20 -20
  78. package/vendor/dragonbox/subproject/test/CMakeLists.txt +69 -69
  79. package/vendor/dragonbox/subproject/test/results/binary32.csv +255 -255
  80. package/vendor/dragonbox/subproject/test/results/binary64.csv +2047 -2047
  81. package/vendor/dragonbox/subproject/test/results/plot_required_bits.m +17 -17
  82. package/vendor/dragonbox/subproject/test/source/test_all_shorter_interval_cases.cpp +88 -88
  83. package/vendor/dragonbox/subproject/test/source/uniform_random_test.cpp +95 -95
  84. package/vendor/dragonbox/subproject/test/source/verify_cache_precision.cpp +337 -337
  85. package/vendor/dragonbox/subproject/test/source/verify_compressed_cache.cpp +154 -154
  86. package/vendor/dragonbox/subproject/test/source/verify_fast_multiplication.cpp +168 -168
  87. package/vendor/dragonbox/subproject/test/source/verify_log_computation.cpp +251 -251
  88. package/vendor/dragonbox/subproject/test/source/verify_magic_division.cpp +113 -113
  89. package/vendor/libcc/libcc.cc +7651 -7651
  90. package/vendor/libcc/libcc.hh +4312 -4312
  91. package/vendor/node-addon-api/CHANGELOG.md +859 -859
  92. package/vendor/node-addon-api/CODE_OF_CONDUCT.md +4 -4
  93. package/vendor/node-addon-api/CONTRIBUTING.md +93 -93
  94. package/vendor/node-addon-api/LICENSE.md +12 -12
  95. package/vendor/node-addon-api/README.md +293 -293
  96. package/vendor/node-addon-api/appveyor.yml +37 -37
  97. package/vendor/node-addon-api/benchmark/README.md +47 -47
  98. package/vendor/node-addon-api/benchmark/binding.gyp +25 -25
  99. package/vendor/node-addon-api/benchmark/function_args.cc +217 -217
  100. package/vendor/node-addon-api/benchmark/function_args.js +60 -60
  101. package/vendor/node-addon-api/benchmark/index.js +34 -34
  102. package/vendor/node-addon-api/benchmark/property_descriptor.cc +91 -91
  103. package/vendor/node-addon-api/benchmark/property_descriptor.js +37 -37
  104. package/vendor/node-addon-api/common.gypi +21 -21
  105. package/vendor/node-addon-api/doc/addon.md +163 -163
  106. package/vendor/node-addon-api/doc/array.md +81 -81
  107. package/vendor/node-addon-api/doc/array_buffer.md +155 -155
  108. package/vendor/node-addon-api/doc/async_context.md +86 -86
  109. package/vendor/node-addon-api/doc/async_operations.md +31 -31
  110. package/vendor/node-addon-api/doc/async_worker.md +427 -427
  111. package/vendor/node-addon-api/doc/async_worker_variants.md +557 -557
  112. package/vendor/node-addon-api/doc/bigint.md +97 -97
  113. package/vendor/node-addon-api/doc/boolean.md +68 -68
  114. package/vendor/node-addon-api/doc/buffer.md +150 -150
  115. package/vendor/node-addon-api/doc/callback_scope.md +54 -54
  116. package/vendor/node-addon-api/doc/callbackinfo.md +97 -97
  117. package/vendor/node-addon-api/doc/checker-tool.md +32 -32
  118. package/vendor/node-addon-api/doc/class_property_descriptor.md +115 -115
  119. package/vendor/node-addon-api/doc/cmake-js.md +68 -68
  120. package/vendor/node-addon-api/doc/conversion-tool.md +27 -27
  121. package/vendor/node-addon-api/doc/creating_a_release.md +62 -62
  122. package/vendor/node-addon-api/doc/dataview.md +248 -248
  123. package/vendor/node-addon-api/doc/date.md +68 -68
  124. package/vendor/node-addon-api/doc/env.md +196 -196
  125. package/vendor/node-addon-api/doc/error.md +120 -120
  126. package/vendor/node-addon-api/doc/error_handling.md +254 -254
  127. package/vendor/node-addon-api/doc/escapable_handle_scope.md +80 -80
  128. package/vendor/node-addon-api/doc/external.md +63 -63
  129. package/vendor/node-addon-api/doc/function.md +402 -402
  130. package/vendor/node-addon-api/doc/function_reference.md +238 -238
  131. package/vendor/node-addon-api/doc/generator.md +13 -13
  132. package/vendor/node-addon-api/doc/handle_scope.md +63 -63
  133. package/vendor/node-addon-api/doc/hierarchy.md +91 -91
  134. package/vendor/node-addon-api/doc/instance_wrap.md +408 -408
  135. package/vendor/node-addon-api/doc/maybe.md +76 -76
  136. package/vendor/node-addon-api/doc/memory_management.md +27 -27
  137. package/vendor/node-addon-api/doc/name.md +29 -29
  138. package/vendor/node-addon-api/doc/node-gyp.md +82 -82
  139. package/vendor/node-addon-api/doc/number.md +163 -163
  140. package/vendor/node-addon-api/doc/object.md +432 -432
  141. package/vendor/node-addon-api/doc/object_lifetime_management.md +83 -83
  142. package/vendor/node-addon-api/doc/object_reference.md +117 -117
  143. package/vendor/node-addon-api/doc/object_wrap.md +561 -561
  144. package/vendor/node-addon-api/doc/prebuild_tools.md +16 -16
  145. package/vendor/node-addon-api/doc/promises.md +79 -79
  146. package/vendor/node-addon-api/doc/property_descriptor.md +286 -286
  147. package/vendor/node-addon-api/doc/propertylvalue.md +50 -50
  148. package/vendor/node-addon-api/doc/range_error.md +59 -59
  149. package/vendor/node-addon-api/doc/reference.md +113 -113
  150. package/vendor/node-addon-api/doc/setup.md +110 -110
  151. package/vendor/node-addon-api/doc/string.md +93 -93
  152. package/vendor/node-addon-api/doc/symbol.md +60 -60
  153. package/vendor/node-addon-api/doc/threadsafe.md +121 -121
  154. package/vendor/node-addon-api/doc/threadsafe_function.md +290 -290
  155. package/vendor/node-addon-api/doc/type_error.md +59 -59
  156. package/vendor/node-addon-api/doc/typed_array.md +78 -78
  157. package/vendor/node-addon-api/doc/typed_array_of.md +137 -137
  158. package/vendor/node-addon-api/doc/typed_threadsafe_function.md +306 -306
  159. package/vendor/node-addon-api/doc/value.md +340 -340
  160. package/vendor/node-addon-api/doc/version_management.md +43 -43
  161. package/vendor/node-addon-api/except.gypi +25 -25
  162. package/vendor/node-addon-api/index.js +11 -11
  163. package/vendor/node-addon-api/napi-inl.deprecated.h +192 -192
  164. package/vendor/node-addon-api/napi-inl.h +6209 -6209
  165. package/vendor/node-addon-api/napi.h +2983 -2983
  166. package/vendor/node-addon-api/node_api.gyp +9 -9
  167. package/vendor/node-addon-api/noexcept.gypi +26 -26
  168. package/vendor/node-addon-api/package-support.json +21 -21
  169. package/vendor/node-addon-api/package.json +399 -399
  170. package/vendor/node-addon-api/test/README.md +91 -91
  171. package/vendor/node-addon-api/test/addon.cc +36 -36
  172. package/vendor/node-addon-api/test/addon.js +11 -11
  173. package/vendor/node-addon-api/test/addon_build/index.js +49 -49
  174. package/vendor/node-addon-api/test/addon_build/tpl/addon.cc +17 -17
  175. package/vendor/node-addon-api/test/addon_build/tpl/binding.gyp +62 -62
  176. package/vendor/node-addon-api/test/addon_build/tpl/index.js +9 -9
  177. package/vendor/node-addon-api/test/addon_build/tpl/package.json +11 -11
  178. package/vendor/node-addon-api/test/addon_data.cc +99 -99
  179. package/vendor/node-addon-api/test/addon_data.js +46 -46
  180. package/vendor/node-addon-api/test/array_buffer.cc +243 -243
  181. package/vendor/node-addon-api/test/array_buffer.js +69 -69
  182. package/vendor/node-addon-api/test/async_context.cc +21 -21
  183. package/vendor/node-addon-api/test/async_context.js +86 -86
  184. package/vendor/node-addon-api/test/async_progress_queue_worker.cc +83 -83
  185. package/vendor/node-addon-api/test/async_progress_queue_worker.js +46 -46
  186. package/vendor/node-addon-api/test/async_progress_worker.cc +134 -134
  187. package/vendor/node-addon-api/test/async_progress_worker.js +61 -61
  188. package/vendor/node-addon-api/test/async_worker.cc +106 -106
  189. package/vendor/node-addon-api/test/async_worker.js +179 -179
  190. package/vendor/node-addon-api/test/async_worker_nocallback.js +13 -13
  191. package/vendor/node-addon-api/test/async_worker_persistent.cc +63 -63
  192. package/vendor/node-addon-api/test/async_worker_persistent.js +24 -24
  193. package/vendor/node-addon-api/test/basic_types/array.cc +40 -40
  194. package/vendor/node-addon-api/test/basic_types/array.js +35 -35
  195. package/vendor/node-addon-api/test/basic_types/boolean.cc +38 -38
  196. package/vendor/node-addon-api/test/basic_types/boolean.js +35 -35
  197. package/vendor/node-addon-api/test/basic_types/number.cc +99 -99
  198. package/vendor/node-addon-api/test/basic_types/number.js +114 -114
  199. package/vendor/node-addon-api/test/basic_types/value.cc +120 -120
  200. package/vendor/node-addon-api/test/basic_types/value.js +133 -133
  201. package/vendor/node-addon-api/test/bigint.cc +91 -91
  202. package/vendor/node-addon-api/test/bigint.js +53 -53
  203. package/vendor/node-addon-api/test/binding-swallowexcept.cc +12 -12
  204. package/vendor/node-addon-api/test/binding.cc +171 -171
  205. package/vendor/node-addon-api/test/binding.gyp +117 -117
  206. package/vendor/node-addon-api/test/buffer.cc +183 -183
  207. package/vendor/node-addon-api/test/buffer.js +69 -69
  208. package/vendor/node-addon-api/test/callbackscope.cc +22 -22
  209. package/vendor/node-addon-api/test/callbackscope.js +49 -49
  210. package/vendor/node-addon-api/test/common/index.js +113 -113
  211. package/vendor/node-addon-api/test/common/test_helper.h +61 -61
  212. package/vendor/node-addon-api/test/dataview/dataview.cc +48 -48
  213. package/vendor/node-addon-api/test/dataview/dataview.js +35 -35
  214. package/vendor/node-addon-api/test/dataview/dataview_read_write.cc +115 -115
  215. package/vendor/node-addon-api/test/dataview/dataview_read_write.js +90 -90
  216. package/vendor/node-addon-api/test/date.cc +44 -44
  217. package/vendor/node-addon-api/test/date.js +18 -18
  218. package/vendor/node-addon-api/test/env_cleanup.cc +88 -88
  219. package/vendor/node-addon-api/test/env_cleanup.js +56 -56
  220. package/vendor/node-addon-api/test/error.cc +287 -287
  221. package/vendor/node-addon-api/test/error.js +81 -81
  222. package/vendor/node-addon-api/test/error_handling_for_primitives.cc +13 -13
  223. package/vendor/node-addon-api/test/error_handling_for_primitives.js +29 -29
  224. package/vendor/node-addon-api/test/error_terminating_environment.js +94 -94
  225. package/vendor/node-addon-api/test/external.cc +81 -81
  226. package/vendor/node-addon-api/test/external.js +88 -88
  227. package/vendor/node-addon-api/test/function.cc +295 -295
  228. package/vendor/node-addon-api/test/function.js +121 -121
  229. package/vendor/node-addon-api/test/function_reference.cc +202 -202
  230. package/vendor/node-addon-api/test/function_reference.js +157 -157
  231. package/vendor/node-addon-api/test/globalObject/global_object.cc +61 -61
  232. package/vendor/node-addon-api/test/globalObject/global_object_delete_property.cc +31 -31
  233. package/vendor/node-addon-api/test/globalObject/global_object_delete_property.js +61 -61
  234. package/vendor/node-addon-api/test/globalObject/global_object_get_property.cc +40 -40
  235. package/vendor/node-addon-api/test/globalObject/global_object_get_property.js +57 -57
  236. package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.cc +28 -28
  237. package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.js +48 -48
  238. package/vendor/node-addon-api/test/globalObject/global_object_set_property.cc +30 -30
  239. package/vendor/node-addon-api/test/globalObject/global_object_set_property.js +58 -58
  240. package/vendor/node-addon-api/test/handlescope.cc +60 -60
  241. package/vendor/node-addon-api/test/handlescope.js +14 -14
  242. package/vendor/node-addon-api/test/index.js +136 -136
  243. package/vendor/node-addon-api/test/maybe/check.cc +23 -23
  244. package/vendor/node-addon-api/test/maybe/index.js +38 -38
  245. package/vendor/node-addon-api/test/memory_management.cc +17 -17
  246. package/vendor/node-addon-api/test/memory_management.js +9 -9
  247. package/vendor/node-addon-api/test/movable_callbacks.cc +23 -23
  248. package/vendor/node-addon-api/test/movable_callbacks.js +21 -21
  249. package/vendor/node-addon-api/test/name.cc +108 -108
  250. package/vendor/node-addon-api/test/name.js +59 -59
  251. package/vendor/node-addon-api/test/napi_child.js +14 -14
  252. package/vendor/node-addon-api/test/object/delete_property.cc +38 -38
  253. package/vendor/node-addon-api/test/object/delete_property.js +41 -41
  254. package/vendor/node-addon-api/test/object/finalizer.cc +29 -29
  255. package/vendor/node-addon-api/test/object/finalizer.js +28 -28
  256. package/vendor/node-addon-api/test/object/get_property.cc +34 -34
  257. package/vendor/node-addon-api/test/object/get_property.js +40 -40
  258. package/vendor/node-addon-api/test/object/has_own_property.cc +34 -34
  259. package/vendor/node-addon-api/test/object/has_own_property.js +34 -34
  260. package/vendor/node-addon-api/test/object/has_property.cc +38 -38
  261. package/vendor/node-addon-api/test/object/has_property.js +37 -37
  262. package/vendor/node-addon-api/test/object/object.cc +348 -348
  263. package/vendor/node-addon-api/test/object/object.js +217 -217
  264. package/vendor/node-addon-api/test/object/object_deprecated.cc +66 -66
  265. package/vendor/node-addon-api/test/object/object_deprecated.js +47 -47
  266. package/vendor/node-addon-api/test/object/object_freeze_seal.cc +25 -25
  267. package/vendor/node-addon-api/test/object/object_freeze_seal.js +61 -61
  268. package/vendor/node-addon-api/test/object/set_property.cc +37 -37
  269. package/vendor/node-addon-api/test/object/set_property.js +29 -29
  270. package/vendor/node-addon-api/test/object/subscript_operator.cc +42 -42
  271. package/vendor/node-addon-api/test/object/subscript_operator.js +17 -17
  272. package/vendor/node-addon-api/test/object_reference.cc +219 -219
  273. package/vendor/node-addon-api/test/object_reference.js +259 -259
  274. package/vendor/node-addon-api/test/objectwrap.cc +268 -268
  275. package/vendor/node-addon-api/test/objectwrap.js +284 -284
  276. package/vendor/node-addon-api/test/objectwrap_constructor_exception.cc +26 -26
  277. package/vendor/node-addon-api/test/objectwrap_constructor_exception.js +18 -18
  278. package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.cc +30 -30
  279. package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.js +13 -13
  280. package/vendor/node-addon-api/test/objectwrap_removewrap.cc +45 -45
  281. package/vendor/node-addon-api/test/objectwrap_removewrap.js +40 -40
  282. package/vendor/node-addon-api/test/objectwrap_worker_thread.js +19 -19
  283. package/vendor/node-addon-api/test/promise.cc +29 -29
  284. package/vendor/node-addon-api/test/promise.js +18 -18
  285. package/vendor/node-addon-api/test/reference.cc +24 -24
  286. package/vendor/node-addon-api/test/reference.js +14 -14
  287. package/vendor/node-addon-api/test/run_script.cc +56 -56
  288. package/vendor/node-addon-api/test/run_script.js +45 -45
  289. package/vendor/node-addon-api/test/symbol.cc +79 -79
  290. package/vendor/node-addon-api/test/symbol.js +73 -73
  291. package/vendor/node-addon-api/test/testUtil.js +54 -54
  292. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.cc +195 -195
  293. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.js +188 -188
  294. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.cc +63 -63
  295. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.js +12 -12
  296. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.cc +115 -115
  297. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.js +14 -14
  298. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.cc +26 -26
  299. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.js +7 -7
  300. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.cc +225 -225
  301. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.js +59 -59
  302. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.cc +42 -42
  303. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.js +53 -53
  304. package/vendor/node-addon-api/test/thunking_manual.cc +140 -140
  305. package/vendor/node-addon-api/test/thunking_manual.js +17 -17
  306. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.cc +215 -215
  307. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.js +188 -188
  308. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.cc +68 -68
  309. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.js +12 -12
  310. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.cc +127 -127
  311. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.js +14 -14
  312. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.cc +28 -28
  313. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.js +7 -7
  314. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.cc +237 -237
  315. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.js +59 -59
  316. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.cc +53 -53
  317. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.js +53 -53
  318. package/vendor/node-addon-api/test/typedarray-bigint.js +58 -58
  319. package/vendor/node-addon-api/test/typedarray.cc +216 -216
  320. package/vendor/node-addon-api/test/typedarray.js +69 -69
  321. package/vendor/node-addon-api/test/version_management.cc +27 -27
  322. package/vendor/node-addon-api/test/version_management.js +31 -31
  323. package/vendor/node-addon-api/tools/README.md +73 -73
  324. package/vendor/node-addon-api/tools/check-napi.js +100 -100
  325. package/vendor/node-addon-api/tools/clang-format.js +68 -68
  326. package/vendor/node-addon-api/tools/conversion.js +309 -309
  327. package/vendor/node-addon-api/tools/eslint-format.js +71 -71
  328. package/build/ALL_BUILD.vcxproj +0 -186
  329. package/build/ALL_BUILD.vcxproj.filters +0 -8
  330. package/build/CMakeCache.txt +0 -417
  331. package/build/CMakeFiles/3.23.0-rc1/CMakeASMCompiler.cmake +0 -20
  332. package/build/CMakeFiles/3.23.0-rc1/CMakeASM_MASMCompiler.cmake +0 -20
  333. package/build/CMakeFiles/3.23.0-rc1/CMakeCCompiler.cmake +0 -72
  334. package/build/CMakeFiles/3.23.0-rc1/CMakeCXXCompiler.cmake +0 -83
  335. package/build/CMakeFiles/3.23.0-rc1/CMakeDetermineCompilerABI_C.bin +0 -0
  336. package/build/CMakeFiles/3.23.0-rc1/CMakeDetermineCompilerABI_CXX.bin +0 -0
  337. package/build/CMakeFiles/3.23.0-rc1/CMakeRCCompiler.cmake +0 -6
  338. package/build/CMakeFiles/3.23.0-rc1/CMakeSystem.cmake +0 -15
  339. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/CMakeCCompilerId.c +0 -828
  340. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/CompilerIdC.exe +0 -0
  341. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/CompilerIdC.vcxproj +0 -71
  342. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/Debug/CMakeCCompilerId.obj +0 -0
  343. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/Debug/CompilerIdC.exe.recipe +0 -11
  344. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/Debug/CompilerIdC.tlog/CL.command.1.tlog +0 -0
  345. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/Debug/CompilerIdC.tlog/CL.read.1.tlog +0 -0
  346. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/Debug/CompilerIdC.tlog/CL.write.1.tlog +0 -0
  347. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/Debug/CompilerIdC.tlog/CompilerIdC.lastbuildstate +0 -2
  348. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/Debug/CompilerIdC.tlog/link.command.1.tlog +0 -0
  349. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/Debug/CompilerIdC.tlog/link.read.1.tlog +0 -0
  350. package/build/CMakeFiles/3.23.0-rc1/CompilerIdC/Debug/CompilerIdC.tlog/link.write.1.tlog +0 -0
  351. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/CMakeCXXCompilerId.cpp +0 -816
  352. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/CompilerIdCXX.exe +0 -0
  353. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/CompilerIdCXX.vcxproj +0 -71
  354. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/Debug/CMakeCXXCompilerId.obj +0 -0
  355. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/Debug/CompilerIdCXX.exe.recipe +0 -11
  356. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.command.1.tlog +0 -0
  357. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.read.1.tlog +0 -0
  358. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CL.write.1.tlog +0 -0
  359. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/CompilerIdCXX.lastbuildstate +0 -2
  360. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.command.1.tlog +0 -0
  361. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.read.1.tlog +0 -0
  362. package/build/CMakeFiles/3.23.0-rc1/CompilerIdCXX/Debug/CompilerIdCXX.tlog/link.write.1.tlog +0 -0
  363. package/build/CMakeFiles/3.23.0-rc1/VCTargetsPath.txt +0 -1
  364. package/build/CMakeFiles/3.23.0-rc1/VCTargetsPath.vcxproj +0 -31
  365. package/build/CMakeFiles/3.23.0-rc1/x64/Debug/VCTargetsPath.recipe +0 -11
  366. package/build/CMakeFiles/3.23.0-rc1/x64/Debug/VCTargetsPath.tlog/VCTargetsPath.lastbuildstate +0 -2
  367. package/build/CMakeFiles/41bcd16856091d4a38fd1f71fbe2f202/generate.stamp.rule +0 -1
  368. package/build/CMakeFiles/CMakeError.log +0 -108
  369. package/build/CMakeFiles/CMakeOutput.log +0 -413
  370. package/build/CMakeFiles/TargetDirectories.txt +0 -3
  371. package/build/CMakeFiles/cmake.check_cache +0 -1
  372. package/build/CMakeFiles/generate.stamp +0 -1
  373. package/build/CMakeFiles/generate.stamp.depend +0 -109
  374. package/build/CMakeFiles/generate.stamp.list +0 -1
  375. package/build/Release/koffi.exp +0 -0
  376. package/build/Release/koffi.lib +0 -0
  377. package/build/Release/koffi.node +0 -0
  378. package/build/ZERO_CHECK.vcxproj +0 -176
  379. package/build/ZERO_CHECK.vcxproj.filters +0 -13
  380. package/build/cmake_install.cmake +0 -44
  381. package/build/koffi.dir/Release/call_arm64.obj +0 -0
  382. package/build/koffi.dir/Release/call_x64_sysv.obj +0 -0
  383. package/build/koffi.dir/Release/call_x64_win.obj +0 -0
  384. package/build/koffi.dir/Release/call_x64_win_fwd.obj +0 -0
  385. package/build/koffi.dir/Release/call_x86.obj +0 -0
  386. package/build/koffi.dir/Release/ffi.obj +0 -0
  387. package/build/koffi.dir/Release/koffi.node.recipe +0 -14
  388. package/build/koffi.dir/Release/koffi.tlog/CL.command.1.tlog +0 -0
  389. package/build/koffi.dir/Release/koffi.tlog/CL.read.1.tlog +0 -0
  390. package/build/koffi.dir/Release/koffi.tlog/CL.write.1.tlog +0 -0
  391. package/build/koffi.dir/Release/koffi.tlog/CustomBuild.command.1.tlog +0 -10
  392. package/build/koffi.dir/Release/koffi.tlog/CustomBuild.read.1.tlog +0 -108
  393. package/build/koffi.dir/Release/koffi.tlog/CustomBuild.write.1.tlog +0 -2
  394. package/build/koffi.dir/Release/koffi.tlog/Masm.read.1u.tlog +0 -0
  395. package/build/koffi.dir/Release/koffi.tlog/Masm.write.1u.tlog +0 -0
  396. package/build/koffi.dir/Release/koffi.tlog/koffi.lastbuildstate +0 -2
  397. package/build/koffi.dir/Release/koffi.tlog/koffi.write.1u.tlog +0 -0
  398. package/build/koffi.dir/Release/koffi.tlog/link.command.1.tlog +0 -0
  399. package/build/koffi.dir/Release/koffi.tlog/link.read.1.tlog +0 -0
  400. package/build/koffi.dir/Release/koffi.tlog/link.write.1.tlog +0 -0
  401. package/build/koffi.dir/Release/libcc.obj +0 -0
  402. package/build/koffi.dir/Release/util.obj +0 -0
  403. package/build/koffi.dir/Release/win_delay_load_hook.obj +0 -0
  404. package/build/koffi.sln +0 -53
  405. package/build/koffi.vcxproj +0 -363
  406. package/build/koffi.vcxproj.filters +0 -40
  407. package/build/x64/Release/ALL_BUILD/ALL_BUILD.recipe +0 -17
  408. package/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/ALL_BUILD.lastbuildstate +0 -2
  409. package/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.command.1.tlog +0 -10
  410. package/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.read.1.tlog +0 -108
  411. package/build/x64/Release/ALL_BUILD/ALL_BUILD.tlog/CustomBuild.write.1.tlog +0 -2
  412. package/build/x64/Release/ZERO_CHECK/ZERO_CHECK.recipe +0 -11
  413. package/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.command.1.tlog +0 -10
  414. package/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.read.1.tlog +0 -109
  415. package/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/CustomBuild.write.1.tlog +0 -2
  416. package/build/x64/Release/ZERO_CHECK/ZERO_CHECK.tlog/ZERO_CHECK.lastbuildstate +0 -2
@@ -1,828 +0,0 @@
1
- #ifdef __cplusplus
2
- # error "A C++ compiler has been selected for C."
3
- #endif
4
-
5
- #if defined(__18CXX)
6
- # define ID_VOID_MAIN
7
- #endif
8
- #if defined(__CLASSIC_C__)
9
- /* cv-qualifiers did not exist in K&R C */
10
- # define const
11
- # define volatile
12
- #endif
13
-
14
- #if !defined(__has_include)
15
- /* If the compiler does not have __has_include, pretend the answer is
16
- always no. */
17
- # define __has_include(x) 0
18
- #endif
19
-
20
-
21
- /* Version number components: V=Version, R=Revision, P=Patch
22
- Version date components: YYYY=Year, MM=Month, DD=Day */
23
-
24
- #if defined(__INTEL_COMPILER) || defined(__ICC)
25
- # define COMPILER_ID "Intel"
26
- # if defined(_MSC_VER)
27
- # define SIMULATE_ID "MSVC"
28
- # endif
29
- # if defined(__GNUC__)
30
- # define SIMULATE_ID "GNU"
31
- # endif
32
- /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
33
- except that a few beta releases use the old format with V=2021. */
34
- # if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
35
- # define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
36
- # define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
37
- # if defined(__INTEL_COMPILER_UPDATE)
38
- # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
39
- # else
40
- # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
41
- # endif
42
- # else
43
- # define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
44
- # define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
45
- /* The third version component from --version is an update index,
46
- but no macro is provided for it. */
47
- # define COMPILER_VERSION_PATCH DEC(0)
48
- # endif
49
- # if defined(__INTEL_COMPILER_BUILD_DATE)
50
- /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
51
- # define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
52
- # endif
53
- # if defined(_MSC_VER)
54
- /* _MSC_VER = VVRR */
55
- # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
56
- # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
57
- # endif
58
- # if defined(__GNUC__)
59
- # define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
60
- # elif defined(__GNUG__)
61
- # define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
62
- # endif
63
- # if defined(__GNUC_MINOR__)
64
- # define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
65
- # endif
66
- # if defined(__GNUC_PATCHLEVEL__)
67
- # define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
68
- # endif
69
-
70
- #elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
71
- # define COMPILER_ID "IntelLLVM"
72
- #if defined(_MSC_VER)
73
- # define SIMULATE_ID "MSVC"
74
- #endif
75
- #if defined(__GNUC__)
76
- # define SIMULATE_ID "GNU"
77
- #endif
78
- /* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
79
- * later. Look for 6 digit vs. 8 digit version number to decide encoding.
80
- * VVVV is no smaller than the current year when a version is released.
81
- */
82
- #if __INTEL_LLVM_COMPILER < 1000000L
83
- # define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
84
- # define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
85
- # define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
86
- #else
87
- # define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
88
- # define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
89
- # define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
90
- #endif
91
- #if defined(_MSC_VER)
92
- /* _MSC_VER = VVRR */
93
- # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
94
- # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
95
- #endif
96
- #if defined(__GNUC__)
97
- # define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
98
- #elif defined(__GNUG__)
99
- # define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
100
- #endif
101
- #if defined(__GNUC_MINOR__)
102
- # define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
103
- #endif
104
- #if defined(__GNUC_PATCHLEVEL__)
105
- # define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
106
- #endif
107
-
108
- #elif defined(__PATHCC__)
109
- # define COMPILER_ID "PathScale"
110
- # define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
111
- # define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
112
- # if defined(__PATHCC_PATCHLEVEL__)
113
- # define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
114
- # endif
115
-
116
- #elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
117
- # define COMPILER_ID "Embarcadero"
118
- # define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
119
- # define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
120
- # define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
121
-
122
- #elif defined(__BORLANDC__)
123
- # define COMPILER_ID "Borland"
124
- /* __BORLANDC__ = 0xVRR */
125
- # define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
126
- # define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
127
-
128
- #elif defined(__WATCOMC__) && __WATCOMC__ < 1200
129
- # define COMPILER_ID "Watcom"
130
- /* __WATCOMC__ = VVRR */
131
- # define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
132
- # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
133
- # if (__WATCOMC__ % 10) > 0
134
- # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
135
- # endif
136
-
137
- #elif defined(__WATCOMC__)
138
- # define COMPILER_ID "OpenWatcom"
139
- /* __WATCOMC__ = VVRP + 1100 */
140
- # define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
141
- # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
142
- # if (__WATCOMC__ % 10) > 0
143
- # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
144
- # endif
145
-
146
- #elif defined(__SUNPRO_C)
147
- # define COMPILER_ID "SunPro"
148
- # if __SUNPRO_C >= 0x5100
149
- /* __SUNPRO_C = 0xVRRP */
150
- # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
151
- # define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
152
- # define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
153
- # else
154
- /* __SUNPRO_CC = 0xVRP */
155
- # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
156
- # define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
157
- # define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
158
- # endif
159
-
160
- #elif defined(__HP_cc)
161
- # define COMPILER_ID "HP"
162
- /* __HP_cc = VVRRPP */
163
- # define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
164
- # define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
165
- # define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
166
-
167
- #elif defined(__DECC)
168
- # define COMPILER_ID "Compaq"
169
- /* __DECC_VER = VVRRTPPPP */
170
- # define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
171
- # define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
172
- # define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
173
-
174
- #elif defined(__IBMC__) && defined(__COMPILER_VER__)
175
- # define COMPILER_ID "zOS"
176
- /* __IBMC__ = VRP */
177
- # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
178
- # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
179
- # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
180
-
181
- #elif defined(__open_xl__) && defined(__clang__)
182
- # define COMPILER_ID "IBMClang"
183
- # define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
184
- # define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
185
- # define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
186
- # define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
187
-
188
-
189
- #elif defined(__ibmxl__) && defined(__clang__)
190
- # define COMPILER_ID "XLClang"
191
- # define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
192
- # define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
193
- # define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
194
- # define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
195
-
196
-
197
- #elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
198
- # define COMPILER_ID "XL"
199
- /* __IBMC__ = VRP */
200
- # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
201
- # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
202
- # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
203
-
204
- #elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
205
- # define COMPILER_ID "VisualAge"
206
- /* __IBMC__ = VRP */
207
- # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
208
- # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
209
- # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
210
-
211
- #elif defined(__NVCOMPILER)
212
- # define COMPILER_ID "NVHPC"
213
- # define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
214
- # define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
215
- # if defined(__NVCOMPILER_PATCHLEVEL__)
216
- # define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
217
- # endif
218
-
219
- #elif defined(__PGI)
220
- # define COMPILER_ID "PGI"
221
- # define COMPILER_VERSION_MAJOR DEC(__PGIC__)
222
- # define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
223
- # if defined(__PGIC_PATCHLEVEL__)
224
- # define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
225
- # endif
226
-
227
- #elif defined(_CRAYC)
228
- # define COMPILER_ID "Cray"
229
- # define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
230
- # define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
231
-
232
- #elif defined(__TI_COMPILER_VERSION__)
233
- # define COMPILER_ID "TI"
234
- /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
235
- # define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
236
- # define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
237
- # define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
238
-
239
- #elif defined(__CLANG_FUJITSU)
240
- # define COMPILER_ID "FujitsuClang"
241
- # define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
242
- # define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
243
- # define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
244
- # define COMPILER_VERSION_INTERNAL_STR __clang_version__
245
-
246
-
247
- #elif defined(__FUJITSU)
248
- # define COMPILER_ID "Fujitsu"
249
- # if defined(__FCC_version__)
250
- # define COMPILER_VERSION __FCC_version__
251
- # elif defined(__FCC_major__)
252
- # define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
253
- # define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
254
- # define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
255
- # endif
256
- # if defined(__fcc_version)
257
- # define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
258
- # elif defined(__FCC_VERSION)
259
- # define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
260
- # endif
261
-
262
-
263
- #elif defined(__ghs__)
264
- # define COMPILER_ID "GHS"
265
- /* __GHS_VERSION_NUMBER = VVVVRP */
266
- # ifdef __GHS_VERSION_NUMBER
267
- # define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
268
- # define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
269
- # define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
270
- # endif
271
-
272
- #elif defined(__TINYC__)
273
- # define COMPILER_ID "TinyCC"
274
-
275
- #elif defined(__BCC__)
276
- # define COMPILER_ID "Bruce"
277
-
278
- #elif defined(__SCO_VERSION__)
279
- # define COMPILER_ID "SCO"
280
-
281
- #elif defined(__ARMCC_VERSION) && !defined(__clang__)
282
- # define COMPILER_ID "ARMCC"
283
- #if __ARMCC_VERSION >= 1000000
284
- /* __ARMCC_VERSION = VRRPPPP */
285
- # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
286
- # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
287
- # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
288
- #else
289
- /* __ARMCC_VERSION = VRPPPP */
290
- # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
291
- # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
292
- # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
293
- #endif
294
-
295
-
296
- #elif defined(__clang__) && defined(__apple_build_version__)
297
- # define COMPILER_ID "AppleClang"
298
- # if defined(_MSC_VER)
299
- # define SIMULATE_ID "MSVC"
300
- # endif
301
- # define COMPILER_VERSION_MAJOR DEC(__clang_major__)
302
- # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
303
- # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
304
- # if defined(_MSC_VER)
305
- /* _MSC_VER = VVRR */
306
- # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
307
- # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
308
- # endif
309
- # define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
310
-
311
- #elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
312
- # define COMPILER_ID "ARMClang"
313
- # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
314
- # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
315
- # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
316
- # define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
317
-
318
- #elif defined(__clang__)
319
- # define COMPILER_ID "Clang"
320
- # if defined(_MSC_VER)
321
- # define SIMULATE_ID "MSVC"
322
- # endif
323
- # define COMPILER_VERSION_MAJOR DEC(__clang_major__)
324
- # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
325
- # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
326
- # if defined(_MSC_VER)
327
- /* _MSC_VER = VVRR */
328
- # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
329
- # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
330
- # endif
331
-
332
- #elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
333
- # define COMPILER_ID "LCC"
334
- # define COMPILER_VERSION_MAJOR DEC(1)
335
- # if defined(__LCC__)
336
- # define COMPILER_VERSION_MINOR DEC(__LCC__- 100)
337
- # endif
338
- # if defined(__LCC_MINOR__)
339
- # define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
340
- # endif
341
- # if defined(__GNUC__) && defined(__GNUC_MINOR__)
342
- # define SIMULATE_ID "GNU"
343
- # define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
344
- # define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
345
- # if defined(__GNUC_PATCHLEVEL__)
346
- # define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
347
- # endif
348
- # endif
349
-
350
- #elif defined(__GNUC__)
351
- # define COMPILER_ID "GNU"
352
- # define COMPILER_VERSION_MAJOR DEC(__GNUC__)
353
- # if defined(__GNUC_MINOR__)
354
- # define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
355
- # endif
356
- # if defined(__GNUC_PATCHLEVEL__)
357
- # define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
358
- # endif
359
-
360
- #elif defined(_MSC_VER)
361
- # define COMPILER_ID "MSVC"
362
- /* _MSC_VER = VVRR */
363
- # define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
364
- # define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
365
- # if defined(_MSC_FULL_VER)
366
- # if _MSC_VER >= 1400
367
- /* _MSC_FULL_VER = VVRRPPPPP */
368
- # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
369
- # else
370
- /* _MSC_FULL_VER = VVRRPPPP */
371
- # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
372
- # endif
373
- # endif
374
- # if defined(_MSC_BUILD)
375
- # define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
376
- # endif
377
-
378
- #elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
379
- # define COMPILER_ID "ADSP"
380
- #if defined(__VISUALDSPVERSION__)
381
- /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
382
- # define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
383
- # define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
384
- # define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
385
- #endif
386
-
387
- #elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
388
- # define COMPILER_ID "IAR"
389
- # if defined(__VER__) && defined(__ICCARM__)
390
- # define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
391
- # define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
392
- # define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
393
- # define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
394
- # elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
395
- # define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
396
- # define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
397
- # define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
398
- # define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
399
- # endif
400
-
401
- #elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
402
- # define COMPILER_ID "SDCC"
403
- # if defined(__SDCC_VERSION_MAJOR)
404
- # define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
405
- # define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
406
- # define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
407
- # else
408
- /* SDCC = VRP */
409
- # define COMPILER_VERSION_MAJOR DEC(SDCC/100)
410
- # define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
411
- # define COMPILER_VERSION_PATCH DEC(SDCC % 10)
412
- # endif
413
-
414
-
415
- /* These compilers are either not known or too old to define an
416
- identification macro. Try to identify the platform and guess that
417
- it is the native compiler. */
418
- #elif defined(__hpux) || defined(__hpua)
419
- # define COMPILER_ID "HP"
420
-
421
- #else /* unknown compiler */
422
- # define COMPILER_ID ""
423
- #endif
424
-
425
- /* Construct the string literal in pieces to prevent the source from
426
- getting matched. Store it in a pointer rather than an array
427
- because some compilers will just produce instructions to fill the
428
- array rather than assigning a pointer to a static array. */
429
- char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
430
- #ifdef SIMULATE_ID
431
- char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
432
- #endif
433
-
434
- #ifdef __QNXNTO__
435
- char const* qnxnto = "INFO" ":" "qnxnto[]";
436
- #endif
437
-
438
- #if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
439
- char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
440
- #endif
441
-
442
- #define STRINGIFY_HELPER(X) #X
443
- #define STRINGIFY(X) STRINGIFY_HELPER(X)
444
-
445
- /* Identify known platforms by name. */
446
- #if defined(__linux) || defined(__linux__) || defined(linux)
447
- # define PLATFORM_ID "Linux"
448
-
449
- #elif defined(__MSYS__)
450
- # define PLATFORM_ID "MSYS"
451
-
452
- #elif defined(__CYGWIN__)
453
- # define PLATFORM_ID "Cygwin"
454
-
455
- #elif defined(__MINGW32__)
456
- # define PLATFORM_ID "MinGW"
457
-
458
- #elif defined(__APPLE__)
459
- # define PLATFORM_ID "Darwin"
460
-
461
- #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
462
- # define PLATFORM_ID "Windows"
463
-
464
- #elif defined(__FreeBSD__) || defined(__FreeBSD)
465
- # define PLATFORM_ID "FreeBSD"
466
-
467
- #elif defined(__NetBSD__) || defined(__NetBSD)
468
- # define PLATFORM_ID "NetBSD"
469
-
470
- #elif defined(__OpenBSD__) || defined(__OPENBSD)
471
- # define PLATFORM_ID "OpenBSD"
472
-
473
- #elif defined(__sun) || defined(sun)
474
- # define PLATFORM_ID "SunOS"
475
-
476
- #elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
477
- # define PLATFORM_ID "AIX"
478
-
479
- #elif defined(__hpux) || defined(__hpux__)
480
- # define PLATFORM_ID "HP-UX"
481
-
482
- #elif defined(__HAIKU__)
483
- # define PLATFORM_ID "Haiku"
484
-
485
- #elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
486
- # define PLATFORM_ID "BeOS"
487
-
488
- #elif defined(__QNX__) || defined(__QNXNTO__)
489
- # define PLATFORM_ID "QNX"
490
-
491
- #elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
492
- # define PLATFORM_ID "Tru64"
493
-
494
- #elif defined(__riscos) || defined(__riscos__)
495
- # define PLATFORM_ID "RISCos"
496
-
497
- #elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
498
- # define PLATFORM_ID "SINIX"
499
-
500
- #elif defined(__UNIX_SV__)
501
- # define PLATFORM_ID "UNIX_SV"
502
-
503
- #elif defined(__bsdos__)
504
- # define PLATFORM_ID "BSDOS"
505
-
506
- #elif defined(_MPRAS) || defined(MPRAS)
507
- # define PLATFORM_ID "MP-RAS"
508
-
509
- #elif defined(__osf) || defined(__osf__)
510
- # define PLATFORM_ID "OSF1"
511
-
512
- #elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
513
- # define PLATFORM_ID "SCO_SV"
514
-
515
- #elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
516
- # define PLATFORM_ID "ULTRIX"
517
-
518
- #elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
519
- # define PLATFORM_ID "Xenix"
520
-
521
- #elif defined(__WATCOMC__)
522
- # if defined(__LINUX__)
523
- # define PLATFORM_ID "Linux"
524
-
525
- # elif defined(__DOS__)
526
- # define PLATFORM_ID "DOS"
527
-
528
- # elif defined(__OS2__)
529
- # define PLATFORM_ID "OS2"
530
-
531
- # elif defined(__WINDOWS__)
532
- # define PLATFORM_ID "Windows3x"
533
-
534
- # elif defined(__VXWORKS__)
535
- # define PLATFORM_ID "VxWorks"
536
-
537
- # else /* unknown platform */
538
- # define PLATFORM_ID
539
- # endif
540
-
541
- #elif defined(__INTEGRITY)
542
- # if defined(INT_178B)
543
- # define PLATFORM_ID "Integrity178"
544
-
545
- # else /* regular Integrity */
546
- # define PLATFORM_ID "Integrity"
547
- # endif
548
-
549
- #else /* unknown platform */
550
- # define PLATFORM_ID
551
-
552
- #endif
553
-
554
- /* For windows compilers MSVC and Intel we can determine
555
- the architecture of the compiler being used. This is because
556
- the compilers do not have flags that can change the architecture,
557
- but rather depend on which compiler is being used
558
- */
559
- #if defined(_WIN32) && defined(_MSC_VER)
560
- # if defined(_M_IA64)
561
- # define ARCHITECTURE_ID "IA64"
562
-
563
- # elif defined(_M_ARM64EC)
564
- # define ARCHITECTURE_ID "ARM64EC"
565
-
566
- # elif defined(_M_X64) || defined(_M_AMD64)
567
- # define ARCHITECTURE_ID "x64"
568
-
569
- # elif defined(_M_IX86)
570
- # define ARCHITECTURE_ID "X86"
571
-
572
- # elif defined(_M_ARM64)
573
- # define ARCHITECTURE_ID "ARM64"
574
-
575
- # elif defined(_M_ARM)
576
- # if _M_ARM == 4
577
- # define ARCHITECTURE_ID "ARMV4I"
578
- # elif _M_ARM == 5
579
- # define ARCHITECTURE_ID "ARMV5I"
580
- # else
581
- # define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
582
- # endif
583
-
584
- # elif defined(_M_MIPS)
585
- # define ARCHITECTURE_ID "MIPS"
586
-
587
- # elif defined(_M_SH)
588
- # define ARCHITECTURE_ID "SHx"
589
-
590
- # else /* unknown architecture */
591
- # define ARCHITECTURE_ID ""
592
- # endif
593
-
594
- #elif defined(__WATCOMC__)
595
- # if defined(_M_I86)
596
- # define ARCHITECTURE_ID "I86"
597
-
598
- # elif defined(_M_IX86)
599
- # define ARCHITECTURE_ID "X86"
600
-
601
- # else /* unknown architecture */
602
- # define ARCHITECTURE_ID ""
603
- # endif
604
-
605
- #elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
606
- # if defined(__ICCARM__)
607
- # define ARCHITECTURE_ID "ARM"
608
-
609
- # elif defined(__ICCRX__)
610
- # define ARCHITECTURE_ID "RX"
611
-
612
- # elif defined(__ICCRH850__)
613
- # define ARCHITECTURE_ID "RH850"
614
-
615
- # elif defined(__ICCRL78__)
616
- # define ARCHITECTURE_ID "RL78"
617
-
618
- # elif defined(__ICCRISCV__)
619
- # define ARCHITECTURE_ID "RISCV"
620
-
621
- # elif defined(__ICCAVR__)
622
- # define ARCHITECTURE_ID "AVR"
623
-
624
- # elif defined(__ICC430__)
625
- # define ARCHITECTURE_ID "MSP430"
626
-
627
- # elif defined(__ICCV850__)
628
- # define ARCHITECTURE_ID "V850"
629
-
630
- # elif defined(__ICC8051__)
631
- # define ARCHITECTURE_ID "8051"
632
-
633
- # elif defined(__ICCSTM8__)
634
- # define ARCHITECTURE_ID "STM8"
635
-
636
- # else /* unknown architecture */
637
- # define ARCHITECTURE_ID ""
638
- # endif
639
-
640
- #elif defined(__ghs__)
641
- # if defined(__PPC64__)
642
- # define ARCHITECTURE_ID "PPC64"
643
-
644
- # elif defined(__ppc__)
645
- # define ARCHITECTURE_ID "PPC"
646
-
647
- # elif defined(__ARM__)
648
- # define ARCHITECTURE_ID "ARM"
649
-
650
- # elif defined(__x86_64__)
651
- # define ARCHITECTURE_ID "x64"
652
-
653
- # elif defined(__i386__)
654
- # define ARCHITECTURE_ID "X86"
655
-
656
- # else /* unknown architecture */
657
- # define ARCHITECTURE_ID ""
658
- # endif
659
-
660
- #elif defined(__TI_COMPILER_VERSION__)
661
- # if defined(__TI_ARM__)
662
- # define ARCHITECTURE_ID "ARM"
663
-
664
- # elif defined(__MSP430__)
665
- # define ARCHITECTURE_ID "MSP430"
666
-
667
- # elif defined(__TMS320C28XX__)
668
- # define ARCHITECTURE_ID "TMS320C28x"
669
-
670
- # elif defined(__TMS320C6X__) || defined(_TMS320C6X)
671
- # define ARCHITECTURE_ID "TMS320C6x"
672
-
673
- # else /* unknown architecture */
674
- # define ARCHITECTURE_ID ""
675
- # endif
676
-
677
- #else
678
- # define ARCHITECTURE_ID
679
- #endif
680
-
681
- /* Convert integer to decimal digit literals. */
682
- #define DEC(n) \
683
- ('0' + (((n) / 10000000)%10)), \
684
- ('0' + (((n) / 1000000)%10)), \
685
- ('0' + (((n) / 100000)%10)), \
686
- ('0' + (((n) / 10000)%10)), \
687
- ('0' + (((n) / 1000)%10)), \
688
- ('0' + (((n) / 100)%10)), \
689
- ('0' + (((n) / 10)%10)), \
690
- ('0' + ((n) % 10))
691
-
692
- /* Convert integer to hex digit literals. */
693
- #define HEX(n) \
694
- ('0' + ((n)>>28 & 0xF)), \
695
- ('0' + ((n)>>24 & 0xF)), \
696
- ('0' + ((n)>>20 & 0xF)), \
697
- ('0' + ((n)>>16 & 0xF)), \
698
- ('0' + ((n)>>12 & 0xF)), \
699
- ('0' + ((n)>>8 & 0xF)), \
700
- ('0' + ((n)>>4 & 0xF)), \
701
- ('0' + ((n) & 0xF))
702
-
703
- /* Construct a string literal encoding the version number. */
704
- #ifdef COMPILER_VERSION
705
- char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
706
-
707
- /* Construct a string literal encoding the version number components. */
708
- #elif defined(COMPILER_VERSION_MAJOR)
709
- char const info_version[] = {
710
- 'I', 'N', 'F', 'O', ':',
711
- 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
712
- COMPILER_VERSION_MAJOR,
713
- # ifdef COMPILER_VERSION_MINOR
714
- '.', COMPILER_VERSION_MINOR,
715
- # ifdef COMPILER_VERSION_PATCH
716
- '.', COMPILER_VERSION_PATCH,
717
- # ifdef COMPILER_VERSION_TWEAK
718
- '.', COMPILER_VERSION_TWEAK,
719
- # endif
720
- # endif
721
- # endif
722
- ']','\0'};
723
- #endif
724
-
725
- /* Construct a string literal encoding the internal version number. */
726
- #ifdef COMPILER_VERSION_INTERNAL
727
- char const info_version_internal[] = {
728
- 'I', 'N', 'F', 'O', ':',
729
- 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
730
- 'i','n','t','e','r','n','a','l','[',
731
- COMPILER_VERSION_INTERNAL,']','\0'};
732
- #elif defined(COMPILER_VERSION_INTERNAL_STR)
733
- char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
734
- #endif
735
-
736
- /* Construct a string literal encoding the version number components. */
737
- #ifdef SIMULATE_VERSION_MAJOR
738
- char const info_simulate_version[] = {
739
- 'I', 'N', 'F', 'O', ':',
740
- 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
741
- SIMULATE_VERSION_MAJOR,
742
- # ifdef SIMULATE_VERSION_MINOR
743
- '.', SIMULATE_VERSION_MINOR,
744
- # ifdef SIMULATE_VERSION_PATCH
745
- '.', SIMULATE_VERSION_PATCH,
746
- # ifdef SIMULATE_VERSION_TWEAK
747
- '.', SIMULATE_VERSION_TWEAK,
748
- # endif
749
- # endif
750
- # endif
751
- ']','\0'};
752
- #endif
753
-
754
- /* Construct the string literal in pieces to prevent the source from
755
- getting matched. Store it in a pointer rather than an array
756
- because some compilers will just produce instructions to fill the
757
- array rather than assigning a pointer to a static array. */
758
- char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
759
- char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
760
-
761
-
762
-
763
- #if !defined(__STDC__) && !defined(__clang__)
764
- # if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
765
- # define C_VERSION "90"
766
- # else
767
- # define C_VERSION
768
- # endif
769
- #elif __STDC_VERSION__ > 201710L
770
- # define C_VERSION "23"
771
- #elif __STDC_VERSION__ >= 201710L
772
- # define C_VERSION "17"
773
- #elif __STDC_VERSION__ >= 201000L
774
- # define C_VERSION "11"
775
- #elif __STDC_VERSION__ >= 199901L
776
- # define C_VERSION "99"
777
- #else
778
- # define C_VERSION "90"
779
- #endif
780
- const char* info_language_standard_default =
781
- "INFO" ":" "standard_default[" C_VERSION "]";
782
-
783
- const char* info_language_extensions_default = "INFO" ":" "extensions_default["
784
- #if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
785
- defined(__TI_COMPILER_VERSION__)) && \
786
- !defined(__STRICT_ANSI__)
787
- "ON"
788
- #else
789
- "OFF"
790
- #endif
791
- "]";
792
-
793
- /*--------------------------------------------------------------------------*/
794
-
795
- #ifdef ID_VOID_MAIN
796
- void main() {}
797
- #else
798
- # if defined(__CLASSIC_C__)
799
- int main(argc, argv) int argc; char *argv[];
800
- # else
801
- int main(int argc, char* argv[])
802
- # endif
803
- {
804
- int require = 0;
805
- require += info_compiler[argc];
806
- require += info_platform[argc];
807
- require += info_arch[argc];
808
- #ifdef COMPILER_VERSION_MAJOR
809
- require += info_version[argc];
810
- #endif
811
- #ifdef COMPILER_VERSION_INTERNAL
812
- require += info_version_internal[argc];
813
- #endif
814
- #ifdef SIMULATE_ID
815
- require += info_simulate[argc];
816
- #endif
817
- #ifdef SIMULATE_VERSION_MAJOR
818
- require += info_simulate_version[argc];
819
- #endif
820
- #if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
821
- require += info_cray[argc];
822
- #endif
823
- require += info_language_standard_default[argc];
824
- require += info_language_extensions_default[argc];
825
- (void)argv;
826
- return require;
827
- }
828
- #endif