zemu 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (285) hide show
  1. checksums.yaml +7 -0
  2. data/lib/zemu/config.rb +312 -0
  3. data/lib/zemu/instance.rb +179 -0
  4. data/lib/zemu.rb +172 -0
  5. data/src/debug.c +118 -0
  6. data/src/debug.h +30 -0
  7. data/src/external/Z/API/Z/ABIs/generic/allocator.h +36 -0
  8. data/src/external/Z/API/Z/ABIs/generic/cipher.h +47 -0
  9. data/src/external/Z/API/Z/ABIs/generic/data codec.h +33 -0
  10. data/src/external/Z/API/Z/ABIs/generic/emulation.h +103 -0
  11. data/src/external/Z/API/Z/ABIs/generic/hash function.h +33 -0
  12. data/src/external/Z/API/Z/ABIs/generic/module.h +33 -0
  13. data/src/external/Z/API/Z/ABIs/generic/wave codec.h +40 -0
  14. data/src/external/Z/API/Z/classes/base/InitializerList.hpp +34 -0
  15. data/src/external/Z/API/Z/classes/base/OpaqueFunctionPointer.hpp +26 -0
  16. data/src/external/Z/API/Z/classes/base/OpaqueMemberFunctionPointer.hpp +26 -0
  17. data/src/external/Z/API/Z/classes/base/Pair.hpp +46 -0
  18. data/src/external/Z/API/Z/classes/base/Range.hpp +111 -0
  19. data/src/external/Z/API/Z/classes/base/SizedString.hpp +66 -0
  20. data/src/external/Z/API/Z/classes/base/Status.hpp +89 -0
  21. data/src/external/Z/API/Z/classes/base/Symbol.hpp +39 -0
  22. data/src/external/Z/API/Z/classes/base/Tuple.hpp +111 -0
  23. data/src/external/Z/API/Z/classes/base/Value2D.hpp +389 -0
  24. data/src/external/Z/API/Z/classes/base/Value3D.hpp +368 -0
  25. data/src/external/Z/API/Z/classes/buffering/RingBuffer.hpp +93 -0
  26. data/src/external/Z/API/Z/classes/buffering/TripleBuffer.hpp +68 -0
  27. data/src/external/Z/API/Z/classes/functional/Functor.hpp +265 -0
  28. data/src/external/Z/API/Z/classes/functional/MemberFunction.hpp +98 -0
  29. data/src/external/Z/API/Z/classes/functional/ObjectMemberFunction.hpp +172 -0
  30. data/src/external/Z/API/Z/classes/functional/ObjectSelector.hpp +219 -0
  31. data/src/external/Z/API/Z/classes/functional/Selector.hpp +146 -0
  32. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABB.hpp +81 -0
  33. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABR.hpp +685 -0
  34. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Box.hpp +219 -0
  35. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Circle.hpp +80 -0
  36. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line2D.hpp +93 -0
  37. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line3D.hpp +80 -0
  38. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Rectangle.hpp +675 -0
  39. data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Sphere.hpp +0 -0
  40. data/src/external/Z/API/Z/classes/memory/Shared.hpp +90 -0
  41. data/src/external/Z/API/Z/constants/base.h +35 -0
  42. data/src/external/Z/API/Z/constants/chemical elements.h +6385 -0
  43. data/src/external/Z/API/Z/constants/numbers.h +963 -0
  44. data/src/external/Z/API/Z/constants/version.h +15 -0
  45. data/src/external/Z/API/Z/formats/character set/ASCII.h +158 -0
  46. data/src/external/Z/API/Z/formats/character set/DOS CP437.h +159 -0
  47. data/src/external/Z/API/Z/formats/character set/DOS CP737.h +159 -0
  48. data/src/external/Z/API/Z/formats/character set/DOS CP775.h +159 -0
  49. data/src/external/Z/API/Z/formats/character set/DOS CP850.h +159 -0
  50. data/src/external/Z/API/Z/formats/character set/DOS CP852.h +159 -0
  51. data/src/external/Z/API/Z/formats/character set/DOS CP855.h +159 -0
  52. data/src/external/Z/API/Z/formats/character set/DOS CP857.h +159 -0
  53. data/src/external/Z/API/Z/formats/character set/DOS CP858.h +159 -0
  54. data/src/external/Z/API/Z/formats/character set/DOS CP860.h +159 -0
  55. data/src/external/Z/API/Z/formats/character set/DOS CP861.h +159 -0
  56. data/src/external/Z/API/Z/formats/character set/DOS CP862.h +159 -0
  57. data/src/external/Z/API/Z/formats/character set/DOS CP863.h +159 -0
  58. data/src/external/Z/API/Z/formats/character set/DOS CP864.h +159 -0
  59. data/src/external/Z/API/Z/formats/character set/DOS CP865.h +159 -0
  60. data/src/external/Z/API/Z/formats/character set/DOS CP866.h +159 -0
  61. data/src/external/Z/API/Z/formats/character set/DOS CP869.h +159 -0
  62. data/src/external/Z/API/Z/formats/character set/DOS CP872.h +159 -0
  63. data/src/external/Z/API/Z/formats/character set/DOS CP874.h +159 -0
  64. data/src/external/Z/API/Z/formats/character set/Unicode.h +30119 -0
  65. data/src/external/Z/API/Z/formats/data model/I16LP32.h +19 -0
  66. data/src/external/Z/API/Z/formats/data model/ILP32.h +19 -0
  67. data/src/external/Z/API/Z/formats/data model/ILP64.h +19 -0
  68. data/src/external/Z/API/Z/formats/data model/IP16L32.h +19 -0
  69. data/src/external/Z/API/Z/formats/data model/LLP64.h +19 -0
  70. data/src/external/Z/API/Z/formats/data model/LP32.h +19 -0
  71. data/src/external/Z/API/Z/formats/data model/LP64.h +19 -0
  72. data/src/external/Z/API/Z/formats/data model/SILP64.h +19 -0
  73. data/src/external/Z/API/Z/formats/file system/FAT12.h +61 -0
  74. data/src/external/Z/API/Z/formats/floating-point/IEEE 754.h +141 -0
  75. data/src/external/Z/API/Z/formats/floating-point/x87.h +74 -0
  76. data/src/external/Z/API/Z/formats/image/ICNS.h +39 -0
  77. data/src/external/Z/API/Z/formats/keymap/Mac OS.h +284 -0
  78. data/src/external/Z/API/Z/formats/keymap/Z.h +141 -0
  79. data/src/external/Z/API/Z/formats/multimedia/Creative Voice.h +106 -0
  80. data/src/external/Z/API/Z/formats/multimedia/Microsoft Wave.h +49 -0
  81. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ACH.h +44 -0
  82. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/FRZ.h +54 -0
  83. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/PRG.h +33 -0
  84. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SEM.h +46 -0
  85. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SIT.h +34 -0
  86. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNA.h +117 -0
  87. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNP.h +37 -0
  88. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SP.h +62 -0
  89. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/Z80.h +117 -0
  90. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX.h +56 -0
  91. data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX82.h +70 -0
  92. data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/UNIF.h +26 -0
  93. data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/iNES.h +76 -0
  94. data/src/external/Z/API/Z/formats/storage medium image/audio/TAP.h +25 -0
  95. data/src/external/Z/API/Z/formats/storage medium image/audio/TZX.h +1185 -0
  96. data/src/external/Z/API/Z/formats/storage medium image/audio/Warajevo TAP.h +32 -0
  97. data/src/external/Z/API/Z/formats/storage medium image/floppy disk/FDI.h +45 -0
  98. data/src/external/Z/API/Z/functions/base/Z2D.h +583 -0
  99. data/src/external/Z/API/Z/functions/base/Z3D.h +712 -0
  100. data/src/external/Z/API/Z/functions/base/ZRange.h +137 -0
  101. data/src/external/Z/API/Z/functions/base/all.h +16 -0
  102. data/src/external/Z/API/Z/functions/base/casting.hpp +37 -0
  103. data/src/external/Z/API/Z/functions/base/character.h +38 -0
  104. data/src/external/Z/API/Z/functions/base/constructors.h +326 -0
  105. data/src/external/Z/API/Z/functions/base/structure.hpp +26 -0
  106. data/src/external/Z/API/Z/functions/base/type.hpp +60 -0
  107. data/src/external/Z/API/Z/functions/base/value.h +1901 -0
  108. data/src/external/Z/API/Z/functions/base/value.hpp +112 -0
  109. data/src/external/Z/API/Z/functions/buffering/ZRingBuffer.h +85 -0
  110. data/src/external/Z/API/Z/functions/buffering/ZTripleBuffer.h +65 -0
  111. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z2DLine.h +179 -0
  112. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z3DLine.h +168 -0
  113. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABB.h +361 -0
  114. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABR.h +1081 -0
  115. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZBox.h +340 -0
  116. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZCircle.h +142 -0
  117. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZRectangle.h +1267 -0
  118. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZSphere.h +156 -0
  119. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/all.h +18 -0
  120. data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/constructors.h +620 -0
  121. data/src/external/Z/API/Z/functions/time/date.h +29 -0
  122. data/src/external/Z/API/Z/hardware/CPU/architecture/6502.h +90 -0
  123. data/src/external/Z/API/Z/hardware/CPU/architecture/Z80.h +245 -0
  124. data/src/external/Z/API/Z/hardware/CPU/architecture/i4004.h +37 -0
  125. data/src/external/Z/API/Z/hardware/PSG/General Instrument/AY-3-891x.h +180 -0
  126. data/src/external/Z/API/Z/hardware/VDC/Ricoh/RP2C0x.h +625 -0
  127. data/src/external/Z/API/Z/hardware/bus/AGP.h +24 -0
  128. data/src/external/Z/API/Z/hardware/bus/USB.h +510 -0
  129. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Inves Spectrum +.h +47 -0
  130. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Pentagon.h +13 -0
  131. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Scorpion.h +13 -0
  132. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum + 128K.h +158 -0
  133. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +.h +82 -0
  134. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2.h +13 -0
  135. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2A.h +13 -0
  136. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +3.h +13 -0
  137. data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum.h +109 -0
  138. data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (NTSC).h +29 -0
  139. data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (PAL).h +29 -0
  140. data/src/external/Z/API/Z/hardware/machine/platform/computer/ZX Spectrum.h +405 -0
  141. data/src/external/Z/API/Z/hardware/machine/platform/console/Game Boy.h +49 -0
  142. data/src/external/Z/API/Z/hardware/machine/platform/console/Nintendo Entertainment System.h +350 -0
  143. data/src/external/Z/API/Z/hardware/storage medium/ROM cartridge/SNES Game Pak.h +238 -0
  144. data/src/external/Z/API/Z/inspection/C/completion.h +178 -0
  145. data/src/external/Z/API/Z/inspection/C/modules/C11.h +41 -0
  146. data/src/external/Z/API/Z/inspection/C/modules/C18.h +13 -0
  147. data/src/external/Z/API/Z/inspection/C/modules/C89.h +19 -0
  148. data/src/external/Z/API/Z/inspection/C/modules/C90.h +13 -0
  149. data/src/external/Z/API/Z/inspection/C/modules/C94.h +15 -0
  150. data/src/external/Z/API/Z/inspection/C/modules/C99.h +29 -0
  151. data/src/external/Z/API/Z/inspection/C/modules/KR C.h +19 -0
  152. data/src/external/Z/API/Z/inspection/C++/completion.h +512 -0
  153. data/src/external/Z/API/Z/inspection/C++/modules/C++03.h +15 -0
  154. data/src/external/Z/API/Z/inspection/C++/modules/C++11.h +80 -0
  155. data/src/external/Z/API/Z/inspection/C++/modules/C++14.h +26 -0
  156. data/src/external/Z/API/Z/inspection/C++/modules/C++17.h +55 -0
  157. data/src/external/Z/API/Z/inspection/C++/modules/C++85.h +11 -0
  158. data/src/external/Z/API/Z/inspection/C++/modules/C++89.h +13 -0
  159. data/src/external/Z/API/Z/inspection/C++/modules/C++98.h +17 -0
  160. data/src/external/Z/API/Z/inspection/C++.h +78 -0
  161. data/src/external/Z/API/Z/inspection/C.h +79 -0
  162. data/src/external/Z/API/Z/inspection/CPU/completion.h +56 -0
  163. data/src/external/Z/API/Z/inspection/CPU/detection.h +714 -0
  164. data/src/external/Z/API/Z/inspection/CPU/modules/6502.h +25 -0
  165. data/src/external/Z/API/Z/inspection/CPU/modules/AArch32.h +32 -0
  166. data/src/external/Z/API/Z/inspection/CPU/modules/AArch64.h +32 -0
  167. data/src/external/Z/API/Z/inspection/CPU/modules/Z80.h +26 -0
  168. data/src/external/Z/API/Z/inspection/CPU/modules/x86-32.h +31 -0
  169. data/src/external/Z/API/Z/inspection/CPU/modules/x86-64.h +312 -0
  170. data/src/external/Z/API/Z/inspection/CPU.h +209 -0
  171. data/src/external/Z/API/Z/inspection/OS/completion.h +36 -0
  172. data/src/external/Z/API/Z/inspection/OS/detection.h +768 -0
  173. data/src/external/Z/API/Z/inspection/OS/modules/Linux.h +22 -0
  174. data/src/external/Z/API/Z/inspection/OS/modules/MS-DOS.h +16 -0
  175. data/src/external/Z/API/Z/inspection/OS/modules/Mac OS X.h +23 -0
  176. data/src/external/Z/API/Z/inspection/OS/modules/Windows.h +19 -0
  177. data/src/external/Z/API/Z/inspection/OS/modules/iPhone OS.h +23 -0
  178. data/src/external/Z/API/Z/inspection/OS.h +236 -0
  179. data/src/external/Z/API/Z/inspection/Objective-C/completion.h +8 -0
  180. data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v1.0.h +11 -0
  181. data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v2.0.h +15 -0
  182. data/src/external/Z/API/Z/inspection/Objective-C.h +51 -0
  183. data/src/external/Z/API/Z/inspection/Z.h +19 -0
  184. data/src/external/Z/API/Z/inspection/build.h +22 -0
  185. data/src/external/Z/API/Z/inspection/character set.h +66 -0
  186. data/src/external/Z/API/Z/inspection/compiler/completion.h +2885 -0
  187. data/src/external/Z/API/Z/inspection/compiler/modules/Apple LLVM.h +26 -0
  188. data/src/external/Z/API/Z/inspection/compiler/modules/Clang.h +1664 -0
  189. data/src/external/Z/API/Z/inspection/compiler/modules/GCC.h +1366 -0
  190. data/src/external/Z/API/Z/inspection/compiler/modules/SCCZ80.h +473 -0
  191. data/src/external/Z/API/Z/inspection/compiler/modules/Visual C++.h +606 -0
  192. data/src/external/Z/API/Z/inspection/compiler/modules/cc65.h +529 -0
  193. data/src/external/Z/API/Z/inspection/compiler/modules/generic.h +13 -0
  194. data/src/external/Z/API/Z/inspection/compiler/modules/template.h +650 -0
  195. data/src/external/Z/API/Z/inspection/compiler.h +299 -0
  196. data/src/external/Z/API/Z/inspection/data model/completion.h +128 -0
  197. data/src/external/Z/API/Z/inspection/data model/deduction.h +9 -0
  198. data/src/external/Z/API/Z/inspection/data model/detection.h +45 -0
  199. data/src/external/Z/API/Z/inspection/data model.h +362 -0
  200. data/src/external/Z/API/Z/inspection/floating-point/completion.h +50 -0
  201. data/src/external/Z/API/Z/inspection/floating-point.h +324 -0
  202. data/src/external/Z/API/Z/inspection/language.h +163 -0
  203. data/src/external/Z/API/Z/inspection/platform/detection.h +9 -0
  204. data/src/external/Z/API/Z/inspection/platform.h +29 -0
  205. data/src/external/Z/API/Z/keys/C++.h +27 -0
  206. data/src/external/Z/API/Z/keys/C.h +29 -0
  207. data/src/external/Z/API/Z/keys/CPU.h +80 -0
  208. data/src/external/Z/API/Z/keys/OS.h +182 -0
  209. data/src/external/Z/API/Z/keys/Objective-C.h +17 -0
  210. data/src/external/Z/API/Z/keys/chemistry.h +26 -0
  211. data/src/external/Z/API/Z/keys/compiler.h +178 -0
  212. data/src/external/Z/API/Z/keys/data model.h +32 -0
  213. data/src/external/Z/API/Z/keys/endianness.h +24 -0
  214. data/src/external/Z/API/Z/keys/language.h +21 -0
  215. data/src/external/Z/API/Z/keys/layout.h +20 -0
  216. data/src/external/Z/API/Z/keys/mathematics/geometry.h +29 -0
  217. data/src/external/Z/API/Z/keys/mathematics/number.h +21 -0
  218. data/src/external/Z/API/Z/keys/order.h +18 -0
  219. data/src/external/Z/API/Z/keys/platform.h +87 -0
  220. data/src/external/Z/API/Z/keys/program.h +39 -0
  221. data/src/external/Z/API/Z/keys/science/chemical elements.h +200 -0
  222. data/src/external/Z/API/Z/keys/science/electricity.h +18 -0
  223. data/src/external/Z/API/Z/keys/science/magnetism.h +19 -0
  224. data/src/external/Z/API/Z/keys/status.h +69 -0
  225. data/src/external/Z/API/Z/keys/text.h +27 -0
  226. data/src/external/Z/API/Z/keys/value.h +88 -0
  227. data/src/external/Z/API/Z/macros/arguments.h +25 -0
  228. data/src/external/Z/API/Z/macros/casting.h +22 -0
  229. data/src/external/Z/API/Z/macros/character.h +159 -0
  230. data/src/external/Z/API/Z/macros/date.h +14 -0
  231. data/src/external/Z/API/Z/macros/key.h +20 -0
  232. data/src/external/Z/API/Z/macros/language.h +126 -0
  233. data/src/external/Z/API/Z/macros/language.hpp +81 -0
  234. data/src/external/Z/API/Z/macros/members.h +86 -0
  235. data/src/external/Z/API/Z/macros/pasting.h +308 -0
  236. data/src/external/Z/API/Z/macros/pointer.h +33 -0
  237. data/src/external/Z/API/Z/macros/repetition.h +283 -0
  238. data/src/external/Z/API/Z/macros/structure.h +104 -0
  239. data/src/external/Z/API/Z/macros/templating.h +407 -0
  240. data/src/external/Z/API/Z/macros/tokens.h +14 -0
  241. data/src/external/Z/API/Z/macros/type enumeration.h +43 -0
  242. data/src/external/Z/API/Z/macros/type selection.hpp +76 -0
  243. data/src/external/Z/API/Z/macros/value.h +489 -0
  244. data/src/external/Z/API/Z/macros/variadic pasting.h +21 -0
  245. data/src/external/Z/API/Z/macros/variadic selection.h +56 -0
  246. data/src/external/Z/API/Z/macros/variadic.h +46 -0
  247. data/src/external/Z/API/Z/macros/version.h +17 -0
  248. data/src/external/Z/API/Z/network/3/IP.h +36 -0
  249. data/src/external/Z/API/Z/network/4/TCP.h +24 -0
  250. data/src/external/Z/API/Z/network/4/UDP.h +26 -0
  251. data/src/external/Z/API/Z/network/7/ED2K.h +104 -0
  252. data/src/external/Z/API/Z/network/7/HTTP.h +100 -0
  253. data/src/external/Z/API/Z/traits/SelectType.hpp +71 -0
  254. data/src/external/Z/API/Z/traits/TernaryType.hpp +20 -0
  255. data/src/external/Z/API/Z/traits/Type.hpp +4516 -0
  256. data/src/external/Z/API/Z/traits/TypeCount.hpp +52 -0
  257. data/src/external/Z/API/Z/traits/TypeList.hpp +376 -0
  258. data/src/external/Z/API/Z/traits/base.hpp +19 -0
  259. data/src/external/Z/API/Z/traits/filtering.hpp +30 -0
  260. data/src/external/Z/API/Z/traits/mathematics.hpp +48 -0
  261. data/src/external/Z/API/Z/types/arguments.h +19 -0
  262. data/src/external/Z/API/Z/types/base.h +1655 -0
  263. data/src/external/Z/API/Z/types/base.hpp +169 -0
  264. data/src/external/Z/API/Z/types/buffering.h +27 -0
  265. data/src/external/Z/API/Z/types/mathematics.h +135 -0
  266. data/src/external/Z/API/Z/types/time.h +23 -0
  267. data/src/external/Z/COPYING.LESSER +165 -0
  268. data/src/external/Z/development/Qt Creator/Z.pro +253 -0
  269. data/src/external/Z/distribution/CocoaPods/Zeta.podspec +18 -0
  270. data/src/external/Z/distribution/Gentoo Linux/Zeta-0.1.ebuild +22 -0
  271. data/src/external/Z/distribution/Gentoo Linux/metadata.xml +8 -0
  272. data/src/external/Z/distribution/Homebrew/Zeta.rb +11 -0
  273. data/src/external/z80/API/emulation/CPU/Z80.h +201 -0
  274. data/src/external/z80/README.md +229 -0
  275. data/src/external/z80/building/premake4.lua +33 -0
  276. data/src/external/z80/development/Xcode/Z80.xcodeproj/project.pbxproj +520 -0
  277. data/src/external/z80/sources/Z80.c +1660 -0
  278. data/src/interrupt.c +6 -0
  279. data/src/interrupt.h +3 -0
  280. data/src/io.c.erb +115 -0
  281. data/src/io.h.erb +18 -0
  282. data/src/main.c +69 -0
  283. data/src/memory.c.erb +43 -0
  284. data/src/memory.h.erb +9 -0
  285. metadata +329 -0
@@ -0,0 +1,2885 @@
1
+ /* Z Kit - inspection/compiler/completion.h
2
+ _____ _______________
3
+ /_ /_/ -_/_ _/ _ |
4
+ /____/\___/ /__//___/_| Kit
5
+ Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
6
+ Copyright (C) 2018 Ortega Sosa, Sofía.
7
+ Released under the terms of the GNU Lesser General Public License v3. */
8
+
9
+ /* MARK: - CPU endianness */
10
+
11
+ #ifdef Z_COMPILER_CPU_INTEGER_ENDIANNESS
12
+
13
+ # define Z_COMPILER_CPU_INTEGER_ENDIANNESS_8BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS
14
+ # define Z_COMPILER_CPU_INTEGER_ENDIANNESS_16BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS
15
+ # define Z_COMPILER_CPU_INTEGER_ENDIANNESS_32BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS
16
+ # define Z_COMPILER_CPU_INTEGER_ENDIANNESS_64BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS
17
+ # define Z_COMPILER_CPU_INTEGER_ENDIANNESS_128BIT Z_COMPILER_CPU_INTEGER_ENDIANNESS
18
+
19
+ #endif
20
+
21
+ /* MARK: - Bit field order */
22
+
23
+ #ifdef Z_COMPILER_BIT_FIELD_ORDER
24
+
25
+ # define Z_COMPILER_BIT_FIELD_ORDER_8BIT Z_COMPILER_BIT_FIELD_ORDER
26
+ # define Z_COMPILER_BIT_FIELD_ORDER_16BIT Z_COMPILER_BIT_FIELD_ORDER
27
+ # define Z_COMPILER_BIT_FIELD_ORDER_32BIT Z_COMPILER_BIT_FIELD_ORDER
28
+ # define Z_COMPILER_BIT_FIELD_ORDER_64BIT Z_COMPILER_BIT_FIELD_ORDER
29
+ # define Z_COMPILER_BIT_FIELD_ORDER_128BIT Z_COMPILER_BIT_FIELD_ORDER
30
+
31
+ #endif
32
+
33
+ /* MARK: - K&R C support */
34
+
35
+ #ifndef Z_COMPILER_C_HAS_OPERATOR_SIZE_OF
36
+ # define Z_COMPILER_C_HAS_OPERATOR_SIZE_OF FALSE
37
+ #endif
38
+
39
+ #ifndef Z_COMPILER_C_HAS_STORAGE_CLASS_AUTO
40
+ # define Z_COMPILER_C_HAS_STORAGE_CLASS_AUTO FALSE
41
+ #endif
42
+
43
+ #ifndef Z_COMPILER_C_HAS_STORAGE_CLASS_EXTERN
44
+ # define Z_COMPILER_C_HAS_STORAGE_CLASS_EXTERN FALSE
45
+ #endif
46
+
47
+ #ifndef Z_COMPILER_C_HAS_STORAGE_CLASS_REGISTER
48
+ # define Z_COMPILER_C_HAS_STORAGE_CLASS_REGISTER FALSE
49
+ #endif
50
+
51
+ #ifndef Z_COMPILER_C_HAS_STORAGE_CLASS_STATIC
52
+ # define Z_COMPILER_C_HAS_STORAGE_CLASS_STATIC FALSE
53
+ #endif
54
+
55
+ #ifndef Z_COMPILER_C_HAS_TYPE_FLOAT
56
+ # define Z_COMPILER_C_HAS_TYPE_FLOAT FALSE
57
+ #endif
58
+
59
+ #ifndef Z_COMPILER_C_HAS_TYPE_DOUBLE
60
+ # define Z_COMPILER_C_HAS_TYPE_DOUBLE FALSE
61
+ #endif
62
+
63
+ /* MARK: - C89 support */
64
+
65
+ #ifndef Z_COMPILER_C_HAS_ENUMERATION
66
+ # define Z_COMPILER_C_HAS_ENUMERATION FALSE
67
+ #endif
68
+
69
+ #ifndef Z_COMPILER_C_HAS_VOID_POINTER
70
+ # define Z_COMPILER_C_HAS_VOID_POINTER FALSE
71
+ #endif
72
+
73
+ #ifndef Z_COMPILER_C_HAS_TYPE_LDOUBLE
74
+ # define Z_COMPILER_C_HAS_TYPE_LDOUBLE FALSE
75
+ #endif
76
+
77
+ #ifndef Z_COMPILER_C_HAS_TYPE_QUALIFIER_CONSTANT
78
+ # define Z_COMPILER_C_HAS_TYPE_QUALIFIER_CONSTANT FALSE
79
+ #endif
80
+
81
+ #ifndef Z_COMPILER_C_HAS_TYPE_QUALIFIER_VOLATILE
82
+ # define Z_COMPILER_C_HAS_TYPE_QUALIFIER_VOLATILE FALSE
83
+ #endif
84
+
85
+ /* MARK: - C90 support */
86
+
87
+ /* MARK: - C94 support */
88
+
89
+ #ifndef Z_COMPILER_C_HAS_DIGRAPHS
90
+ # define Z_COMPILER_C_HAS_DIGRAPHS FALSE
91
+ #endif
92
+
93
+ /* MARK: - C99 support */
94
+
95
+ #ifndef Z_COMPILER_C_HAS_COMPOUND_LITERAL
96
+ # define Z_COMPILER_C_HAS_COMPOUND_LITERAL FALSE
97
+ #endif
98
+
99
+ #ifndef Z_COMPILER_C_HAS_CPP_STYLE_COMMENT
100
+ # define Z_COMPILER_C_HAS_CPP_STYLE_COMMENT FALSE
101
+ #endif
102
+
103
+ #ifndef Z_COMPILER_C_HAS_DESIGNATED_INITIALIZER
104
+ # define Z_COMPILER_C_HAS_DESIGNATED_INITIALIZER FALSE
105
+ #endif
106
+
107
+ #ifndef Z_COMPILER_C_HAS_FLEXIBLE_ARRAY_MEMBER
108
+ # define Z_COMPILER_C_HAS_FLEXIBLE_ARRAY_MEMBER FALSE
109
+ #endif
110
+
111
+ #ifndef Z_COMPILER_C_HAS_INLINE_FUNCION
112
+ # define Z_COMPILER_C_HAS_INLINE_FUNCION FALSE
113
+ #endif
114
+
115
+ #ifndef Z_COMPILER_C_HAS_MIXED_DECLARATIONS_AND_CODE
116
+ # define Z_COMPILER_C_HAS_MIXED_DECLARATIONS_AND_CODE FALSE
117
+ #endif
118
+
119
+ #ifndef Z_COMPILER_C_HAS_NON_CONSTANT_AGGREGATE_INITIALIZER
120
+ # define Z_COMPILER_C_HAS_NON_CONSTANT_AGGREGATE_INITIALIZER FALSE
121
+ #endif
122
+
123
+ #ifndef Z_COMPILER_C_HAS_PREPROCESSOR_ARITHMETIC_DONE_IN_MAXIMUM_INTEGRAL
124
+ # define Z_COMPILER_C_HAS_PREPROCESSOR_ARITHMETIC_DONE_IN_MAXIMUM_INTEGRAL FALSE
125
+ #endif
126
+
127
+ #ifndef Z_COMPILER_C_HAS_VARIADIC_MACRO
128
+ # define Z_COMPILER_C_HAS_VARIADIC_MACRO FALSE
129
+ #endif
130
+
131
+ #ifndef Z_COMPILER_C_HAS_VLA
132
+ # define Z_COMPILER_C_HAS_VLA FALSE
133
+ #endif
134
+
135
+ #ifndef Z_COMPILER_C_HAS_MAGIC_CONSTANT_FUNCTION_NAME
136
+ # define Z_COMPILER_C_HAS_MAGIC_CONSTANT_FUNCTION_NAME FALSE
137
+ #endif
138
+
139
+ #ifndef Z_COMPILER_C_HAS_SPECIFIER_INLINE
140
+ # define Z_COMPILER_C_HAS_SPECIFIER_INLINE FALSE
141
+ #endif
142
+
143
+ #ifndef Z_COMPILER_C_HAS_TYPE_BOOLEAN
144
+ # define Z_COMPILER_C_HAS_TYPE_BOOLEAN FALSE
145
+ #endif
146
+
147
+ #ifndef Z_COMPILER_C_HAS_TYPE_LLONG
148
+ # define Z_COMPILER_C_HAS_TYPE_LLONG FALSE
149
+ #endif
150
+
151
+ #ifndef Z_COMPILER_C_HAS_TYPE_QUALIFIER_RESTRICT
152
+ # define Z_COMPILER_C_HAS_TYPE_QUALIFIER_RESTRICT FALSE
153
+ #endif
154
+
155
+ /* MARK: - C11 support */
156
+
157
+ #ifndef Z_COMPILER_C_HAS_ANONYMOUS_STRUCTURE
158
+ # define Z_COMPILER_C_HAS_ANONYMOUS_STRUCTURE FALSE
159
+ #endif
160
+
161
+ #ifndef Z_COMPILER_C_HAS_ANONYMOUS_UNION
162
+ # define Z_COMPILER_C_HAS_ANONYMOUS_UNION FALSE
163
+ #endif
164
+
165
+ #ifndef Z_COMPILER_C_HAS_ATOMIC_OPERATIONS
166
+ # define Z_COMPILER_C_HAS_ATOMIC_OPERATIONS FALSE
167
+ #endif
168
+
169
+ #ifndef Z_COMPILER_C_HAS_GENERIC_SELECTION
170
+ # define Z_COMPILER_C_HAS_GENERIC_SELECTION FALSE
171
+ #endif
172
+
173
+ #ifndef Z_COMPILER_C_HAS_STATIC_ASSERTION
174
+ # define Z_COMPILER_C_HAS_STATIC_ASSERTION FALSE
175
+ #endif
176
+
177
+ #ifndef Z_COMPILER_C_HAS_OPERATOR_ALIGN_OF
178
+ # define Z_COMPILER_C_HAS_OPERATOR_ALIGN_OF FALSE
179
+ #endif
180
+
181
+ #ifndef Z_COMPILER_C_HAS_SPECIFIER_ALIGN_AS
182
+ # define Z_COMPILER_C_HAS_SPECIFIER_ALIGN_AS FALSE
183
+ #endif
184
+
185
+ #ifndef Z_COMPILER_C_HAS_SPECIFIER_ATOMIC
186
+ # define Z_COMPILER_C_HAS_SPECIFIER_ATOMIC FALSE
187
+ #endif
188
+
189
+ #ifndef Z_COMPILER_C_HAS_SPECIFIER_NO_RETURN
190
+ # define Z_COMPILER_C_HAS_SPECIFIER_NO_RETURN FALSE
191
+ #endif
192
+
193
+ #ifndef Z_COMPILER_C_HAS_STORATE_CLASS_THREAD_LOCAL
194
+ # define Z_COMPILER_C_HAS_STORATE_CLASS_THREAD_LOCAL FALSE
195
+ #endif
196
+
197
+ #ifndef Z_COMPILER_C_HAS_TYPE_QUALIFIER_ATOMIC
198
+ # define Z_COMPILER_C_HAS_TYPE_QUALIFIER_ATOMIC FALSE
199
+ #endif
200
+
201
+ /* MARK: - C18 support */
202
+
203
+ /* MARK: - Apple C extensions support */
204
+
205
+ #ifndef Z_COMPILER_C_HAS_CLOSURE
206
+ # define Z_COMPILER_C_HAS_CLOSURE FALSE
207
+ #endif
208
+
209
+ #ifdef __cplusplus
210
+
211
+ /* MARK: - C++98 support */
212
+
213
+ # ifndef Z_COMPILER_CPP_HAS_SFINAE
214
+ # define Z_COMPILER_CPP_HAS_SFINAE FALSE
215
+ # endif
216
+
217
+ # ifndef Z_COMPILER_CPP_HAS_TYPE_BOOLEAN
218
+ # define Z_COMPILER_CPP_HAS_TYPE_BOOLEAN FALSE
219
+ # endif
220
+
221
+ # ifndef Z_COMPILER_CPP_HAS_TYPE_WCHAR
222
+ # define Z_COMPILER_CPP_HAS_TYPE_WCHAR FALSE
223
+ # endif
224
+
225
+ /* MARK: - C++03 support */
226
+
227
+ # ifndef Z_COMPILER_CPP_HAS_VALUE_INITIALIZATION
228
+ # define Z_COMPILER_CPP_HAS_VALUE_INITIALIZATION FALSE
229
+ # endif
230
+
231
+ /* MARK: - C++11 support */
232
+
233
+ # ifndef Z_COMPILER_CPP_HAS_C99_PREPROCESSOR
234
+ # define Z_COMPILER_CPP_HAS_C99_PREPROCESSOR FALSE
235
+ # endif
236
+
237
+ # ifndef Z_COMPILER_CPP_HAS_CONCURRENT_STATIC_LOCAL_VARIABLE
238
+ # define Z_COMPILER_CPP_HAS_CONCURRENT_STATIC_LOCAL_VARIABLE FALSE
239
+ # endif
240
+
241
+ # ifndef Z_COMPILER_CPP_HAS_CONDITIONALLY_SUPPORTED_BEHAVIOR
242
+ # define Z_COMPILER_CPP_HAS_CONDITIONALLY_SUPPORTED_BEHAVIOR FALSE
243
+ # endif
244
+
245
+ # ifndef Z_COMPILER_CPP_HAS_COPY_LIST_INITIALIZATION
246
+ # define Z_COMPILER_CPP_HAS_COPY_LIST_INITIALIZATION FALSE
247
+ # endif
248
+
249
+ # ifndef Z_COMPILER_CPP_HAS_CPP11_RULES_ON_UNIVERSAL_CHARACTER_NAME
250
+ # define Z_COMPILER_CPP_HAS_CPP11_RULES_ON_UNIVERSAL_CHARACTER_NAME FALSE
251
+ # endif
252
+
253
+ # ifndef Z_COMPILER_CPP_HAS_DEFAULT_MEMBER_INITIALIZER
254
+ # define Z_COMPILER_CPP_HAS_DEFAULT_MEMBER_INITIALIZER FALSE
255
+ # endif
256
+
257
+ # ifndef Z_COMPILER_CPP_HAS_DEFAULT_TEMPLATE_ARGUMENTS_FOR_FUNCTION_TEMPLATE
258
+ # define Z_COMPILER_CPP_HAS_DEFAULT_TEMPLATE_ARGUMENTS_FOR_FUNCTION_TEMPLATE FALSE
259
+ # endif
260
+
261
+ # ifndef Z_COMPILER_CPP_HAS_DEFAULTED_FUNCTION
262
+ # define Z_COMPILER_CPP_HAS_DEFAULTED_FUNCTION FALSE
263
+ # endif
264
+
265
+ # ifndef Z_COMPILER_CPP_HAS_DELEGATING_CONSTRUCTORS
266
+ # define Z_COMPILER_CPP_HAS_DELEGATING_CONSTRUCTORS FALSE
267
+ # endif
268
+
269
+ # ifndef Z_COMPILER_CPP_HAS_DELETED_FUNCTION
270
+ # define Z_COMPILER_CPP_HAS_DELETED_FUNCTION FALSE
271
+ # endif
272
+
273
+ # ifndef Z_COMPILER_CPP_HAS_DIRECT_LIST_INITIALIZATION
274
+ # define Z_COMPILER_CPP_HAS_DIRECT_LIST_INITIALIZATION FALSE
275
+ # endif
276
+
277
+ # ifndef Z_COMPILER_CPP_HAS_EXPLICIT_CONVERSION_FUNCTION
278
+ # define Z_COMPILER_CPP_HAS_EXPLICIT_CONVERSION_FUNCTION FALSE
279
+ # endif
280
+
281
+ # ifndef Z_COMPILER_CPP_HAS_EXPRESSION_SFINAE
282
+ # define Z_COMPILER_CPP_HAS_EXPRESSION_SFINAE FALSE
283
+ # endif
284
+
285
+ # ifndef Z_COMPILER_CPP_HAS_EXTENDED_FRIEND_DECLARATION
286
+ # define Z_COMPILER_CPP_HAS_EXTENDED_FRIEND_DECLARATION FALSE
287
+ # endif
288
+
289
+ # ifndef Z_COMPILER_CPP_HAS_EXTERN_TEMPLATE
290
+ # define Z_COMPILER_CPP_HAS_EXTERN_TEMPLATE FALSE
291
+ # endif
292
+
293
+ # ifndef Z_COMPILER_CPP_HAS_FORWARD_DECLARATION_OF_ENUMERATION
294
+ # define Z_COMPILER_CPP_HAS_FORWARD_DECLARATION_OF_ENUMERATION FALSE
295
+ # endif
296
+
297
+ # ifndef Z_COMPILER_CPP_HAS_INHERITING_CONSTRUCTORS
298
+ # define Z_COMPILER_CPP_HAS_INHERITING_CONSTRUCTORS FALSE
299
+ # endif
300
+
301
+ # ifndef Z_COMPILER_CPP_HAS_INITIALIZATION_OF_CLASS_OBJECT_BY_RVALUE
302
+ # define Z_COMPILER_CPP_HAS_INITIALIZATION_OF_CLASS_OBJECT_BY_RVALUE FALSE
303
+ # endif
304
+
305
+ # ifndef Z_COMPILER_CPP_HAS_INITIALIZER_LIST
306
+ # define Z_COMPILER_CPP_HAS_INITIALIZER_LIST FALSE
307
+ # endif
308
+
309
+ # ifndef Z_COMPILER_CPP_HAS_INLINE_NAMESPACE
310
+ # define Z_COMPILER_CPP_HAS_INLINE_NAMESPACE FALSE
311
+ # endif
312
+
313
+ # ifndef Z_COMPILER_CPP_HAS_LAMBDA
314
+ # define Z_COMPILER_CPP_HAS_LAMBDA FALSE
315
+ # endif
316
+
317
+ # ifndef Z_COMPILER_CPP_HAS_LOCAL_TYPE_AS_TEMPLATE_ARGUMENT
318
+ # define Z_COMPILER_CPP_HAS_LOCAL_TYPE_AS_TEMPLATE_ARGUMENT FALSE
319
+ # endif
320
+
321
+ # ifndef Z_COMPILER_CPP_HAS_MOVE_SPECIAL_MEMBER_FUNCTIONS
322
+ # define Z_COMPILER_CPP_HAS_MOVE_SPECIAL_MEMBER_FUNCTIONS FALSE
323
+ # endif
324
+
325
+ # ifndef Z_COMPILER_CPP_HAS_MULTI_DECLARATOR_AUTO
326
+ # define Z_COMPILER_CPP_HAS_MULTI_DECLARATOR_AUTO FALSE
327
+ # endif
328
+
329
+ # ifndef Z_COMPILER_CPP_HAS_RANGE_BASED_FOR
330
+ # define Z_COMPILER_CPP_HAS_RANGE_BASED_FOR FALSE
331
+ # endif
332
+
333
+ # ifndef Z_COMPILER_CPP_HAS_REFERENCE_QUALIFIED_NON_STATIC_MEMBER_FUNCTION
334
+ # define Z_COMPILER_CPP_HAS_REFERENCE_QUALIFIED_NON_STATIC_MEMBER_FUNCTION FALSE
335
+ # endif
336
+
337
+ # ifndef Z_COMPILER_CPP_HAS_REMOVAL_OF_AUTO_AS_STORAGE_CLASS
338
+ # define Z_COMPILER_CPP_HAS_REMOVAL_OF_AUTO_AS_STORAGE_CLASS FALSE
339
+ # endif
340
+
341
+ # ifndef Z_COMPILER_CPP_HAS_RIGHT_ANGLE_BRACKETS
342
+ # define Z_COMPILER_CPP_HAS_RIGHT_ANGLE_BRACKETS FALSE
343
+ # endif
344
+
345
+ # ifndef Z_COMPILER_CPP_HAS_RVALUE_REFERENCE
346
+ # define Z_COMPILER_CPP_HAS_RVALUE_REFERENCE FALSE
347
+ # endif
348
+
349
+ # ifndef Z_COMPILER_CPP_HAS_STANDARD_LAYOUT
350
+ # define Z_COMPILER_CPP_HAS_STANDARD_LAYOUT FALSE
351
+ # endif
352
+
353
+ # ifndef Z_COMPILER_CPP_HAS_STANDARDIZED_ATTRIBUTE_SYNTAX
354
+ # define Z_COMPILER_CPP_HAS_STANDARDIZED_ATTRIBUTE_SYNTAX FALSE
355
+ # endif
356
+
357
+ # ifndef Z_COMPILER_CPP_HAS_STATIC_ASSERTION
358
+ # define Z_COMPILER_CPP_HAS_STATIC_ASSERTION FALSE
359
+ # endif
360
+
361
+ # ifndef Z_COMPILER_CPP_HAS_STRONGLY_TYPED_ENUMERATION
362
+ # define Z_COMPILER_CPP_HAS_STRONGLY_TYPED_ENUMERATION FALSE
363
+ # endif
364
+
365
+ # ifndef Z_COMPILER_CPP_HAS_TEMPLATE_ALIAS
366
+ # define Z_COMPILER_CPP_HAS_TEMPLATE_ALIAS FALSE
367
+ # endif
368
+
369
+ # ifndef Z_COMPILER_CPP_HAS_TRAILING_RETURN_TYPE
370
+ # define Z_COMPILER_CPP_HAS_TRAILING_RETURN_TYPE FALSE
371
+ # endif
372
+
373
+ # ifndef Z_COMPILER_CPP_HAS_UNNAMED_TYPE_AS_TEMPLATE_ARGUMENT
374
+ # define Z_COMPILER_CPP_HAS_UNNAMED_TYPE_AS_TEMPLATE_ARGUMENT FALSE
375
+ # endif
376
+
377
+ # ifndef Z_COMPILER_CPP_HAS_UNRESTRICTED_UNION
378
+ # define Z_COMPILER_CPP_HAS_UNRESTRICTED_UNION FALSE
379
+ # endif
380
+
381
+ # ifndef Z_COMPILER_CPP_HAS_VARIADIC_TEMPLATE
382
+ # define Z_COMPILER_CPP_HAS_VARIADIC_TEMPLATE FALSE
383
+ # endif
384
+
385
+ # ifndef Z_COMPILER_CPP_HAS_VARIADIC_TEMPLATE_EXTENDED_PARAMETERS
386
+ # define Z_COMPILER_CPP_HAS_VARIADIC_TEMPLATE_EXTENDED_PARAMETERS FALSE
387
+ # endif
388
+
389
+ # ifndef Z_COMPILER_CPP_HAS_ATTRIBUTE_CARRIES_DEPENDENCY
390
+ # define Z_COMPILER_CPP_HAS_ATTRIBUTE_CARRIES_DEPENDENCY FALSE
391
+ # endif
392
+
393
+ # ifndef Z_COMPILER_CPP_HAS_ATTRIBUTE_NO_RETURN
394
+ # define Z_COMPILER_CPP_HAS_ATTRIBUTE_NO_RETURN FALSE
395
+ # endif
396
+
397
+ # ifndef Z_COMPILER_CPP_HAS_LITERAL_CHAR16_CHARACTER
398
+ # define Z_COMPILER_CPP_HAS_LITERAL_CHAR16_CHARACTER FALSE
399
+ # endif
400
+
401
+ # ifndef Z_COMPILER_CPP_HAS_LITERAL_CHAR16_STRING
402
+ # define Z_COMPILER_CPP_HAS_LITERAL_CHAR16_STRING FALSE
403
+ # endif
404
+
405
+ # ifndef Z_COMPILER_CPP_HAS_LITERAL_CHAR32_CHARACTER
406
+ # define Z_COMPILER_CPP_HAS_LITERAL_CHAR32_CHARACTER FALSE
407
+ # endif
408
+
409
+ # ifndef Z_COMPILER_CPP_HAS_LITERAL_CHAR32_STRING
410
+ # define Z_COMPILER_CPP_HAS_LITERAL_CHAR32_STRING FALSE
411
+ # endif
412
+
413
+ # ifndef Z_COMPILER_CPP_HAS_LITERAL_NULL_POINTER
414
+ # define Z_COMPILER_CPP_HAS_LITERAL_NULL_POINTER FALSE
415
+ # endif
416
+
417
+ # ifndef Z_COMPILER_CPP_HAS_LITERAL_RAW_STRING
418
+ # define Z_COMPILER_CPP_HAS_LITERAL_RAW_STRING FALSE
419
+ # endif
420
+
421
+ # ifndef Z_COMPILER_CPP_HAS_LITERAL_UNICODE_STRING
422
+ # define Z_COMPILER_CPP_HAS_LITERAL_UNICODE_STRING FALSE
423
+ # endif
424
+
425
+ # ifndef Z_COMPILER_CPP_HAS_LITERAL_USER_DEFINED
426
+ # define Z_COMPILER_CPP_HAS_LITERAL_USER_DEFINED FALSE
427
+ # endif
428
+
429
+ # ifndef Z_COMPILER_CPP_HAS_MAGIC_CONSTANT_FUNCTION_NAME
430
+ # define Z_COMPILER_CPP_HAS_MAGIC_CONSTANT_FUNCTION_NAME FALSE
431
+ # endif
432
+
433
+ # ifndef Z_COMPILER_CPP_HAS_OPERATOR_ALIGN_OF
434
+ # define Z_COMPILER_CPP_HAS_OPERATOR_ALIGN_OF FALSE
435
+ # endif
436
+
437
+ # ifndef Z_COMPILER_CPP_HAS_OPERATOR_NO_EXCEPTION
438
+ # define Z_COMPILER_CPP_HAS_OPERATOR_NO_EXCEPTION FALSE
439
+ # endif
440
+
441
+ # ifndef Z_COMPILER_CPP_HAS_OPERATOR_SIZE_OF_NON_STATIC_DATA_MEMBER
442
+ # define Z_COMPILER_CPP_HAS_OPERATOR_SIZE_OF_NON_STATIC_DATA_MEMBER FALSE
443
+ # endif
444
+
445
+ # ifndef Z_COMPILER_CPP_HAS_OPERATOR_SIZE_OF_PARAMETER_PACK
446
+ # define Z_COMPILER_CPP_HAS_OPERATOR_SIZE_OF_PARAMETER_PACK FALSE
447
+ # endif
448
+
449
+ # ifndef Z_COMPILER_CPP_HAS_SPECIFIER_ALIGN_AS
450
+ # define Z_COMPILER_CPP_HAS_SPECIFIER_ALIGN_AS FALSE
451
+ # endif
452
+
453
+ # ifndef Z_COMPILER_CPP_HAS_SPECIFIER_AUTO
454
+ # define Z_COMPILER_CPP_HAS_SPECIFIER_AUTO FALSE
455
+ # endif
456
+
457
+ # ifndef Z_COMPILER_CPP_HAS_SPECIFIER_CONSTANT_EXPRESSION
458
+ # define Z_COMPILER_CPP_HAS_SPECIFIER_CONSTANT_EXPRESSION FALSE
459
+ # endif
460
+
461
+ # ifndef Z_COMPILER_CPP_HAS_SPECIFIER_DECLARED_TYPE
462
+ # define Z_COMPILER_CPP_HAS_SPECIFIER_DECLARED_TYPE FALSE
463
+ # endif
464
+
465
+ # ifndef Z_COMPILER_CPP_HAS_SPECIFIER_DECLARED_TYPE_OF_INCOMPLETE_RETURN
466
+ # define Z_COMPILER_CPP_HAS_SPECIFIER_DECLARED_TYPE_OF_INCOMPLETE_RETURN FALSE
467
+ # endif
468
+
469
+ # ifndef Z_COMPILER_CPP_HAS_SPECIFIER_FINAL
470
+ # define Z_COMPILER_CPP_HAS_SPECIFIER_FINAL FALSE
471
+ # endif
472
+
473
+ # ifndef Z_COMPILER_CPP_HAS_SPECIFIER_NO_EXCEPTION
474
+ # define Z_COMPILER_CPP_HAS_SPECIFIER_NO_EXCEPTION FALSE
475
+ # endif
476
+
477
+ # ifndef Z_COMPILER_CPP_HAS_SPECIFIER_OVERRIDE
478
+ # define Z_COMPILER_CPP_HAS_SPECIFIER_OVERRIDE FALSE
479
+ # endif
480
+
481
+ # ifndef Z_COMPILER_CPP_HAS_STORATE_CLASS_THREAD_LOCAL
482
+ # define Z_COMPILER_CPP_HAS_STORATE_CLASS_THREAD_LOCAL FALSE
483
+ # endif
484
+
485
+ # ifndef Z_COMPILER_CPP_HAS_TYPE_CHAR16
486
+ # define Z_COMPILER_CPP_HAS_TYPE_CHAR16 FALSE
487
+ # endif
488
+
489
+ # ifndef Z_COMPILER_CPP_HAS_TYPE_CHAR32
490
+ # define Z_COMPILER_CPP_HAS_TYPE_CHAR32 FALSE
491
+ # endif
492
+
493
+ # ifndef Z_COMPILER_CPP_HAS_TYPE_LLONG
494
+ # define Z_COMPILER_CPP_HAS_TYPE_LLONG FALSE
495
+ # endif
496
+
497
+ /* MARK: - C++14 support */
498
+
499
+ # ifndef Z_COMPILER_CPP_HAS_APOSTROPHE_AS_DIGIT_SEPARATOR
500
+ # define Z_COMPILER_CPP_HAS_APOSTROPHE_AS_DIGIT_SEPARATOR FALSE
501
+ # endif
502
+
503
+ # ifndef Z_COMPILER_CPP_HAS_CPP14_RULES_ON_CONSTANT_EXPRESSION_FUNCTION
504
+ # define Z_COMPILER_CPP_HAS_CPP14_RULES_ON_CONSTANT_EXPRESSION_FUNCTION FALSE
505
+ # endif
506
+
507
+ # ifndef Z_COMPILER_CPP_HAS_CPP14_RULES_ON_CONTEXTUAL_CONVERSION
508
+ # define Z_COMPILER_CPP_HAS_CPP14_RULES_ON_CONTEXTUAL_CONVERSION FALSE
509
+ # endif
510
+
511
+ # ifndef Z_COMPILER_CPP_HAS_DEFAULT_MEMBER_INITIALIZER_FOR_AGGREGATE
512
+ # define Z_COMPILER_CPP_HAS_DEFAULT_MEMBER_INITIALIZER_FOR_AGGREGATE FALSE
513
+ # endif
514
+
515
+ # ifndef Z_COMPILER_CPP_HAS_GENERIC_LAMBDA
516
+ # define Z_COMPILER_CPP_HAS_GENERIC_LAMBDA FALSE
517
+ # endif
518
+
519
+ # ifndef Z_COMPILER_CPP_HAS_INITIALIZED_LAMBDA_CAPTURE
520
+ # define Z_COMPILER_CPP_HAS_INITIALIZED_LAMBDA_CAPTURE FALSE
521
+ # endif
522
+
523
+ # ifndef Z_COMPILER_CPP_HAS_RETURN_TYPE_DEDUCTION_FOR_NORMAL_FUNCTION
524
+ # define Z_COMPILER_CPP_HAS_RETURN_TYPE_DEDUCTION_FOR_NORMAL_FUNCTION FALSE
525
+ # endif
526
+
527
+ # ifndef Z_COMPILER_CPP_HAS_SIZED_DEALLOCATION
528
+ # define Z_COMPILER_CPP_HAS_SIZED_DEALLOCATION FALSE
529
+ # endif
530
+
531
+ # ifndef Z_COMPILER_CPP_HAS_VARIABLE_TEMPLATE
532
+ # define Z_COMPILER_CPP_HAS_VARIABLE_TEMPLATE FALSE
533
+ # endif
534
+
535
+ # ifndef Z_COMPILER_CPP_HAS_ATTRIBUTE_DEPRECATED
536
+ # define Z_COMPILER_CPP_HAS_ATTRIBUTE_DEPRECATED FALSE
537
+ # endif
538
+
539
+ # ifndef Z_COMPILER_CPP_HAS_LITERAL_BINARY
540
+ # define Z_COMPILER_CPP_HAS_LITERAL_BINARY FALSE
541
+ # endif
542
+
543
+ # ifndef Z_COMPILER_CPP_HAS_SPECIFIER_DECLARED_TYPE_OF_AUTO
544
+ # define Z_COMPILER_CPP_HAS_SPECIFIER_DECLARED_TYPE_OF_AUTO FALSE
545
+ # endif
546
+
547
+ /* MARK: - C++17 support */
548
+
549
+ # ifndef Z_COMPILER_CPP_HAS_AGGREGATE_WITH_BASE_CLASSES
550
+ # define Z_COMPILER_CPP_HAS_AGGREGATE_WITH_BASE_CLASSES FALSE
551
+ # endif
552
+
553
+ # ifndef Z_COMPILER_CPP_HAS_ATTRIBUTES_FOR_ENUMERATION
554
+ # define Z_COMPILER_CPP_HAS_ATTRIBUTES_FOR_ENUMERATION FALSE
555
+ # endif
556
+
557
+ # ifndef Z_COMPILER_CPP_HAS_ATTRIBUTES_FOR_NAMESPACE
558
+ # define Z_COMPILER_CPP_HAS_ATTRIBUTES_FOR_NAMESPACE FALSE
559
+ # endif
560
+
561
+ # ifndef Z_COMPILER_CPP_HAS_ATTRIBUTE_USING_PREFIX
562
+ # define Z_COMPILER_CPP_HAS_ATTRIBUTE_USING_PREFIX FALSE
563
+ # endif
564
+
565
+ # ifndef Z_COMPILER_CPP_HAS_CONSTANT_EXPRESSION_IF
566
+ # define Z_COMPILER_CPP_HAS_CONSTANT_EXPRESSION_IF FALSE
567
+ # endif
568
+
569
+ # ifndef Z_COMPILER_CPP_HAS_CONSTANT_EXPRESSION_LAMBDA
570
+ # define Z_COMPILER_CPP_HAS_CONSTANT_EXPRESSION_LAMBDA FALSE
571
+ # endif
572
+
573
+ # ifndef Z_COMPILER_CPP_HAS_CPP17_RULES_ON_BRACED_INITIALIZATION
574
+ # define Z_COMPILER_CPP_HAS_CPP17_RULES_ON_BRACED_INITIALIZATION FALSE
575
+ # endif
576
+
577
+ # ifndef Z_COMPILER_CPP_HAS_CPP17_RULES_ON_EXPRESSION_EVALUATION_ORDER
578
+ # define Z_COMPILER_CPP_HAS_CPP17_RULES_ON_EXPRESSION_EVALUATION_ORDER FALSE
579
+ # endif
580
+
581
+ # ifndef Z_COMPILER_CPP_HAS_CPP17_RULES_ON_INHERITING_CONSTRUCTORS
582
+ # define Z_COMPILER_CPP_HAS_CPP17_RULES_ON_INHERITING_CONSTRUCTORS FALSE
583
+ # endif
584
+
585
+ # ifndef Z_COMPILER_CPP_HAS_CPP17_RULES_ON_NON_TYPE_TEMPLATE_ARGUMENTS
586
+ # define Z_COMPILER_CPP_HAS_CPP17_RULES_ON_NON_TYPE_TEMPLATE_ARGUMENTS FALSE
587
+ # endif
588
+
589
+ # ifndef Z_COMPILER_CPP_HAS_CPP17_RULES_ON_TEMPLATE_TEMPLATE_ARGUMENT_MATCHING
590
+ # define Z_COMPILER_CPP_HAS_CPP17_RULES_ON_TEMPLATE_TEMPLATE_ARGUMENT_MATCHING FALSE
591
+ # endif
592
+
593
+ # ifndef Z_COMPILER_CPP_HAS_DIFFERING_BEGIN_AND_END_TYPES_IN_RANGE_BASED_FOR
594
+ # define Z_COMPILER_CPP_HAS_DIFFERING_BEGIN_AND_END_TYPES_IN_RANGE_BASED_FOR FALSE
595
+ # endif
596
+
597
+ # ifndef Z_COMPILER_CPP_HAS_DIRECT_LIST_INITIALIZATION_OF_ENUMERATION
598
+ # define Z_COMPILER_CPP_HAS_DIRECT_LIST_INITIALIZATION_OF_ENUMERATION FALSE
599
+ # endif
600
+
601
+ # ifndef Z_COMPILER_CPP_HAS_EXCEPTION_SPECIFICATION_AS_PART_OF_THE_TYPE
602
+ # define Z_COMPILER_CPP_HAS_EXCEPTION_SPECIFICATION_AS_PART_OF_THE_TYPE FALSE
603
+ # endif
604
+
605
+ # ifndef Z_COMPILER_CPP_HAS_FOLD_EXPRESSION
606
+ # define Z_COMPILER_CPP_HAS_FOLD_EXPRESSION FALSE
607
+ # endif
608
+
609
+ # ifndef Z_COMPILER_CPP_HAS_FOLD_EXPRESSION_SAFETY_WITH_EMPTY_PARAMETER_PACK
610
+ # define Z_COMPILER_CPP_HAS_FOLD_EXPRESSION_SAFETY_WITH_EMPTY_PARAMETER_PACK FALSE
611
+ # endif
612
+
613
+ # ifndef Z_COMPILER_CPP_HAS_GUARANTEED_COPY_ELISION
614
+ # define Z_COMPILER_CPP_HAS_GUARANTEED_COPY_ELISION FALSE
615
+ # endif
616
+
617
+ # ifndef Z_COMPILER_CPP_HAS_IF_WITH_INITIALIZER
618
+ # define Z_COMPILER_CPP_HAS_IF_WITH_INITIALIZER FALSE
619
+ # endif
620
+
621
+ # ifndef Z_COMPILER_CPP_HAS_IGNORATION_OF_UNKNOWN_ATTRIBUTES
622
+ # define Z_COMPILER_CPP_HAS_IGNORATION_OF_UNKNOWN_ATTRIBUTES FALSE
623
+ # endif
624
+
625
+ # ifndef Z_COMPILER_CPP_HAS_INLINE_VARIABLE
626
+ # define Z_COMPILER_CPP_HAS_INLINE_VARIABLE FALSE
627
+ # endif
628
+
629
+ # ifndef Z_COMPILER_CPP_HAS_LAMBDA_CAPTURE_OF_THIS_OBJECT_BY_VALUE
630
+ # define Z_COMPILER_CPP_HAS_LAMBDA_CAPTURE_OF_THIS_OBJECT_BY_VALUE FALSE
631
+ # endif
632
+
633
+ # ifndef Z_COMPILER_CPP_HAS_LAUNDER
634
+ # define Z_COMPILER_CPP_HAS_LAUNDER FALSE
635
+ # endif
636
+
637
+ # ifndef Z_COMPILER_CPP_HAS_NESTED_NAMESPACE_DEFINITION
638
+ # define Z_COMPILER_CPP_HAS_NESTED_NAMESPACE_DEFINITION FALSE
639
+ # endif
640
+
641
+ # ifndef Z_COMPILER_CPP_HAS_NON_TYPE_TEMPLATE_PARAMETER_WITH_AUTO_TYPE
642
+ # define Z_COMPILER_CPP_HAS_NON_TYPE_TEMPLATE_PARAMETER_WITH_AUTO_TYPE FALSE
643
+ # endif
644
+
645
+ # ifndef Z_COMPILER_CPP_HAS_OVER_ALIGNED_DYNAMIC_ALLOCATION
646
+ # define Z_COMPILER_CPP_HAS_OVER_ALIGNED_DYNAMIC_ALLOCATION FALSE
647
+ # endif
648
+
649
+ # ifndef Z_COMPILER_CPP_HAS_REMOVAL_OF_DYNAMIC_EXCEPTION_SPECIFICATION
650
+ # define Z_COMPILER_CPP_HAS_REMOVAL_OF_DYNAMIC_EXCEPTION_SPECIFICATION FALSE
651
+ # endif
652
+
653
+ # ifndef Z_COMPILER_CPP_HAS_REMOVAL_OF_INCREMENT_BOOLEAN_OPERATOR
654
+ # define Z_COMPILER_CPP_HAS_REMOVAL_OF_INCREMENT_BOOLEAN_OPERATOR FALSE
655
+ # endif
656
+
657
+ # ifndef Z_COMPILER_CPP_HAS_REMOVAL_OF_REGISTER_AS_STORAGE_CLASS
658
+ # define Z_COMPILER_CPP_HAS_REMOVAL_OF_REGISTER_AS_STORAGE_CLASS FALSE
659
+ # endif
660
+
661
+ # ifndef Z_COMPILER_CPP_HAS_REMOVAL_OF_TRIGRAPHS
662
+ # define Z_COMPILER_CPP_HAS_REMOVAL_OF_TRIGRAPHS FALSE
663
+ # endif
664
+
665
+ # ifndef Z_COMPILER_CPP_HAS_STATIC_ASSERTION_WITH_NO_MESSAGE
666
+ # define Z_COMPILER_CPP_HAS_STATIC_ASSERTION_WITH_NO_MESSAGE FALSE
667
+ # endif
668
+
669
+ # ifndef Z_COMPILER_CPP_HAS_STRUCTURED_BINDING
670
+ # define Z_COMPILER_CPP_HAS_STRUCTURED_BINDING FALSE
671
+ # endif
672
+
673
+ # ifndef Z_COMPILER_CPP_HAS_SWITCH_WITH_INITIALIZER
674
+ # define Z_COMPILER_CPP_HAS_SWITCH_WITH_INITIALIZER FALSE
675
+ # endif
676
+
677
+ # ifndef Z_COMPILER_CPP_HAS_TEMPLATE_ARGUMENTS_DEDUCTION_FOR_CLASS_TEMPLATE
678
+ # define Z_COMPILER_CPP_HAS_TEMPLATE_ARGUMENTS_DEDUCTION_FOR_CLASS_TEMPLATE FALSE
679
+ # endif
680
+
681
+ # ifndef Z_COMPILER_CPP_HAS_TYPENAME_IN_TEMPLATE_TEMPLATE_PARAMETER
682
+ # define Z_COMPILER_CPP_HAS_TYPENAME_IN_TEMPLATE_TEMPLATE_PARAMETER FALSE
683
+ # endif
684
+
685
+ # ifndef Z_COMPILER_CPP_HAS_VARIADIC_USING
686
+ # define Z_COMPILER_CPP_HAS_VARIADIC_USING FALSE
687
+ # endif
688
+
689
+ # ifndef Z_COMPILER_CPP_HAS_ATTRIBUTE_FALL_THROUGH
690
+ # define Z_COMPILER_CPP_HAS_ATTRIBUTE_FALL_THROUGH FALSE
691
+ # endif
692
+
693
+ # ifndef Z_COMPILER_CPP_HAS_ATTRIBUTE_MAYBE_UNUSED
694
+ # define Z_COMPILER_CPP_HAS_ATTRIBUTE_MAYBE_UNUSED FALSE
695
+ # endif
696
+
697
+ # ifndef Z_COMPILER_CPP_HAS_ATTRIBUTE_NO_DISCARD
698
+ # define Z_COMPILER_CPP_HAS_ATTRIBUTE_NO_DISCARD FALSE
699
+ # endif
700
+
701
+ # ifndef Z_COMPILER_CPP_HAS_LITERAL_HEXADECIMAL_FLOATING_POINT
702
+ # define Z_COMPILER_CPP_HAS_LITERAL_HEXADECIMAL_FLOATING_POINT FALSE
703
+ # endif
704
+
705
+ # ifndef Z_COMPILER_CPP_HAS_LITERAL_UTF8_CHARACTER
706
+ # define Z_COMPILER_CPP_HAS_LITERAL_UTF8_CHARACTER FALSE
707
+ # endif
708
+
709
+ # ifndef Z_COMPILER_CPP_HAS_PREPROCESSOR_OPERATOR_HAS_INCLUDE
710
+ # define Z_COMPILER_CPP_HAS_PREPROCESSOR_OPERATOR_HAS_INCLUDE FALSE
711
+ # endif
712
+
713
+ #endif
714
+
715
+ /* MARK: - Attributes */
716
+
717
+ #ifdef Z_COMPILER_ATTRIBUTE_ALIAS
718
+ # define Z_COMPILER_HAS_ATTRIBUTE_ALIAS TRUE
719
+ #else
720
+ # define Z_COMPILER_HAS_ATTRIBUTE_ALIAS FALSE
721
+ #endif
722
+
723
+ #ifdef Z_COMPILER_ATTRIBUTE_API
724
+ # define Z_COMPILER_HAS_ATTRIBUTE_API TRUE
725
+ #else
726
+ # define Z_COMPILER_HAS_ATTRIBUTE_API FALSE
727
+ #endif
728
+
729
+ #ifdef Z_COMPILER_ATTRIBUTE_API_ALIAS
730
+ # define Z_COMPILER_HAS_ATTRIBUTE_API_ALIAS TRUE
731
+ #else
732
+ # define Z_COMPILER_HAS_ATTRIBUTE_API_ALIAS FALSE
733
+ #endif
734
+
735
+ #ifdef Z_COMPILER_ATTRIBUTE_API_EXPORT
736
+ # define Z_COMPILER_HAS_ATTRIBUTE_API_EXPORT TRUE
737
+ #else
738
+ # define Z_COMPILER_HAS_ATTRIBUTE_API_EXPORT FALSE
739
+ #endif
740
+
741
+ #ifdef Z_COMPILER_ATTRIBUTE_API_EXPORT_ALIAS
742
+ # define Z_COMPILER_HAS_ATTRIBUTE_API_EXPORT_ALIAS TRUE
743
+ #else
744
+ # define Z_COMPILER_HAS_ATTRIBUTE_API_EXPORT_ALIAS FALSE
745
+ #endif
746
+
747
+ #ifdef Z_COMPILER_ATTRIBUTE_API_WEAK_EXPORT
748
+ # define Z_COMPILER_HAS_ATTRIBUTE_API_WEAK_EXPORT TRUE
749
+ #else
750
+ # define Z_COMPILER_HAS_ATTRIBUTE_API_WEAK_EXPORT FALSE
751
+ #endif
752
+
753
+ #ifdef Z_COMPILER_ATTRIBUTE_EBCO
754
+ # define Z_COMPILER_HAS_ATTRIBUTE_EBCO TRUE
755
+ #else
756
+ # define Z_COMPILER_HAS_ATTRIBUTE_EBCO FALSE
757
+ #endif
758
+
759
+ #ifdef Z_COMPILER_ATTRIBUTE_INLINE
760
+ # define Z_COMPILER_HAS_ATTRIBUTE_INLINE TRUE
761
+ #else
762
+ # define Z_COMPILER_HAS_ATTRIBUTE_INLINE FALSE
763
+ #endif
764
+
765
+ #ifdef Z_COMPILER_ATTRIBUTE_NO_RETURN
766
+ # define Z_COMPILER_HAS_ATTRIBUTE_NO_RETURN TRUE
767
+ #else
768
+ # define Z_COMPILER_HAS_ATTRIBUTE_NO_RETURN FALSE
769
+ #endif
770
+
771
+ #ifdef Z_COMPILER_ATTRIBUTE_NULL_TERMINATED
772
+ # define Z_COMPILER_HAS_ATTRIBUTE_NULL_TERMINATED TRUE
773
+ #else
774
+ # define Z_COMPILER_HAS_ATTRIBUTE_NULL_TERMINATED FALSE
775
+ #endif
776
+
777
+ #ifdef Z_COMPILER_ATTRIBUTE_PRIVATE
778
+ # define Z_COMPILER_HAS_ATTRIBUTE_PRIVATE TRUE
779
+ #else
780
+ # define Z_COMPILER_HAS_ATTRIBUTE_PRIVATE FALSE
781
+ #endif
782
+
783
+ #ifdef Z_COMPILER_ATTRIBUTE_PUBLIC
784
+ # define Z_COMPILER_HAS_ATTRIBUTE_PUBLIC TRUE
785
+ #else
786
+ # define Z_COMPILER_HAS_ATTRIBUTE_PUBLIC FALSE
787
+ #endif
788
+
789
+ #ifdef Z_COMPILER_ATTRIBUTE_STRICT_SIZE_BEGIN
790
+ # define Z_COMPILER_HAS_ATTRIBUTE_STRICT_SIZE_BEGIN TRUE
791
+ #else
792
+ # define Z_COMPILER_HAS_ATTRIBUTE_STRICT_SIZE_BEGIN FALSE
793
+ #endif
794
+
795
+ #ifdef Z_COMPILER_ATTRIBUTE_STRICT_SIZE_END
796
+ # define Z_COMPILER_HAS_ATTRIBUTE_STRICT_SIZE_END TRUE
797
+ #else
798
+ # define Z_COMPILER_HAS_ATTRIBUTE_STRICT_SIZE_END FALSE
799
+ #endif
800
+
801
+ #ifdef Z_COMPILER_ATTRIBUTE_THREAD_LOCAL
802
+ # define Z_COMPILER_HAS_ATTRIBUTE_THREAD_LOCAL TRUE
803
+ #else
804
+ # define Z_COMPILER_HAS_ATTRIBUTE_THREAD_LOCAL FALSE
805
+ #endif
806
+
807
+ #ifdef Z_COMPILER_ATTRIBUTE_WEAK
808
+ # define Z_COMPILER_HAS_ATTRIBUTE_WEAK TRUE
809
+ #else
810
+ # define Z_COMPILER_HAS_ATTRIBUTE_WEAK FALSE
811
+ #endif
812
+
813
+ /* MARK: - Built-in constants */
814
+
815
+ #ifdef Z_COMPILER_CONSTANT_FLOAT16_INFINITY
816
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT16_INFINITY TRUE
817
+ #else
818
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT16_INFINITY FALSE
819
+ #endif
820
+
821
+ #ifdef Z_COMPILER_CONSTANT_FLOAT16_NAN
822
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT16_NAN TRUE
823
+ #else
824
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT16_NAN FALSE
825
+ #endif
826
+
827
+ #ifdef Z_COMPILER_CONSTANT_FLOAT32_INFINITY
828
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT32_INFINITY TRUE
829
+ #else
830
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT32_INFINITY FALSE
831
+ #endif
832
+
833
+ #ifdef Z_COMPILER_CONSTANT_FLOAT32_NAN
834
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT32_NAN TRUE
835
+ #else
836
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT32_NAN FALSE
837
+ #endif
838
+
839
+ #ifdef Z_COMPILER_CONSTANT_FLOAT64_INFINITY
840
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT64_INFINITY TRUE
841
+ #else
842
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT64_INFINITY FALSE
843
+ #endif
844
+
845
+ #ifdef Z_COMPILER_CONSTANT_FLOAT64_NAN
846
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT64_NAN TRUE
847
+ #else
848
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT64_NAN FALSE
849
+ #endif
850
+
851
+ #ifdef Z_COMPILER_CONSTANT_FLOAT128_INFINITY
852
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT128_INFINITY TRUE
853
+ #else
854
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT128_INFINITY FALSE
855
+ #endif
856
+
857
+ #ifdef Z_COMPILER_CONSTANT_FLOAT128_NAN
858
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT128_NAN TRUE
859
+ #else
860
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT128_NAN FALSE
861
+ #endif
862
+
863
+ #ifdef Z_COMPILER_CONSTANT_FLOAT80_X87_INFINITY
864
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT80_X87_INFINITY TRUE
865
+ #else
866
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT80_X87_INFINITY FALSE
867
+ #endif
868
+
869
+ #ifdef Z_COMPILER_CONSTANT_FLOAT80_X87_NAN
870
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT80_X87_NAN TRUE
871
+ #else
872
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT80_X87_NAN FALSE
873
+ #endif
874
+
875
+ #ifdef Z_COMPILER_CONSTANT_FLOAT96_X87_INFINITY
876
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT96_X87_INFINITY TRUE
877
+ #else
878
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT96_X87_INFINITY FALSE
879
+ #endif
880
+
881
+ #ifdef Z_COMPILER_CONSTANT_FLOAT96_X87_NAN
882
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT96_X87_NAN TRUE
883
+ #else
884
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT96_X87_NAN FALSE
885
+ #endif
886
+
887
+ #ifdef Z_COMPILER_CONSTANT_FLOAT128_X87_INFINITY
888
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT128_X87_INFINITY TRUE
889
+ #else
890
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT128_X87_INFINITY FALSE
891
+ #endif
892
+
893
+ #ifdef Z_COMPILER_CONSTANT_FLOAT128_X87_NAN
894
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT128_X87_NAN TRUE
895
+ #else
896
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT128_X87_NAN FALSE
897
+ #endif
898
+
899
+ #ifdef Z_COMPILER_CONSTANT_UCHAR_BITS
900
+ # define Z_COMPILER_HAS_CONSTANT_UCHAR_BITS TRUE
901
+ #else
902
+ # define Z_COMPILER_HAS_CONSTANT_UCHAR_BITS FALSE
903
+ #endif
904
+
905
+ #ifdef Z_COMPILER_CONSTANT_UCHAR_SIZE
906
+ # define Z_COMPILER_HAS_CONSTANT_UCHAR_SIZE TRUE
907
+ #else
908
+ # define Z_COMPILER_HAS_CONSTANT_UCHAR_SIZE FALSE
909
+ #endif
910
+
911
+ #ifdef Z_COMPILER_CONSTANT_UCHAR_MAXIMUM
912
+ # define Z_COMPILER_HAS_CONSTANT_UCHAR_MAXIMUM TRUE
913
+ #else
914
+ # define Z_COMPILER_HAS_CONSTANT_UCHAR_MAXIMUM FALSE
915
+ #endif
916
+
917
+ #ifdef Z_COMPILER_CONSTANT_USHORT_BITS
918
+ # define Z_COMPILER_HAS_CONSTANT_USHORT_BITS TRUE
919
+ #else
920
+ # define Z_COMPILER_HAS_CONSTANT_USHORT_BITS FALSE
921
+ #endif
922
+
923
+ #ifdef Z_COMPILER_CONSTANT_USHORT_SIZE
924
+ # define Z_COMPILER_HAS_CONSTANT_USHORT_SIZE TRUE
925
+ #else
926
+ # define Z_COMPILER_HAS_CONSTANT_USHORT_SIZE FALSE
927
+ #endif
928
+
929
+ #ifdef Z_COMPILER_CONSTANT_USHORT_MAXIMUM
930
+ # define Z_COMPILER_HAS_CONSTANT_USHORT_MAXIMUM TRUE
931
+ #else
932
+ # define Z_COMPILER_HAS_CONSTANT_USHORT_MAXIMUM FALSE
933
+ #endif
934
+
935
+ #ifdef Z_COMPILER_CONSTANT_UINT_BITS
936
+ # define Z_COMPILER_HAS_CONSTANT_UINT_BITS TRUE
937
+ #else
938
+ # define Z_COMPILER_HAS_CONSTANT_UINT_BITS FALSE
939
+ #endif
940
+
941
+ #ifdef Z_COMPILER_CONSTANT_UINT_SIZE
942
+ # define Z_COMPILER_HAS_CONSTANT_UINT_SIZE TRUE
943
+ #else
944
+ # define Z_COMPILER_HAS_CONSTANT_UINT_SIZE FALSE
945
+ #endif
946
+
947
+ #ifdef Z_COMPILER_CONSTANT_UINT_MAXIMUM
948
+ # define Z_COMPILER_HAS_CONSTANT_UINT_MAXIMUM TRUE
949
+ #else
950
+ # define Z_COMPILER_HAS_CONSTANT_UINT_MAXIMUM FALSE
951
+ #endif
952
+
953
+ #ifdef Z_COMPILER_CONSTANT_ULONG_BITS
954
+ # define Z_COMPILER_HAS_CONSTANT_ULONG_BITS TRUE
955
+ #else
956
+ # define Z_COMPILER_HAS_CONSTANT_ULONG_BITS FALSE
957
+ #endif
958
+
959
+ #ifdef Z_COMPILER_CONSTANT_ULONG_SIZE
960
+ # define Z_COMPILER_HAS_CONSTANT_ULONG_SIZE TRUE
961
+ #else
962
+ # define Z_COMPILER_HAS_CONSTANT_ULONG_SIZE FALSE
963
+ #endif
964
+
965
+ #ifdef Z_COMPILER_CONSTANT_ULONG_MAXIMUM
966
+ # define Z_COMPILER_HAS_CONSTANT_ULONG_MAXIMUM TRUE
967
+ #else
968
+ # define Z_COMPILER_HAS_CONSTANT_ULONG_MAXIMUM FALSE
969
+ #endif
970
+
971
+ #ifdef Z_COMPILER_CONSTANT_ULLONG_BITS
972
+ # define Z_COMPILER_HAS_CONSTANT_ULLONG_BITS TRUE
973
+ #else
974
+ # define Z_COMPILER_HAS_CONSTANT_ULLONG_BITS FALSE
975
+ #endif
976
+
977
+ #ifdef Z_COMPILER_CONSTANT_ULLONG_SIZE
978
+ # define Z_COMPILER_HAS_CONSTANT_ULLONG_SIZE TRUE
979
+ #else
980
+ # define Z_COMPILER_HAS_CONSTANT_ULLONG_SIZE FALSE
981
+ #endif
982
+
983
+ #ifdef Z_COMPILER_CONSTANT_ULLONG_MAXIMUM
984
+ # define Z_COMPILER_HAS_CONSTANT_ULLONG_MAXIMUM TRUE
985
+ #else
986
+ # define Z_COMPILER_HAS_CONSTANT_ULLONG_MAXIMUM FALSE
987
+ #endif
988
+
989
+ #ifdef Z_COMPILER_CONSTANT_SCHAR_BITS
990
+ # define Z_COMPILER_HAS_CONSTANT_SCHAR_BITS TRUE
991
+ #else
992
+ # define Z_COMPILER_HAS_CONSTANT_SCHAR_BITS FALSE
993
+ #endif
994
+
995
+ #ifdef Z_COMPILER_CONSTANT_SCHAR_SIZE
996
+ # define Z_COMPILER_HAS_CONSTANT_SCHAR_SIZE TRUE
997
+ #else
998
+ # define Z_COMPILER_HAS_CONSTANT_SCHAR_SIZE FALSE
999
+ #endif
1000
+
1001
+ #ifdef Z_COMPILER_CONSTANT_SCHAR_MINIMUM
1002
+ # define Z_COMPILER_HAS_CONSTANT_SCHAR_MINIMUM TRUE
1003
+ #else
1004
+ # define Z_COMPILER_HAS_CONSTANT_SCHAR_MINIMUM FALSE
1005
+ #endif
1006
+
1007
+ #ifdef Z_COMPILER_CONSTANT_SCHAR_MAXIMUM
1008
+ # define Z_COMPILER_HAS_CONSTANT_SCHAR_MAXIMUM TRUE
1009
+ #else
1010
+ # define Z_COMPILER_HAS_CONSTANT_SCHAR_MAXIMUM FALSE
1011
+ #endif
1012
+
1013
+ #ifdef Z_COMPILER_CONSTANT_SSHORT_BITS
1014
+ # define Z_COMPILER_HAS_CONSTANT_SSHORT_BITS TRUE
1015
+ #else
1016
+ # define Z_COMPILER_HAS_CONSTANT_SSHORT_BITS FALSE
1017
+ #endif
1018
+
1019
+ #ifdef Z_COMPILER_CONSTANT_SSHORT_SIZE
1020
+ # define Z_COMPILER_HAS_CONSTANT_SSHORT_SIZE TRUE
1021
+ #else
1022
+ # define Z_COMPILER_HAS_CONSTANT_SSHORT_SIZE FALSE
1023
+ #endif
1024
+
1025
+ #ifdef Z_COMPILER_CONSTANT_SSHORT_MINIMUM
1026
+ # define Z_COMPILER_HAS_CONSTANT_SSHORT_MINIMUM TRUE
1027
+ #else
1028
+ # define Z_COMPILER_HAS_CONSTANT_SSHORT_MINIMUM FALSE
1029
+ #endif
1030
+
1031
+ #ifdef Z_COMPILER_CONSTANT_SSHORT_MAXIMUM
1032
+ # define Z_COMPILER_HAS_CONSTANT_SSHORT_MAXIMUM TRUE
1033
+ #else
1034
+ # define Z_COMPILER_HAS_CONSTANT_SSHORT_MAXIMUM FALSE
1035
+ #endif
1036
+
1037
+ #ifdef Z_COMPILER_CONSTANT_SINT_BITS
1038
+ # define Z_COMPILER_HAS_CONSTANT_SINT_BITS TRUE
1039
+ #else
1040
+ # define Z_COMPILER_HAS_CONSTANT_SINT_BITS FALSE
1041
+ #endif
1042
+
1043
+ #ifdef Z_COMPILER_CONSTANT_SINT_SIZE
1044
+ # define Z_COMPILER_HAS_CONSTANT_SINT_SIZE TRUE
1045
+ #else
1046
+ # define Z_COMPILER_HAS_CONSTANT_SINT_SIZE FALSE
1047
+ #endif
1048
+
1049
+ #ifdef Z_COMPILER_CONSTANT_SINT_MINIMUM
1050
+ # define Z_COMPILER_HAS_CONSTANT_SINT_MINIMUM TRUE
1051
+ #else
1052
+ # define Z_COMPILER_HAS_CONSTANT_SINT_MINIMUM FALSE
1053
+ #endif
1054
+
1055
+ #ifdef Z_COMPILER_CONSTANT_SINT_MAXIMUM
1056
+ # define Z_COMPILER_HAS_CONSTANT_SINT_MAXIMUM TRUE
1057
+ #else
1058
+ # define Z_COMPILER_HAS_CONSTANT_SINT_MAXIMUM FALSE
1059
+ #endif
1060
+
1061
+ #ifdef Z_COMPILER_CONSTANT_SLONG_BITS
1062
+ # define Z_COMPILER_HAS_CONSTANT_SLONG_BITS TRUE
1063
+ #else
1064
+ # define Z_COMPILER_HAS_CONSTANT_SLONG_BITS FALSE
1065
+ #endif
1066
+
1067
+ #ifdef Z_COMPILER_CONSTANT_SLONG_SIZE
1068
+ # define Z_COMPILER_HAS_CONSTANT_SLONG_SIZE TRUE
1069
+ #else
1070
+ # define Z_COMPILER_HAS_CONSTANT_SLONG_SIZE FALSE
1071
+ #endif
1072
+
1073
+ #ifdef Z_COMPILER_CONSTANT_SLONG_MINIMUM
1074
+ # define Z_COMPILER_HAS_CONSTANT_SLONG_MINIMUM TRUE
1075
+ #else
1076
+ # define Z_COMPILER_HAS_CONSTANT_SLONG_MINIMUM FALSE
1077
+ #endif
1078
+
1079
+ #ifdef Z_COMPILER_CONSTANT_SLONG_MAXIMUM
1080
+ # define Z_COMPILER_HAS_CONSTANT_SLONG_MAXIMUM TRUE
1081
+ #else
1082
+ # define Z_COMPILER_HAS_CONSTANT_SLONG_MAXIMUM FALSE
1083
+ #endif
1084
+
1085
+ #ifdef Z_COMPILER_CONSTANT_SLLONG_BITS
1086
+ # define Z_COMPILER_HAS_CONSTANT_SLLONG_BITS TRUE
1087
+ #else
1088
+ # define Z_COMPILER_HAS_CONSTANT_SLLONG_BITS FALSE
1089
+ #endif
1090
+
1091
+ #ifdef Z_COMPILER_CONSTANT_SLLONG_SIZE
1092
+ # define Z_COMPILER_HAS_CONSTANT_SLLONG_SIZE TRUE
1093
+ #else
1094
+ # define Z_COMPILER_HAS_CONSTANT_SLLONG_SIZE FALSE
1095
+ #endif
1096
+
1097
+ #ifdef Z_COMPILER_CONSTANT_SLLONG_MINIMUM
1098
+ # define Z_COMPILER_HAS_CONSTANT_SLLONG_MINIMUM TRUE
1099
+ #else
1100
+ # define Z_COMPILER_HAS_CONSTANT_SLLONG_MINIMUM FALSE
1101
+ #endif
1102
+
1103
+ #ifdef Z_COMPILER_CONSTANT_SLLONG_MAXIMUM
1104
+ # define Z_COMPILER_HAS_CONSTANT_SLLONG_MAXIMUM TRUE
1105
+ #else
1106
+ # define Z_COMPILER_HAS_CONSTANT_SLLONG_MAXIMUM FALSE
1107
+ #endif
1108
+
1109
+ #ifdef Z_COMPILER_CONSTANT_FLOAT_BITS
1110
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT_BITS TRUE
1111
+ #else
1112
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT_BITS FALSE
1113
+ #endif
1114
+
1115
+ #ifdef Z_COMPILER_CONSTANT_FLOAT_SIZE
1116
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT_SIZE TRUE
1117
+ #else
1118
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT_SIZE FALSE
1119
+ #endif
1120
+
1121
+ #ifdef Z_COMPILER_CONSTANT_FLOAT_INFINITY
1122
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT_INFINITY TRUE
1123
+ #else
1124
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT_INFINITY FALSE
1125
+ #endif
1126
+
1127
+ #ifdef Z_COMPILER_CONSTANT_FLOAT_NAN
1128
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT_NAN TRUE
1129
+ #else
1130
+ # define Z_COMPILER_HAS_CONSTANT_FLOAT_NAN FALSE
1131
+ #endif
1132
+
1133
+ #ifdef Z_COMPILER_CONSTANT_DOUBLE_BITS
1134
+ # define Z_COMPILER_HAS_CONSTANT_DOUBLE_BITS TRUE
1135
+ #else
1136
+ # define Z_COMPILER_HAS_CONSTANT_DOUBLE_BITS FALSE
1137
+ #endif
1138
+
1139
+ #ifdef Z_COMPILER_CONSTANT_DOUBLE_SIZE
1140
+ # define Z_COMPILER_HAS_CONSTANT_DOUBLE_SIZE TRUE
1141
+ #else
1142
+ # define Z_COMPILER_HAS_CONSTANT_DOUBLE_SIZE FALSE
1143
+ #endif
1144
+
1145
+ #ifdef Z_COMPILER_CONSTANT_DOUBLE_INFINITY
1146
+ # define Z_COMPILER_HAS_CONSTANT_DOUBLE_INFINITY TRUE
1147
+ #else
1148
+ # define Z_COMPILER_HAS_CONSTANT_DOUBLE_INFINITY FALSE
1149
+ #endif
1150
+
1151
+ #ifdef Z_COMPILER_CONSTANT_DOUBLE_NAN
1152
+ # define Z_COMPILER_HAS_CONSTANT_DOUBLE_NAN TRUE
1153
+ #else
1154
+ # define Z_COMPILER_HAS_CONSTANT_DOUBLE_NAN FALSE
1155
+ #endif
1156
+
1157
+ #ifdef Z_COMPILER_CONSTANT_LDOUBLE_BITS
1158
+ # define Z_COMPILER_HAS_CONSTANT_LDOUBLE_BITS TRUE
1159
+ #else
1160
+ # define Z_COMPILER_HAS_CONSTANT_LDOUBLE_BITS FALSE
1161
+ #endif
1162
+
1163
+ #ifdef Z_COMPILER_CONSTANT_LDOUBLE_SIZE
1164
+ # define Z_COMPILER_HAS_CONSTANT_LDOUBLE_SIZE TRUE
1165
+ #else
1166
+ # define Z_COMPILER_HAS_CONSTANT_LDOUBLE_SIZE FALSE
1167
+ #endif
1168
+
1169
+ #ifdef Z_COMPILER_CONSTANT_LDOUBLE_INFINITY
1170
+ # define Z_COMPILER_HAS_CONSTANT_LDOUBLE_INFINITY TRUE
1171
+ #else
1172
+ # define Z_COMPILER_HAS_CONSTANT_LDOUBLE_INFINITY FALSE
1173
+ #endif
1174
+
1175
+ #ifdef Z_COMPILER_CONSTANT_LDOUBLE_NAN
1176
+ # define Z_COMPILER_HAS_CONSTANT_LDOUBLE_NAN TRUE
1177
+ #else
1178
+ # define Z_COMPILER_HAS_CONSTANT_LDOUBLE_NAN FALSE
1179
+ #endif
1180
+
1181
+ #ifdef Z_COMPILER_CONSTANT_SIZE_BITS
1182
+ # define Z_COMPILER_HAS_CONSTANT_SIZE_BITS TRUE
1183
+ #else
1184
+ # define Z_COMPILER_HAS_CONSTANT_SIZE_BITS FALSE
1185
+ #endif
1186
+
1187
+ #ifdef Z_COMPILER_CONSTANT_SIZE_SIZE
1188
+ # define Z_COMPILER_HAS_CONSTANT_SIZE_SIZE TRUE
1189
+ #else
1190
+ # define Z_COMPILER_HAS_CONSTANT_SIZE_SIZE FALSE
1191
+ #endif
1192
+
1193
+ #ifdef Z_COMPILER_CONSTANT_SSIZE_BITS
1194
+ # define Z_COMPILER_HAS_CONSTANT_SSIZE_BITS TRUE
1195
+ #else
1196
+ # define Z_COMPILER_HAS_CONSTANT_SSIZE_BITS FALSE
1197
+ #endif
1198
+
1199
+ #ifdef Z_COMPILER_CONSTANT_SSIZE_SIZE
1200
+ # define Z_COMPILER_HAS_CONSTANT_SSIZE_SIZE TRUE
1201
+ #else
1202
+ # define Z_COMPILER_HAS_CONSTANT_SSIZE_SIZE FALSE
1203
+ #endif
1204
+
1205
+ #ifdef Z_COMPILER_CONSTANT_POINTER_BITS
1206
+ # define Z_COMPILER_HAS_CONSTANT_POINTER_BITS TRUE
1207
+ #else
1208
+ # define Z_COMPILER_HAS_CONSTANT_POINTER_BITS FALSE
1209
+ #endif
1210
+
1211
+ #ifdef Z_COMPILER_CONSTANT_POINTER_SIZE
1212
+ # define Z_COMPILER_HAS_CONSTANT_POINTER_SIZE TRUE
1213
+ #else
1214
+ # define Z_COMPILER_HAS_CONSTANT_POINTER_SIZE FALSE
1215
+ #endif
1216
+
1217
+ /* MARK: - Built-in magic constants */
1218
+
1219
+ #ifdef Z_COMPILER_MAGIC_CONSTANT_MANGLED_FUNCTION_NAME
1220
+ # define Z_COMPILER_HAS_MAGIC_CONSTANT_MANGLED_FUNCTION_NAME TRUE
1221
+ #else
1222
+ # define Z_COMPILER_HAS_MAGIC_CONSTANT_MANGLED_FUNCTION_NAME FALSE
1223
+ #endif
1224
+
1225
+ /* MARK: - Built-in macros: Struture */
1226
+
1227
+ #ifdef Z_COMPILER_MACRO_OFFSET_OF
1228
+ # define Z_COMPILER_HAS_MACRO_OFFSET_OF TRUE
1229
+ #else
1230
+ # define Z_COMPILER_HAS_MACRO_OFFSET_OF FALSE
1231
+ #endif
1232
+
1233
+ /* MARK: - Built-in macros: VAL */
1234
+
1235
+ #ifdef Z_COMPILER_MACRO_VAL_INITIALIZE
1236
+ # define Z_COMPILER_HAS_MACRO_VAL_INITIALIZE TRUE
1237
+ #else
1238
+ # define Z_COMPILER_HAS_MACRO_VAL_INITIALIZE FALSE
1239
+ #endif
1240
+
1241
+ #ifdef Z_COMPILER_MACRO_VAL_FINALIZE
1242
+ # define Z_COMPILER_HAS_MACRO_VAL_FINALIZE TRUE
1243
+ #else
1244
+ # define Z_COMPILER_HAS_MACRO_VAL_FINALIZE FALSE
1245
+ #endif
1246
+
1247
+ #ifdef Z_COMPILER_MACRO_VAL_READ
1248
+ # define Z_COMPILER_HAS_MACRO_VAL_READ TRUE
1249
+ #else
1250
+ # define Z_COMPILER_HAS_MACRO_VAL_READ FALSE
1251
+ #endif
1252
+
1253
+ #ifdef Z_COMPILER_MACRO_VAL_COPY
1254
+ # define Z_COMPILER_HAS_MACRO_VAL_COPY TRUE
1255
+ #else
1256
+ # define Z_COMPILER_HAS_MACRO_VAL_COPY FALSE
1257
+ #endif
1258
+
1259
+ /* MARK: - Built-in types */
1260
+
1261
+ #ifdef Z_COMPILER_TYPE_UINT8
1262
+ # define Z_COMPILER_HAS_TYPE_UINT8 TRUE
1263
+ #else
1264
+ # define Z_COMPILER_HAS_TYPE_UINT8 FALSE
1265
+ #endif
1266
+
1267
+ #ifdef Z_COMPILER_TYPE_UINT16
1268
+ # define Z_COMPILER_HAS_TYPE_UINT16 TRUE
1269
+ #else
1270
+ # define Z_COMPILER_HAS_TYPE_UINT16 FALSE
1271
+ #endif
1272
+
1273
+ #ifdef Z_COMPILER_TYPE_UINT32
1274
+ # define Z_COMPILER_HAS_TYPE_UINT32 TRUE
1275
+ #else
1276
+ # define Z_COMPILER_HAS_TYPE_UINT32 FALSE
1277
+ #endif
1278
+
1279
+ #ifdef Z_COMPILER_TYPE_UINT64
1280
+ # define Z_COMPILER_HAS_TYPE_UINT64 TRUE
1281
+ #else
1282
+ # define Z_COMPILER_HAS_TYPE_UINT64 FALSE
1283
+ #endif
1284
+
1285
+ #ifdef Z_COMPILER_TYPE_UINT128
1286
+ # define Z_COMPILER_HAS_TYPE_UINT128 TRUE
1287
+ #else
1288
+ # define Z_COMPILER_HAS_TYPE_UINT128 FALSE
1289
+ #endif
1290
+
1291
+ #ifdef Z_COMPILER_TYPE_SINT8
1292
+ # define Z_COMPILER_HAS_TYPE_SINT8 TRUE
1293
+ #else
1294
+ # define Z_COMPILER_HAS_TYPE_SINT8 FALSE
1295
+ #endif
1296
+
1297
+ #ifdef Z_COMPILER_TYPE_SINT16
1298
+ # define Z_COMPILER_HAS_TYPE_SINT16 TRUE
1299
+ #else
1300
+ # define Z_COMPILER_HAS_TYPE_SINT16 FALSE
1301
+ #endif
1302
+
1303
+ #ifdef Z_COMPILER_TYPE_SINT32
1304
+ # define Z_COMPILER_HAS_TYPE_SINT32 TRUE
1305
+ #else
1306
+ # define Z_COMPILER_HAS_TYPE_SINT32 FALSE
1307
+ #endif
1308
+
1309
+ #ifdef Z_COMPILER_TYPE_SINT64
1310
+ # define Z_COMPILER_HAS_TYPE_SINT64 TRUE
1311
+ #else
1312
+ # define Z_COMPILER_HAS_TYPE_SINT64 FALSE
1313
+ #endif
1314
+
1315
+ #ifdef Z_COMPILER_TYPE_SINT128
1316
+ # define Z_COMPILER_HAS_TYPE_SINT128 TRUE
1317
+ #else
1318
+ # define Z_COMPILER_HAS_TYPE_SINT128 FALSE
1319
+ #endif
1320
+
1321
+ #ifdef Z_COMPILER_TYPE_FLOAT16
1322
+ # define Z_COMPILER_HAS_TYPE_FLOAT16 TRUE
1323
+ #else
1324
+ # define Z_COMPILER_HAS_TYPE_FLOAT16 FALSE
1325
+ #endif
1326
+
1327
+ #ifdef Z_COMPILER_TYPE_FLOAT32
1328
+ # define Z_COMPILER_HAS_TYPE_FLOAT32 TRUE
1329
+ #else
1330
+ # define Z_COMPILER_HAS_TYPE_FLOAT32 FALSE
1331
+ #endif
1332
+
1333
+ #ifdef Z_COMPILER_TYPE_FLOAT64
1334
+ # define Z_COMPILER_HAS_TYPE_FLOAT64 TRUE
1335
+ #else
1336
+ # define Z_COMPILER_HAS_TYPE_FLOAT64 FALSE
1337
+ #endif
1338
+
1339
+ #ifdef Z_COMPILER_TYPE_FLOAT128
1340
+ # define Z_COMPILER_HAS_TYPE_FLOAT128 TRUE
1341
+ #else
1342
+ # define Z_COMPILER_HAS_TYPE_FLOAT128 FALSE
1343
+ #endif
1344
+
1345
+ #ifdef Z_COMPILER_TYPE_FLOAT80_X87
1346
+ # define Z_COMPILER_HAS_TYPE_FLOAT80_X87 TRUE
1347
+ #else
1348
+ # define Z_COMPILER_HAS_TYPE_FLOAT80_X87 FALSE
1349
+ #endif
1350
+
1351
+ #ifdef Z_COMPILER_TYPE_FLOAT96_X87
1352
+ # define Z_COMPILER_HAS_TYPE_FLOAT96_X87 TRUE
1353
+ #else
1354
+ # define Z_COMPILER_HAS_TYPE_FLOAT96_X87 FALSE
1355
+ #endif
1356
+
1357
+ #ifdef Z_COMPILER_TYPE_FLOAT128_X87
1358
+ # define Z_COMPILER_HAS_TYPE_FLOAT128_X87 TRUE
1359
+ #else
1360
+ # define Z_COMPILER_HAS_TYPE_FLOAT128_X87 FALSE
1361
+ #endif
1362
+
1363
+ #ifdef Z_COMPILER_TYPE_VAL
1364
+ # define Z_COMPILER_HAS_TYPE_VAL TRUE
1365
+ #else
1366
+ # define Z_COMPILER_HAS_TYPE_VAL FALSE
1367
+ #endif
1368
+
1369
+ /* MARK: - Suffix macros for built-in types */
1370
+
1371
+ #ifdef Z_COMPILER_LITERAL_UINT8
1372
+ # define Z_COMPILER_HAS_LITERAL_UINT8 TRUE
1373
+ #else
1374
+ # define Z_COMPILER_HAS_LITERAL_UINT8 FALSE
1375
+ #endif
1376
+
1377
+ #ifdef Z_COMPILER_LITERAL_UINT16
1378
+ # define Z_COMPILER_HAS_LITERAL_UINT16 TRUE
1379
+ #else
1380
+ # define Z_COMPILER_HAS_LITERAL_UINT16 FALSE
1381
+ #endif
1382
+
1383
+ #ifdef Z_COMPILER_LITERAL_UINT32
1384
+ # define Z_COMPILER_HAS_LITERAL_UINT32 TRUE
1385
+ #else
1386
+ # define Z_COMPILER_HAS_LITERAL_UINT32 FALSE
1387
+ #endif
1388
+
1389
+ #ifdef Z_COMPILER_LITERAL_UINT64
1390
+ # define Z_COMPILER_HAS_LITERAL_UINT64 TRUE
1391
+ #else
1392
+ # define Z_COMPILER_HAS_LITERAL_UINT64 FALSE
1393
+ #endif
1394
+
1395
+ #ifdef Z_COMPILER_LITERAL_UINT128
1396
+ # define Z_COMPILER_HAS_LITERAL_UINT128 TRUE
1397
+ #else
1398
+ # define Z_COMPILER_HAS_LITERAL_UINT128 FALSE
1399
+ #endif
1400
+
1401
+ #ifdef Z_COMPILER_LITERAL_SINT8
1402
+ # define Z_COMPILER_HAS_LITERAL_SINT8 TRUE
1403
+ #else
1404
+ # define Z_COMPILER_HAS_LITERAL_SINT8 FALSE
1405
+ #endif
1406
+
1407
+ #ifdef Z_COMPILER_LITERAL_SINT16
1408
+ # define Z_COMPILER_HAS_LITERAL_SINT16 TRUE
1409
+ #else
1410
+ # define Z_COMPILER_HAS_LITERAL_SINT16 FALSE
1411
+ #endif
1412
+
1413
+ #ifdef Z_COMPILER_LITERAL_SINT32
1414
+ # define Z_COMPILER_HAS_LITERAL_SINT32 TRUE
1415
+ #else
1416
+ # define Z_COMPILER_HAS_LITERAL_SINT32 FALSE
1417
+ #endif
1418
+
1419
+ #ifdef Z_COMPILER_LITERAL_SINT64
1420
+ # define Z_COMPILER_HAS_LITERAL_SINT64 TRUE
1421
+ #else
1422
+ # define Z_COMPILER_HAS_LITERAL_SINT64 FALSE
1423
+ #endif
1424
+
1425
+ #ifdef Z_COMPILER_LITERAL_SINT128
1426
+ # define Z_COMPILER_HAS_LITERAL_SINT128 TRUE
1427
+ #else
1428
+ # define Z_COMPILER_HAS_LITERAL_SINT128 FALSE
1429
+ #endif
1430
+
1431
+ #ifdef Z_COMPILER_LITERAL_FLOAT16
1432
+ # define Z_COMPILER_HAS_LITERAL_FLOAT16 TRUE
1433
+ #else
1434
+ # define Z_COMPILER_HAS_LITERAL_FLOAT16 FALSE
1435
+ #endif
1436
+
1437
+ #ifdef Z_COMPILER_LITERAL_FLOAT32
1438
+ # define Z_COMPILER_HAS_LITERAL_FLOAT32 TRUE
1439
+ #else
1440
+ # define Z_COMPILER_HAS_LITERAL_FLOAT32 FALSE
1441
+ #endif
1442
+
1443
+ #ifdef Z_COMPILER_LITERAL_FLOAT64
1444
+ # define Z_COMPILER_HAS_LITERAL_FLOAT64 TRUE
1445
+ #else
1446
+ # define Z_COMPILER_HAS_LITERAL_FLOAT64 FALSE
1447
+ #endif
1448
+
1449
+ #ifdef Z_COMPILER_LITERAL_FLOAT128
1450
+ # define Z_COMPILER_HAS_LITERAL_FLOAT128 TRUE
1451
+ #else
1452
+ # define Z_COMPILER_HAS_LITERAL_FLOAT128 FALSE
1453
+ #endif
1454
+
1455
+ #ifdef Z_COMPILER_LITERAL_FLOAT80_X87
1456
+ # define Z_COMPILER_HAS_LITERAL_FLOAT80_X87 TRUE
1457
+ #else
1458
+ # define Z_COMPILER_HAS_LITERAL_FLOAT80_X87 FALSE
1459
+ #endif
1460
+
1461
+ #ifdef Z_COMPILER_LITERAL_FLOAT96_X87
1462
+ # define Z_COMPILER_HAS_LITERAL_FLOAT96_X87 TRUE
1463
+ #else
1464
+ # define Z_COMPILER_HAS_LITERAL_FLOAT96_X87 FALSE
1465
+ #endif
1466
+
1467
+ #ifdef Z_COMPILER_LITERAL_FLOAT128_X87
1468
+ # define Z_COMPILER_HAS_LITERAL_FLOAT128_X87 TRUE
1469
+ #else
1470
+ # define Z_COMPILER_HAS_LITERAL_FLOAT128_X87 FALSE
1471
+ #endif
1472
+
1473
+ /* MARK: - Built-in functions: Atomic operations */
1474
+
1475
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_SET_IF_EQUAL
1476
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_SET_IF_EQUAL TRUE
1477
+ #else
1478
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_SET_IF_EQUAL FALSE
1479
+ #endif
1480
+
1481
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_GET_THEN_SET
1482
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_SET TRUE
1483
+ #else
1484
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_SET FALSE
1485
+ #endif
1486
+
1487
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_GET_THEN_INCREMENT
1488
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_INCREMENT TRUE
1489
+ #else
1490
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_INCREMENT FALSE
1491
+ #endif
1492
+
1493
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_GET_THEN_ADD
1494
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_ADD TRUE
1495
+ #else
1496
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_ADD FALSE
1497
+ #endif
1498
+
1499
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_GET_THEN_DECREMENT
1500
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_DECREMENT TRUE
1501
+ #else
1502
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_DECREMENT FALSE
1503
+ #endif
1504
+
1505
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_GET_THEN_SUBTRACT
1506
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_SUBTRACT TRUE
1507
+ #else
1508
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_SUBTRACT FALSE
1509
+ #endif
1510
+
1511
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_GET_THEN_AND
1512
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_AND TRUE
1513
+ #else
1514
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_AND FALSE
1515
+ #endif
1516
+
1517
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_GET_THEN_OR
1518
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_OR TRUE
1519
+ #else
1520
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_OR FALSE
1521
+ #endif
1522
+
1523
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_GET_THEN_XOR
1524
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_XOR TRUE
1525
+ #else
1526
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_XOR FALSE
1527
+ #endif
1528
+
1529
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_GET_THEN_NAND
1530
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_NAND TRUE
1531
+ #else
1532
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_NAND FALSE
1533
+ #endif
1534
+
1535
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_GET_THEN_NOT
1536
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_NOT TRUE
1537
+ #else
1538
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_GET_THEN_NOT FALSE
1539
+ #endif
1540
+
1541
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_INCREMENT_THEN_GET
1542
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_INCREMENT_THEN_GET TRUE
1543
+ #else
1544
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_INCREMENT_THEN_GET FALSE
1545
+ #endif
1546
+
1547
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_ADD_THEN_GET
1548
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_ADD_THEN_GET TRUE
1549
+ #else
1550
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_ADD_THEN_GET FALSE
1551
+ #endif
1552
+
1553
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_DECREMENT_THEN_GET
1554
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_DECREMENT_THEN_GET TRUE
1555
+ #else
1556
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_DECREMENT_THEN_GET FALSE
1557
+ #endif
1558
+
1559
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_SUBTRACT_THEN_GET
1560
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_SUBTRACT_THEN_GET TRUE
1561
+ #else
1562
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_SUBTRACT_THEN_GET FALSE
1563
+ #endif
1564
+
1565
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_AND_THEN_GET
1566
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_AND_THEN_GET TRUE
1567
+ #else
1568
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_AND_THEN_GET FALSE
1569
+ #endif
1570
+
1571
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_OR_THEN_GET
1572
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_OR_THEN_GET TRUE
1573
+ #else
1574
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_OR_THEN_GET FALSE
1575
+ #endif
1576
+
1577
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_XOR_THEN_GET
1578
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_XOR_THEN_GET TRUE
1579
+ #else
1580
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_XOR_THEN_GET FALSE
1581
+ #endif
1582
+
1583
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_NAND_THEN_GET
1584
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_NAND_THEN_GET TRUE
1585
+ #else
1586
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_NAND_THEN_GET FALSE
1587
+ #endif
1588
+
1589
+ #ifdef Z_COMPILER_FUNCTION_UINT8_ATOMIC_NOT_THEN_GET
1590
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_NOT_THEN_GET TRUE
1591
+ #else
1592
+ # define Z_COMPILER_HAS_FUNCTION_UINT8_ATOMIC_NOT_THEN_GET FALSE
1593
+ #endif
1594
+
1595
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_SET_IF_EQUAL
1596
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_SET_IF_EQUAL TRUE
1597
+ #else
1598
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_SET_IF_EQUAL FALSE
1599
+ #endif
1600
+
1601
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_GET_THEN_SET
1602
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_SET TRUE
1603
+ #else
1604
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_SET FALSE
1605
+ #endif
1606
+
1607
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_GET_THEN_INCREMENT
1608
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_INCREMENT TRUE
1609
+ #else
1610
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_INCREMENT FALSE
1611
+ #endif
1612
+
1613
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_GET_THEN_ADD
1614
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_ADD TRUE
1615
+ #else
1616
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_ADD FALSE
1617
+ #endif
1618
+
1619
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_GET_THEN_DECREMENT
1620
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_DECREMENT TRUE
1621
+ #else
1622
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_DECREMENT FALSE
1623
+ #endif
1624
+
1625
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_GET_THEN_SUBTRACT
1626
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_SUBTRACT TRUE
1627
+ #else
1628
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_SUBTRACT FALSE
1629
+ #endif
1630
+
1631
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_GET_THEN_AND
1632
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_AND TRUE
1633
+ #else
1634
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_AND FALSE
1635
+ #endif
1636
+
1637
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_GET_THEN_OR
1638
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_OR TRUE
1639
+ #else
1640
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_OR FALSE
1641
+ #endif
1642
+
1643
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_GET_THEN_XOR
1644
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_XOR TRUE
1645
+ #else
1646
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_XOR FALSE
1647
+ #endif
1648
+
1649
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_GET_THEN_NAND
1650
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_NAND TRUE
1651
+ #else
1652
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_NAND FALSE
1653
+ #endif
1654
+
1655
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_GET_THEN_NOT
1656
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_NOT TRUE
1657
+ #else
1658
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_GET_THEN_NOT FALSE
1659
+ #endif
1660
+
1661
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_INCREMENT_THEN_GET
1662
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_INCREMENT_THEN_GET TRUE
1663
+ #else
1664
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_INCREMENT_THEN_GET FALSE
1665
+ #endif
1666
+
1667
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_ADD_THEN_GET
1668
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_ADD_THEN_GET TRUE
1669
+ #else
1670
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_ADD_THEN_GET FALSE
1671
+ #endif
1672
+
1673
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_DECREMENT_THEN_GET
1674
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_DECREMENT_THEN_GET TRUE
1675
+ #else
1676
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_DECREMENT_THEN_GET FALSE
1677
+ #endif
1678
+
1679
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_SUBTRACT_THEN_GET
1680
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_SUBTRACT_THEN_GET TRUE
1681
+ #else
1682
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_SUBTRACT_THEN_GET FALSE
1683
+ #endif
1684
+
1685
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_AND_THEN_GET
1686
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_AND_THEN_GET TRUE
1687
+ #else
1688
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_AND_THEN_GET FALSE
1689
+ #endif
1690
+
1691
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_OR_THEN_GET
1692
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_OR_THEN_GET TRUE
1693
+ #else
1694
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_OR_THEN_GET FALSE
1695
+ #endif
1696
+
1697
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_XOR_THEN_GET
1698
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_XOR_THEN_GET TRUE
1699
+ #else
1700
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_XOR_THEN_GET FALSE
1701
+ #endif
1702
+
1703
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_NAND_THEN_GET
1704
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_NAND_THEN_GET TRUE
1705
+ #else
1706
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_NAND_THEN_GET FALSE
1707
+ #endif
1708
+
1709
+ #ifdef Z_COMPILER_FUNCTION_UINT16_ATOMIC_NOT_THEN_GET
1710
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_NOT_THEN_GET TRUE
1711
+ #else
1712
+ # define Z_COMPILER_HAS_FUNCTION_UINT16_ATOMIC_NOT_THEN_GET FALSE
1713
+ #endif
1714
+
1715
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_SET_IF_EQUAL
1716
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_SET_IF_EQUAL TRUE
1717
+ #else
1718
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_SET_IF_EQUAL FALSE
1719
+ #endif
1720
+
1721
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_GET_THEN_SET
1722
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_SET TRUE
1723
+ #else
1724
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_SET FALSE
1725
+ #endif
1726
+
1727
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_GET_THEN_INCREMENT
1728
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_INCREMENT TRUE
1729
+ #else
1730
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_INCREMENT FALSE
1731
+ #endif
1732
+
1733
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_GET_THEN_ADD
1734
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_ADD TRUE
1735
+ #else
1736
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_ADD FALSE
1737
+ #endif
1738
+
1739
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_GET_THEN_DECREMENT
1740
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_DECREMENT TRUE
1741
+ #else
1742
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_DECREMENT FALSE
1743
+ #endif
1744
+
1745
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_GET_THEN_SUBTRACT
1746
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_SUBTRACT TRUE
1747
+ #else
1748
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_SUBTRACT FALSE
1749
+ #endif
1750
+
1751
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_GET_THEN_AND
1752
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_AND TRUE
1753
+ #else
1754
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_AND FALSE
1755
+ #endif
1756
+
1757
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_GET_THEN_OR
1758
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_OR TRUE
1759
+ #else
1760
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_OR FALSE
1761
+ #endif
1762
+
1763
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_GET_THEN_XOR
1764
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_XOR TRUE
1765
+ #else
1766
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_XOR FALSE
1767
+ #endif
1768
+
1769
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_GET_THEN_NAND
1770
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_NAND TRUE
1771
+ #else
1772
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_NAND FALSE
1773
+ #endif
1774
+
1775
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_GET_THEN_NOT
1776
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_NOT TRUE
1777
+ #else
1778
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_GET_THEN_NOT FALSE
1779
+ #endif
1780
+
1781
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_INCREMENT_THEN_GET
1782
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_INCREMENT_THEN_GET TRUE
1783
+ #else
1784
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_INCREMENT_THEN_GET FALSE
1785
+ #endif
1786
+
1787
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_ADD_THEN_GET
1788
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_ADD_THEN_GET TRUE
1789
+ #else
1790
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_ADD_THEN_GET FALSE
1791
+ #endif
1792
+
1793
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_DECREMENT_THEN_GET
1794
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_DECREMENT_THEN_GET TRUE
1795
+ #else
1796
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_DECREMENT_THEN_GET FALSE
1797
+ #endif
1798
+
1799
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_SUBTRACT_THEN_GET
1800
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_SUBTRACT_THEN_GET TRUE
1801
+ #else
1802
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_SUBTRACT_THEN_GET FALSE
1803
+ #endif
1804
+
1805
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_AND_THEN_GET
1806
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_AND_THEN_GET TRUE
1807
+ #else
1808
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_AND_THEN_GET FALSE
1809
+ #endif
1810
+
1811
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_OR_THEN_GET
1812
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_OR_THEN_GET TRUE
1813
+ #else
1814
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_OR_THEN_GET FALSE
1815
+ #endif
1816
+
1817
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_XOR_THEN_GET
1818
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_XOR_THEN_GET TRUE
1819
+ #else
1820
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_XOR_THEN_GET FALSE
1821
+ #endif
1822
+
1823
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_NAND_THEN_GET
1824
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_NAND_THEN_GET TRUE
1825
+ #else
1826
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_NAND_THEN_GET FALSE
1827
+ #endif
1828
+
1829
+ #ifdef Z_COMPILER_FUNCTION_UINT32_ATOMIC_NOT_THEN_GET
1830
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_NOT_THEN_GET TRUE
1831
+ #else
1832
+ # define Z_COMPILER_HAS_FUNCTION_UINT32_ATOMIC_NOT_THEN_GET FALSE
1833
+ #endif
1834
+
1835
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_SET_IF_EQUAL
1836
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_SET_IF_EQUAL TRUE
1837
+ #else
1838
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_SET_IF_EQUAL FALSE
1839
+ #endif
1840
+
1841
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_GET_THEN_SET
1842
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_SET TRUE
1843
+ #else
1844
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_SET FALSE
1845
+ #endif
1846
+
1847
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_GET_THEN_INCREMENT
1848
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_INCREMENT TRUE
1849
+ #else
1850
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_INCREMENT FALSE
1851
+ #endif
1852
+
1853
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_GET_THEN_ADD
1854
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_ADD TRUE
1855
+ #else
1856
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_ADD FALSE
1857
+ #endif
1858
+
1859
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_GET_THEN_DECREMENT
1860
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_DECREMENT TRUE
1861
+ #else
1862
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_DECREMENT FALSE
1863
+ #endif
1864
+
1865
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_GET_THEN_SUBTRACT
1866
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_SUBTRACT TRUE
1867
+ #else
1868
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_SUBTRACT FALSE
1869
+ #endif
1870
+
1871
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_GET_THEN_AND
1872
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_AND TRUE
1873
+ #else
1874
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_AND FALSE
1875
+ #endif
1876
+
1877
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_GET_THEN_OR
1878
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_OR TRUE
1879
+ #else
1880
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_OR FALSE
1881
+ #endif
1882
+
1883
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_GET_THEN_XOR
1884
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_XOR TRUE
1885
+ #else
1886
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_XOR FALSE
1887
+ #endif
1888
+
1889
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_GET_THEN_NAND
1890
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_NAND TRUE
1891
+ #else
1892
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_NAND FALSE
1893
+ #endif
1894
+
1895
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_GET_THEN_NOT
1896
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_NOT TRUE
1897
+ #else
1898
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_GET_THEN_NOT FALSE
1899
+ #endif
1900
+
1901
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_INCREMENT_THEN_GET
1902
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_INCREMENT_THEN_GET TRUE
1903
+ #else
1904
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_INCREMENT_THEN_GET FALSE
1905
+ #endif
1906
+
1907
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_ADD_THEN_GET
1908
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_ADD_THEN_GET TRUE
1909
+ #else
1910
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_ADD_THEN_GET FALSE
1911
+ #endif
1912
+
1913
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_DECREMENT_THEN_GET
1914
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_DECREMENT_THEN_GET TRUE
1915
+ #else
1916
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_DECREMENT_THEN_GET FALSE
1917
+ #endif
1918
+
1919
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_SUBTRACT_THEN_GET
1920
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_SUBTRACT_THEN_GET TRUE
1921
+ #else
1922
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_SUBTRACT_THEN_GET FALSE
1923
+ #endif
1924
+
1925
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_AND_THEN_GET
1926
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_AND_THEN_GET TRUE
1927
+ #else
1928
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_AND_THEN_GET FALSE
1929
+ #endif
1930
+
1931
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_OR_THEN_GET
1932
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_OR_THEN_GET TRUE
1933
+ #else
1934
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_OR_THEN_GET FALSE
1935
+ #endif
1936
+
1937
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_XOR_THEN_GET
1938
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_XOR_THEN_GET TRUE
1939
+ #else
1940
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_XOR_THEN_GET FALSE
1941
+ #endif
1942
+
1943
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_NAND_THEN_GET
1944
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_NAND_THEN_GET TRUE
1945
+ #else
1946
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_NAND_THEN_GET FALSE
1947
+ #endif
1948
+
1949
+ #ifdef Z_COMPILER_FUNCTION_UINT64_ATOMIC_NOT_THEN_GET
1950
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_NOT_THEN_GET TRUE
1951
+ #else
1952
+ # define Z_COMPILER_HAS_FUNCTION_UINT64_ATOMIC_NOT_THEN_GET FALSE
1953
+ #endif
1954
+
1955
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_SET_IF_EQUAL
1956
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_SET_IF_EQUAL TRUE
1957
+ #else
1958
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_SET_IF_EQUAL FALSE
1959
+ #endif
1960
+
1961
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_GET_THEN_SET
1962
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_SET TRUE
1963
+ #else
1964
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_SET FALSE
1965
+ #endif
1966
+
1967
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_GET_THEN_INCREMENT
1968
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_INCREMENT TRUE
1969
+ #else
1970
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_INCREMENT FALSE
1971
+ #endif
1972
+
1973
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_GET_THEN_ADD
1974
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_ADD TRUE
1975
+ #else
1976
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_ADD FALSE
1977
+ #endif
1978
+
1979
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_GET_THEN_DECREMENT
1980
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_DECREMENT TRUE
1981
+ #else
1982
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_DECREMENT FALSE
1983
+ #endif
1984
+
1985
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_GET_THEN_SUBTRACT
1986
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_SUBTRACT TRUE
1987
+ #else
1988
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_SUBTRACT FALSE
1989
+ #endif
1990
+
1991
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_GET_THEN_AND
1992
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_AND TRUE
1993
+ #else
1994
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_AND FALSE
1995
+ #endif
1996
+
1997
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_GET_THEN_OR
1998
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_OR TRUE
1999
+ #else
2000
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_OR FALSE
2001
+ #endif
2002
+
2003
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_GET_THEN_XOR
2004
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_XOR TRUE
2005
+ #else
2006
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_XOR FALSE
2007
+ #endif
2008
+
2009
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_GET_THEN_NAND
2010
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_NAND TRUE
2011
+ #else
2012
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_NAND FALSE
2013
+ #endif
2014
+
2015
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_GET_THEN_NOT
2016
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_NOT TRUE
2017
+ #else
2018
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_GET_THEN_NOT FALSE
2019
+ #endif
2020
+
2021
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_INCREMENT_THEN_GET
2022
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_INCREMENT_THEN_GET TRUE
2023
+ #else
2024
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_INCREMENT_THEN_GET FALSE
2025
+ #endif
2026
+
2027
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_ADD_THEN_GET
2028
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_ADD_THEN_GET TRUE
2029
+ #else
2030
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_ADD_THEN_GET FALSE
2031
+ #endif
2032
+
2033
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_DECREMENT_THEN_GET
2034
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_DECREMENT_THEN_GET TRUE
2035
+ #else
2036
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_DECREMENT_THEN_GET FALSE
2037
+ #endif
2038
+
2039
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_SUBTRACT_THEN_GET
2040
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_SUBTRACT_THEN_GET TRUE
2041
+ #else
2042
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_SUBTRACT_THEN_GET FALSE
2043
+ #endif
2044
+
2045
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_AND_THEN_GET
2046
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_AND_THEN_GET TRUE
2047
+ #else
2048
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_AND_THEN_GET FALSE
2049
+ #endif
2050
+
2051
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_OR_THEN_GET
2052
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_OR_THEN_GET TRUE
2053
+ #else
2054
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_OR_THEN_GET FALSE
2055
+ #endif
2056
+
2057
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_XOR_THEN_GET
2058
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_XOR_THEN_GET TRUE
2059
+ #else
2060
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_XOR_THEN_GET FALSE
2061
+ #endif
2062
+
2063
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_NAND_THEN_GET
2064
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_NAND_THEN_GET TRUE
2065
+ #else
2066
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_NAND_THEN_GET FALSE
2067
+ #endif
2068
+
2069
+ #ifdef Z_COMPILER_FUNCTION_UINT128_ATOMIC_NOT_THEN_GET
2070
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_NOT_THEN_GET TRUE
2071
+ #else
2072
+ # define Z_COMPILER_HAS_FUNCTION_UINT128_ATOMIC_NOT_THEN_GET FALSE
2073
+ #endif
2074
+
2075
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_SET_IF_EQUAL
2076
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_SET_IF_EQUAL TRUE
2077
+ #else
2078
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_SET_IF_EQUAL FALSE
2079
+ #endif
2080
+
2081
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_GET_THEN_SET
2082
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_SET TRUE
2083
+ #else
2084
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_SET FALSE
2085
+ #endif
2086
+
2087
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_GET_THEN_INCREMENT
2088
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_INCREMENT TRUE
2089
+ #else
2090
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_INCREMENT FALSE
2091
+ #endif
2092
+
2093
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_GET_THEN_ADD
2094
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_ADD TRUE
2095
+ #else
2096
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_ADD FALSE
2097
+ #endif
2098
+
2099
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_GET_THEN_DECREMENT
2100
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_DECREMENT TRUE
2101
+ #else
2102
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_DECREMENT FALSE
2103
+ #endif
2104
+
2105
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_GET_THEN_SUBTRACT
2106
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_SUBTRACT TRUE
2107
+ #else
2108
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_SUBTRACT FALSE
2109
+ #endif
2110
+
2111
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_GET_THEN_AND
2112
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_AND TRUE
2113
+ #else
2114
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_AND FALSE
2115
+ #endif
2116
+
2117
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_GET_THEN_OR
2118
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_OR TRUE
2119
+ #else
2120
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_OR FALSE
2121
+ #endif
2122
+
2123
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_GET_THEN_XOR
2124
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_XOR TRUE
2125
+ #else
2126
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_XOR FALSE
2127
+ #endif
2128
+
2129
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_GET_THEN_NAND
2130
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_NAND TRUE
2131
+ #else
2132
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_NAND FALSE
2133
+ #endif
2134
+
2135
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_GET_THEN_NOT
2136
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_NOT TRUE
2137
+ #else
2138
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_GET_THEN_NOT FALSE
2139
+ #endif
2140
+
2141
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_INCREMENT_THEN_GET
2142
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_INCREMENT_THEN_GET TRUE
2143
+ #else
2144
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_INCREMENT_THEN_GET FALSE
2145
+ #endif
2146
+
2147
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_ADD_THEN_GET
2148
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_ADD_THEN_GET TRUE
2149
+ #else
2150
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_ADD_THEN_GET FALSE
2151
+ #endif
2152
+
2153
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_DECREMENT_THEN_GET
2154
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_DECREMENT_THEN_GET TRUE
2155
+ #else
2156
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_DECREMENT_THEN_GET FALSE
2157
+ #endif
2158
+
2159
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_SUBTRACT_THEN_GET
2160
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_SUBTRACT_THEN_GET TRUE
2161
+ #else
2162
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_SUBTRACT_THEN_GET FALSE
2163
+ #endif
2164
+
2165
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_AND_THEN_GET
2166
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_AND_THEN_GET TRUE
2167
+ #else
2168
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_AND_THEN_GET FALSE
2169
+ #endif
2170
+
2171
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_OR_THEN_GET
2172
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_OR_THEN_GET TRUE
2173
+ #else
2174
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_OR_THEN_GET FALSE
2175
+ #endif
2176
+
2177
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_XOR_THEN_GET
2178
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_XOR_THEN_GET TRUE
2179
+ #else
2180
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_XOR_THEN_GET FALSE
2181
+ #endif
2182
+
2183
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_NAND_THEN_GET
2184
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_NAND_THEN_GET TRUE
2185
+ #else
2186
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_NAND_THEN_GET FALSE
2187
+ #endif
2188
+
2189
+ #ifdef Z_COMPILER_FUNCTION_SINT8_ATOMIC_NOT_THEN_GET
2190
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_NOT_THEN_GET TRUE
2191
+ #else
2192
+ # define Z_COMPILER_HAS_FUNCTION_SINT8_ATOMIC_NOT_THEN_GET FALSE
2193
+ #endif
2194
+
2195
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_SET_IF_EQUAL
2196
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_SET_IF_EQUAL TRUE
2197
+ #else
2198
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_SET_IF_EQUAL FALSE
2199
+ #endif
2200
+
2201
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_GET_THEN_SET
2202
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_SET TRUE
2203
+ #else
2204
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_SET FALSE
2205
+ #endif
2206
+
2207
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_GET_THEN_INCREMENT
2208
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_INCREMENT TRUE
2209
+ #else
2210
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_INCREMENT FALSE
2211
+ #endif
2212
+
2213
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_GET_THEN_ADD
2214
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_ADD TRUE
2215
+ #else
2216
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_ADD FALSE
2217
+ #endif
2218
+
2219
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_GET_THEN_DECREMENT
2220
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_DECREMENT TRUE
2221
+ #else
2222
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_DECREMENT FALSE
2223
+ #endif
2224
+
2225
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_GET_THEN_SUBTRACT
2226
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_SUBTRACT TRUE
2227
+ #else
2228
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_SUBTRACT FALSE
2229
+ #endif
2230
+
2231
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_GET_THEN_AND
2232
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_AND TRUE
2233
+ #else
2234
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_AND FALSE
2235
+ #endif
2236
+
2237
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_GET_THEN_OR
2238
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_OR TRUE
2239
+ #else
2240
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_OR FALSE
2241
+ #endif
2242
+
2243
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_GET_THEN_XOR
2244
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_XOR TRUE
2245
+ #else
2246
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_XOR FALSE
2247
+ #endif
2248
+
2249
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_GET_THEN_NAND
2250
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_NAND TRUE
2251
+ #else
2252
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_NAND FALSE
2253
+ #endif
2254
+
2255
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_GET_THEN_NOT
2256
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_NOT TRUE
2257
+ #else
2258
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_GET_THEN_NOT FALSE
2259
+ #endif
2260
+
2261
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_INCREMENT_THEN_GET
2262
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_INCREMENT_THEN_GET TRUE
2263
+ #else
2264
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_INCREMENT_THEN_GET FALSE
2265
+ #endif
2266
+
2267
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_ADD_THEN_GET
2268
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_ADD_THEN_GET TRUE
2269
+ #else
2270
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_ADD_THEN_GET FALSE
2271
+ #endif
2272
+
2273
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_DECREMENT_THEN_GET
2274
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_DECREMENT_THEN_GET TRUE
2275
+ #else
2276
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_DECREMENT_THEN_GET FALSE
2277
+ #endif
2278
+
2279
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_SUBTRACT_THEN_GET
2280
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_SUBTRACT_THEN_GET TRUE
2281
+ #else
2282
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_SUBTRACT_THEN_GET FALSE
2283
+ #endif
2284
+
2285
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_AND_THEN_GET
2286
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_AND_THEN_GET TRUE
2287
+ #else
2288
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_AND_THEN_GET FALSE
2289
+ #endif
2290
+
2291
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_OR_THEN_GET
2292
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_OR_THEN_GET TRUE
2293
+ #else
2294
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_OR_THEN_GET FALSE
2295
+ #endif
2296
+
2297
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_XOR_THEN_GET
2298
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_XOR_THEN_GET TRUE
2299
+ #else
2300
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_XOR_THEN_GET FALSE
2301
+ #endif
2302
+
2303
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_NAND_THEN_GET
2304
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_NAND_THEN_GET TRUE
2305
+ #else
2306
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_NAND_THEN_GET FALSE
2307
+ #endif
2308
+
2309
+ #ifdef Z_COMPILER_FUNCTION_SINT16_ATOMIC_NOT_THEN_GET
2310
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_NOT_THEN_GET TRUE
2311
+ #else
2312
+ # define Z_COMPILER_HAS_FUNCTION_SINT16_ATOMIC_NOT_THEN_GET FALSE
2313
+ #endif
2314
+
2315
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_SET_IF_EQUAL
2316
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_SET_IF_EQUAL TRUE
2317
+ #else
2318
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_SET_IF_EQUAL FALSE
2319
+ #endif
2320
+
2321
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_GET_THEN_SET
2322
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_SET TRUE
2323
+ #else
2324
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_SET FALSE
2325
+ #endif
2326
+
2327
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_GET_THEN_INCREMENT
2328
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_INCREMENT TRUE
2329
+ #else
2330
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_INCREMENT FALSE
2331
+ #endif
2332
+
2333
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_GET_THEN_ADD
2334
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_ADD TRUE
2335
+ #else
2336
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_ADD FALSE
2337
+ #endif
2338
+
2339
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_GET_THEN_DECREMENT
2340
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_DECREMENT TRUE
2341
+ #else
2342
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_DECREMENT FALSE
2343
+ #endif
2344
+
2345
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_GET_THEN_SUBTRACT
2346
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_SUBTRACT TRUE
2347
+ #else
2348
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_SUBTRACT FALSE
2349
+ #endif
2350
+
2351
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_GET_THEN_AND
2352
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_AND TRUE
2353
+ #else
2354
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_AND FALSE
2355
+ #endif
2356
+
2357
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_GET_THEN_OR
2358
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_OR TRUE
2359
+ #else
2360
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_OR FALSE
2361
+ #endif
2362
+
2363
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_GET_THEN_XOR
2364
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_XOR TRUE
2365
+ #else
2366
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_XOR FALSE
2367
+ #endif
2368
+
2369
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_GET_THEN_NAND
2370
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_NAND TRUE
2371
+ #else
2372
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_NAND FALSE
2373
+ #endif
2374
+
2375
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_GET_THEN_NOT
2376
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_NOT TRUE
2377
+ #else
2378
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_GET_THEN_NOT FALSE
2379
+ #endif
2380
+
2381
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_INCREMENT_THEN_GET
2382
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_INCREMENT_THEN_GET TRUE
2383
+ #else
2384
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_INCREMENT_THEN_GET FALSE
2385
+ #endif
2386
+
2387
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_ADD_THEN_GET
2388
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_ADD_THEN_GET TRUE
2389
+ #else
2390
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_ADD_THEN_GET FALSE
2391
+ #endif
2392
+
2393
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_DECREMENT_THEN_GET
2394
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_DECREMENT_THEN_GET TRUE
2395
+ #else
2396
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_DECREMENT_THEN_GET FALSE
2397
+ #endif
2398
+
2399
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_SUBTRACT_THEN_GET
2400
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_SUBTRACT_THEN_GET TRUE
2401
+ #else
2402
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_SUBTRACT_THEN_GET FALSE
2403
+ #endif
2404
+
2405
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_AND_THEN_GET
2406
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_AND_THEN_GET TRUE
2407
+ #else
2408
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_AND_THEN_GET FALSE
2409
+ #endif
2410
+
2411
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_OR_THEN_GET
2412
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_OR_THEN_GET TRUE
2413
+ #else
2414
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_OR_THEN_GET FALSE
2415
+ #endif
2416
+
2417
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_XOR_THEN_GET
2418
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_XOR_THEN_GET TRUE
2419
+ #else
2420
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_XOR_THEN_GET FALSE
2421
+ #endif
2422
+
2423
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_NAND_THEN_GET
2424
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_NAND_THEN_GET TRUE
2425
+ #else
2426
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_NAND_THEN_GET FALSE
2427
+ #endif
2428
+
2429
+ #ifdef Z_COMPILER_FUNCTION_SINT32_ATOMIC_NOT_THEN_GET
2430
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_NOT_THEN_GET TRUE
2431
+ #else
2432
+ # define Z_COMPILER_HAS_FUNCTION_SINT32_ATOMIC_NOT_THEN_GET FALSE
2433
+ #endif
2434
+
2435
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_SET_IF_EQUAL
2436
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_SET_IF_EQUAL TRUE
2437
+ #else
2438
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_SET_IF_EQUAL FALSE
2439
+ #endif
2440
+
2441
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_GET_THEN_SET
2442
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_SET TRUE
2443
+ #else
2444
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_SET FALSE
2445
+ #endif
2446
+
2447
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_GET_THEN_INCREMENT
2448
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_INCREMENT TRUE
2449
+ #else
2450
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_INCREMENT FALSE
2451
+ #endif
2452
+
2453
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_GET_THEN_ADD
2454
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_ADD TRUE
2455
+ #else
2456
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_ADD FALSE
2457
+ #endif
2458
+
2459
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_GET_THEN_DECREMENT
2460
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_DECREMENT TRUE
2461
+ #else
2462
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_DECREMENT FALSE
2463
+ #endif
2464
+
2465
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_GET_THEN_SUBTRACT
2466
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_SUBTRACT TRUE
2467
+ #else
2468
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_SUBTRACT FALSE
2469
+ #endif
2470
+
2471
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_GET_THEN_AND
2472
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_AND TRUE
2473
+ #else
2474
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_AND FALSE
2475
+ #endif
2476
+
2477
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_GET_THEN_OR
2478
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_OR TRUE
2479
+ #else
2480
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_OR FALSE
2481
+ #endif
2482
+
2483
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_GET_THEN_XOR
2484
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_XOR TRUE
2485
+ #else
2486
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_XOR FALSE
2487
+ #endif
2488
+
2489
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_GET_THEN_NAND
2490
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_NAND TRUE
2491
+ #else
2492
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_NAND FALSE
2493
+ #endif
2494
+
2495
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_GET_THEN_NOT
2496
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_NOT TRUE
2497
+ #else
2498
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_GET_THEN_NOT FALSE
2499
+ #endif
2500
+
2501
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_INCREMENT_THEN_GET
2502
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_INCREMENT_THEN_GET TRUE
2503
+ #else
2504
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_INCREMENT_THEN_GET FALSE
2505
+ #endif
2506
+
2507
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_ADD_THEN_GET
2508
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_ADD_THEN_GET TRUE
2509
+ #else
2510
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_ADD_THEN_GET FALSE
2511
+ #endif
2512
+
2513
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_DECREMENT_THEN_GET
2514
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_DECREMENT_THEN_GET TRUE
2515
+ #else
2516
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_DECREMENT_THEN_GET FALSE
2517
+ #endif
2518
+
2519
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_SUBTRACT_THEN_GET
2520
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_SUBTRACT_THEN_GET TRUE
2521
+ #else
2522
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_SUBTRACT_THEN_GET FALSE
2523
+ #endif
2524
+
2525
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_AND_THEN_GET
2526
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_AND_THEN_GET TRUE
2527
+ #else
2528
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_AND_THEN_GET FALSE
2529
+ #endif
2530
+
2531
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_OR_THEN_GET
2532
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_OR_THEN_GET TRUE
2533
+ #else
2534
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_OR_THEN_GET FALSE
2535
+ #endif
2536
+
2537
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_XOR_THEN_GET
2538
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_XOR_THEN_GET TRUE
2539
+ #else
2540
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_XOR_THEN_GET FALSE
2541
+ #endif
2542
+
2543
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_NAND_THEN_GET
2544
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_NAND_THEN_GET TRUE
2545
+ #else
2546
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_NAND_THEN_GET FALSE
2547
+ #endif
2548
+
2549
+ #ifdef Z_COMPILER_FUNCTION_SINT64_ATOMIC_NOT_THEN_GET
2550
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_NOT_THEN_GET TRUE
2551
+ #else
2552
+ # define Z_COMPILER_HAS_FUNCTION_SINT64_ATOMIC_NOT_THEN_GET FALSE
2553
+ #endif
2554
+
2555
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_SET_IF_EQUAL
2556
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_SET_IF_EQUAL TRUE
2557
+ #else
2558
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_SET_IF_EQUAL FALSE
2559
+ #endif
2560
+
2561
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_GET_THEN_SET
2562
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_SET TRUE
2563
+ #else
2564
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_SET FALSE
2565
+ #endif
2566
+
2567
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_GET_THEN_INCREMENT
2568
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_INCREMENT TRUE
2569
+ #else
2570
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_INCREMENT FALSE
2571
+ #endif
2572
+
2573
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_GET_THEN_ADD
2574
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_ADD TRUE
2575
+ #else
2576
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_ADD FALSE
2577
+ #endif
2578
+
2579
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_GET_THEN_DECREMENT
2580
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_DECREMENT TRUE
2581
+ #else
2582
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_DECREMENT FALSE
2583
+ #endif
2584
+
2585
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_GET_THEN_SUBTRACT
2586
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_SUBTRACT TRUE
2587
+ #else
2588
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_SUBTRACT FALSE
2589
+ #endif
2590
+
2591
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_GET_THEN_AND
2592
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_AND TRUE
2593
+ #else
2594
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_AND FALSE
2595
+ #endif
2596
+
2597
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_GET_THEN_OR
2598
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_OR TRUE
2599
+ #else
2600
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_OR FALSE
2601
+ #endif
2602
+
2603
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_GET_THEN_XOR
2604
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_XOR TRUE
2605
+ #else
2606
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_XOR FALSE
2607
+ #endif
2608
+
2609
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_GET_THEN_NAND
2610
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_NAND TRUE
2611
+ #else
2612
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_NAND FALSE
2613
+ #endif
2614
+
2615
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_GET_THEN_NOT
2616
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_NOT TRUE
2617
+ #else
2618
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_GET_THEN_NOT FALSE
2619
+ #endif
2620
+
2621
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_INCREMENT_THEN_GET
2622
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_INCREMENT_THEN_GET TRUE
2623
+ #else
2624
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_INCREMENT_THEN_GET FALSE
2625
+ #endif
2626
+
2627
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_ADD_THEN_GET
2628
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_ADD_THEN_GET TRUE
2629
+ #else
2630
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_ADD_THEN_GET FALSE
2631
+ #endif
2632
+
2633
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_DECREMENT_THEN_GET
2634
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_DECREMENT_THEN_GET TRUE
2635
+ #else
2636
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_DECREMENT_THEN_GET FALSE
2637
+ #endif
2638
+
2639
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_SUBTRACT_THEN_GET
2640
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_SUBTRACT_THEN_GET TRUE
2641
+ #else
2642
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_SUBTRACT_THEN_GET FALSE
2643
+ #endif
2644
+
2645
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_AND_THEN_GET
2646
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_AND_THEN_GET TRUE
2647
+ #else
2648
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_AND_THEN_GET FALSE
2649
+ #endif
2650
+
2651
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_OR_THEN_GET
2652
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_OR_THEN_GET TRUE
2653
+ #else
2654
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_OR_THEN_GET FALSE
2655
+ #endif
2656
+
2657
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_XOR_THEN_GET
2658
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_XOR_THEN_GET TRUE
2659
+ #else
2660
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_XOR_THEN_GET FALSE
2661
+ #endif
2662
+
2663
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_NAND_THEN_GET
2664
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_NAND_THEN_GET TRUE
2665
+ #else
2666
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_NAND_THEN_GET FALSE
2667
+ #endif
2668
+
2669
+ #ifdef Z_COMPILER_FUNCTION_SINT128_ATOMIC_NOT_THEN_GET
2670
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_NOT_THEN_GET TRUE
2671
+ #else
2672
+ # define Z_COMPILER_HAS_FUNCTION_SINT128_ATOMIC_NOT_THEN_GET FALSE
2673
+ #endif
2674
+
2675
+ /* MARK: - Built-in traits */
2676
+
2677
+ #ifdef Z_COMPILER_TRAIT_TYPE_HAS_VIRTUAL_DESTRUCTOR
2678
+ # define Z_COMPILER_HAS_TRAIT_TYPE_HAS_VIRTUAL_DESTRUCTOR TRUE
2679
+ #else
2680
+ # define Z_COMPILER_HAS_TRAIT_TYPE_HAS_VIRTUAL_DESTRUCTOR FALSE
2681
+ #endif
2682
+
2683
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_ABSTRACT
2684
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_ABSTRACT TRUE
2685
+ #else
2686
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_ABSTRACT FALSE
2687
+ #endif
2688
+
2689
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_AGGREGATE
2690
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_AGGREGATE TRUE
2691
+ #else
2692
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_AGGREGATE FALSE
2693
+ #endif
2694
+
2695
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_ASSIGNABLE
2696
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_ASSIGNABLE TRUE
2697
+ #else
2698
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_ASSIGNABLE FALSE
2699
+ #endif
2700
+
2701
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_BASE
2702
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_BASE TRUE
2703
+ #else
2704
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_BASE FALSE
2705
+ #endif
2706
+
2707
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_CLASS
2708
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_CLASS TRUE
2709
+ #else
2710
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_CLASS FALSE
2711
+ #endif
2712
+
2713
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_CONSTRUCTIBLE
2714
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_CONSTRUCTIBLE TRUE
2715
+ #else
2716
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_CONSTRUCTIBLE FALSE
2717
+ #endif
2718
+
2719
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_CONVERTIBLE
2720
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_CONVERTIBLE TRUE
2721
+ #else
2722
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_CONVERTIBLE FALSE
2723
+ #endif
2724
+
2725
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_EMPTY
2726
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_EMPTY TRUE
2727
+ #else
2728
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_EMPTY FALSE
2729
+ #endif
2730
+
2731
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_ENUMERATION
2732
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_ENUMERATION TRUE
2733
+ #else
2734
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_ENUMERATION FALSE
2735
+ #endif
2736
+
2737
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_FINAL
2738
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_FINAL TRUE
2739
+ #else
2740
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_FINAL FALSE
2741
+ #endif
2742
+
2743
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_INTERFACE_CLASS
2744
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_INTERFACE_CLASS TRUE
2745
+ #else
2746
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_INTERFACE_CLASS FALSE
2747
+ #endif
2748
+
2749
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_LITERAL
2750
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_LITERAL TRUE
2751
+ #else
2752
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_LITERAL FALSE
2753
+ #endif
2754
+
2755
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_NOTHROW_ASSIGNABLE
2756
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_NOTHROW_ASSIGNABLE TRUE
2757
+ #else
2758
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_NOTHROW_ASSIGNABLE FALSE
2759
+ #endif
2760
+
2761
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_NOTHROW_CONSTRUCTIBLE
2762
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_NOTHROW_CONSTRUCTIBLE TRUE
2763
+ #else
2764
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_NOTHROW_CONSTRUCTIBLE FALSE
2765
+ #endif
2766
+
2767
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_NOTHROW_COPY_ASSIGNABLE
2768
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_NOTHROW_COPY_ASSIGNABLE TRUE
2769
+ #else
2770
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_NOTHROW_COPY_ASSIGNABLE TRUE
2771
+ #endif
2772
+
2773
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_NOTHROW_COPY_CONSTRUCTIBLE
2774
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_NOTHROW_COPY_CONSTRUCTIBLE TRUE
2775
+ #else
2776
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_NOTHROW_COPY_CONSTRUCTIBLE FALSE
2777
+ #endif
2778
+
2779
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE
2780
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE TRUE
2781
+ #else
2782
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE FALSE
2783
+ #endif
2784
+
2785
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_POD
2786
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_POD TRUE
2787
+ #else
2788
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_POD FALSE
2789
+ #endif
2790
+
2791
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_POLYMORPHIC
2792
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_POLYMORPHIC TRUE
2793
+ #else
2794
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_POLYMORPHIC FALSE
2795
+ #endif
2796
+
2797
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_STANDARD_LAYOUT
2798
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_STANDARD_LAYOUT TRUE
2799
+ #else
2800
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_STANDARD_LAYOUT FALSE
2801
+ #endif
2802
+
2803
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_TRIVIAL
2804
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIAL TRUE
2805
+ #else
2806
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIAL FALSE
2807
+ #endif
2808
+
2809
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_TRIVIALLY_ASSIGNABLE
2810
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_ASSIGNABLE TRUE
2811
+ #else
2812
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_ASSIGNABLE FALSE
2813
+ #endif
2814
+
2815
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_TRIVIALLY_CONSTRUCTIBLE
2816
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_CONSTRUCTIBLE TRUE
2817
+ #else
2818
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_CONSTRUCTIBLE FALSE
2819
+ #endif
2820
+
2821
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_TRIVIALLY_COPY_ASSIGNABLE
2822
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_COPY_ASSIGNABLE TRUE
2823
+ #else
2824
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_COPY_ASSIGNABLE FALSE
2825
+ #endif
2826
+
2827
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE
2828
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE TRUE
2829
+ #else
2830
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE FALSE
2831
+ #endif
2832
+
2833
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_TRIVIALLY_COPYABLE
2834
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_COPYABLE TRUE
2835
+ #else
2836
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_COPYABLE FALSE
2837
+ #endif
2838
+
2839
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE
2840
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE TRUE
2841
+ #else
2842
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE FALSE
2843
+ #endif
2844
+
2845
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_TRIVIALLY_DESTRUCTIBLE
2846
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_DESTRUCTIBLE TRUE
2847
+ #else
2848
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_TRIVIALLY_DESTRUCTIBLE FALSE
2849
+ #endif
2850
+
2851
+ #ifdef Z_COMPILER_TRAIT_TYPE_IS_UNION
2852
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_UNION TRUE
2853
+ #else
2854
+ # define Z_COMPILER_HAS_TRAIT_TYPE_IS_UNION FALSE
2855
+ #endif
2856
+
2857
+ #ifdef Z_COMPILER_TRAIT_TYPE_UNDERLYING_TYPE
2858
+ # define Z_COMPILER_HAS_TRAIT_TYPE_UNDERLYING_TYPE TRUE
2859
+ #else
2860
+ # define Z_COMPILER_HAS_TRAIT_TYPE_UNDERLYING_TYPE FALSE
2861
+ #endif
2862
+
2863
+ /* MARK: - Value formats */
2864
+
2865
+ #if Z_COMPILER_C_HAS_TYPE_FLOAT && !defined(Z_COMPILER_VALUE_FORMAT_FLOAT)
2866
+ # define Z_COMPILER_VALUE_FORMAT_FLOAT Z_VALUE_FORMAT_IEEE_754_BINARY32
2867
+ #endif
2868
+
2869
+ #if Z_COMPILER_C_HAS_TYPE_DOUBLE && !defined(Z_COMPILER_VALUE_FORMAT_DOUBLE)
2870
+ # define Z_COMPILER_VALUE_FORMAT_DOUBLE Z_VALUE_FORMAT_IEEE_754_BINARY64
2871
+ #endif
2872
+
2873
+ /* MARK: - Complete implementations */
2874
+
2875
+ #if Z_COMPILER_HAS_TYPE_VAL && \
2876
+ Z_COMPILER_HAS_MACRO_VAL_INITIALIZE && \
2877
+ Z_COMPILER_HAS_MACRO_VAL_FINALIZE && \
2878
+ Z_COMPILER_HAS_MACRO_VAL_READ
2879
+
2880
+ # define Z_COMPILER_HAS_VAL TRUE
2881
+ #else
2882
+ # define Z_COMPILER_HAS_VAL FALSE
2883
+ #endif
2884
+
2885
+ /* inspection/C++/completion.h EOF */