datadog-ruby_core_source 3.3.6 → 3.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +7 -1
  3. data/datadog-ruby_core_source.gemspec +6 -1
  4. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/id.h +7 -0
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/array.h +1 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/basic_operators.h +2 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/bits.h +82 -0
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/class.h +1 -1
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/encoding.h +2 -0
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/error.h +2 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/fixnum.h +1 -0
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/gc.h +23 -28
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/hash.h +1 -0
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/imemo.h +7 -1
  15. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/io.h +4 -1
  16. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/parse.h +14 -2
  17. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/ractor.h +4 -0
  18. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/sanitizers.h +36 -3
  19. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/string.h +34 -18
  20. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/thread.h +29 -0
  21. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/vm.h +3 -3
  22. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/method.h +1 -0
  23. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/ast.h +2146 -453
  24. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/defines.h +44 -7
  25. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/diagnostic.h +24 -6
  26. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/extension.h +2 -2
  27. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/node.h +0 -21
  28. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/options.h +94 -3
  29. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/parser.h +82 -40
  30. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/prism.h +47 -11
  31. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/regexp.h +43 -0
  32. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/static_literals.h +3 -2
  33. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_char.h +1 -2
  34. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_constant_pool.h +0 -8
  35. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_integer.h +22 -15
  36. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_newline_list.h +11 -0
  37. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_string.h +28 -12
  38. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/version.h +3 -3
  39. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism_compile.h +23 -12
  40. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ractor_core.h +8 -20
  41. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/rubyparser.h +168 -249
  42. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/shape.h +2 -1
  43. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/thread_pthread.h +26 -25
  44. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_core.h +62 -48
  45. data/lib/datadog/ruby_core_source/version.rb +1 -1
  46. data/lib/datadog/ruby_core_source.rb +14 -1
  47. metadata +109 -372
  48. data/.github/workflows/publish.yml +0 -18
  49. data/.gitignore +0 -7
  50. data/.idea/vcs.xml +0 -28
  51. data/CHANGELOG.md +0 -284
  52. data/CONTRIBUTING.md +0 -2
  53. data/Gemfile +0 -4
  54. data/Rakefile +0 -73
  55. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +0 -21
  56. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +0 -50
  57. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +0 -109
  58. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +0 -51
  59. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +0 -69
  60. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +0 -334
  61. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +0 -116
  62. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +0 -31
  63. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +0 -217
  64. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +0 -1570
  65. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +0 -746
  66. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +0 -198
  67. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +0 -1601
  68. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +0 -103
  69. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +0 -61
  70. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +0 -206
  71. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +0 -43
  72. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +0 -254
  73. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +0 -938
  74. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +0 -370
  75. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +0 -1
  76. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +0 -48
  77. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +0 -108
  78. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +0 -36
  79. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +0 -42
  80. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +0 -139
  81. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +0 -73
  82. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +0 -3667
  83. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +0 -213
  84. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +0 -192
  85. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +0 -255
  86. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +0 -214
  87. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +0 -21
  88. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +0 -51
  89. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +0 -109
  90. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +0 -51
  91. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +0 -69
  92. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +0 -334
  93. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +0 -116
  94. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +0 -31
  95. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +0 -217
  96. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +0 -1570
  97. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +0 -746
  98. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +0 -198
  99. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +0 -1601
  100. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +0 -103
  101. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +0 -61
  102. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +0 -206
  103. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +0 -43
  104. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +0 -254
  105. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +0 -938
  106. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +0 -370
  107. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +0 -1
  108. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +0 -48
  109. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +0 -108
  110. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +0 -36
  111. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +0 -42
  112. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +0 -139
  113. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +0 -73
  114. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +0 -3667
  115. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +0 -213
  116. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +0 -192
  117. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +0 -255
  118. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +0 -214
  119. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +0 -21
  120. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +0 -51
  121. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +0 -109
  122. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +0 -51
  123. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +0 -69
  124. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +0 -334
  125. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +0 -116
  126. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +0 -31
  127. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +0 -217
  128. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +0 -1570
  129. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +0 -746
  130. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +0 -198
  131. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +0 -1601
  132. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +0 -103
  133. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +0 -61
  134. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +0 -200
  135. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +0 -43
  136. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +0 -254
  137. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +0 -938
  138. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +0 -370
  139. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +0 -1
  140. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +0 -48
  141. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +0 -108
  142. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +0 -36
  143. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +0 -42
  144. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +0 -139
  145. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +0 -73
  146. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +0 -3667
  147. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +0 -213
  148. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +0 -192
  149. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +0 -255
  150. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +0 -214
  151. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +0 -22
  152. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +0 -117
  153. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +0 -53
  154. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +0 -246
  155. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +0 -423
  156. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +0 -32
  157. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +0 -70
  158. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +0 -343
  159. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +0 -227
  160. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +0 -251
  161. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +0 -9215
  162. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +0 -791
  163. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +0 -212
  164. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +0 -128
  165. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +0 -43
  166. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +0 -243
  167. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +0 -564
  168. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +0 -32
  169. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +0 -42
  170. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +0 -254
  171. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +0 -1004
  172. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +0 -371
  173. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +0 -5
  174. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +0 -101
  175. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +0 -164
  176. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +0 -48
  177. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +0 -118
  178. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +0 -58
  179. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +0 -58
  180. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +0 -138
  181. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +0 -39
  182. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +0 -69
  183. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +0 -5436
  184. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +0 -244
  185. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +0 -619
  186. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +0 -199
  187. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +0 -261
  188. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +0 -137
  189. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +0 -245
  190. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +0 -72
  191. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +0 -22
  192. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +0 -117
  193. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +0 -53
  194. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +0 -246
  195. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +0 -423
  196. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +0 -32
  197. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +0 -70
  198. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +0 -343
  199. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +0 -227
  200. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +0 -251
  201. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +0 -9215
  202. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +0 -791
  203. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +0 -212
  204. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +0 -128
  205. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +0 -43
  206. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +0 -243
  207. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +0 -564
  208. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +0 -32
  209. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +0 -42
  210. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +0 -254
  211. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +0 -1006
  212. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +0 -371
  213. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +0 -5
  214. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +0 -101
  215. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +0 -164
  216. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +0 -48
  217. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +0 -118
  218. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +0 -58
  219. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +0 -58
  220. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +0 -138
  221. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +0 -39
  222. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +0 -69
  223. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +0 -5436
  224. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +0 -244
  225. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +0 -614
  226. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +0 -199
  227. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +0 -261
  228. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +0 -137
  229. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +0 -245
  230. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +0 -72
  231. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +0 -22
  232. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +0 -119
  233. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +0 -53
  234. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  235. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  236. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  237. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +0 -70
  238. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +0 -324
  239. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +0 -237
  240. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  241. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  242. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  243. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +0 -224
  244. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +0 -128
  245. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  246. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  247. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +0 -564
  248. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +0 -32
  249. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  250. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  251. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +0 -42
  252. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +0 -254
  253. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  254. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +0 -371
  255. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  256. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +0 -101
  257. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +0 -165
  258. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +0 -48
  259. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  260. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +0 -58
  261. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +0 -58
  262. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +0 -138
  263. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +0 -39
  264. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  265. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  266. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +0 -244
  267. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  268. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +0 -199
  269. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  270. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  271. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  272. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +0 -79
  273. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  274. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  275. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  276. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +0 -209
  277. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +0 -423
  278. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +0 -32
  279. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  280. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  281. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  282. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +0 -265
  283. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +0 -9902
  284. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +0 -1419
  285. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  286. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  287. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +0 -43
  288. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +0 -244
  289. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  290. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  291. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  292. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  293. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +0 -1006
  294. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  295. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  296. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  297. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  298. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  299. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +0 -123
  300. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  301. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  302. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  303. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  304. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +0 -69
  305. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +0 -5840
  306. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  307. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +0 -627
  308. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  309. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +0 -277
  310. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +0 -137
  311. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +0 -259
  312. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  313. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/build_assert/build_assert.h +0 -0
  314. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/check_type/check_type.h +0 -0
  315. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/container_of/container_of.h +0 -0
  316. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/list/list.h +0 -0
  317. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/str/str.h +0 -0
  318. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/id_table.h +0 -0
  319. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/bignum.h +0 -0
  320. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/cmdlineopt.h +0 -0
  321. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compar.h +0 -0
  322. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compile.h +0 -0
  323. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compilers.h +0 -0
  324. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/complex.h +0 -0
  325. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/cont.h +0 -0
  326. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/dir.h +0 -0
  327. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enc.h +0 -0
  328. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enum.h +0 -0
  329. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enumerator.h +0 -0
  330. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/eval.h +0 -0
  331. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/file.h +0 -0
  332. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/inits.h +0 -0
  333. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/load.h +0 -0
  334. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/loadpath.h +0 -0
  335. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/math.h +0 -0
  336. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/missing.h +0 -0
  337. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/numeric.h +0 -0
  338. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/object.h +0 -0
  339. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/proc.h +0 -0
  340. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/process.h +0 -0
  341. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/random.h +0 -0
  342. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/range.h +0 -0
  343. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/rational.h +0 -0
  344. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/re.h +0 -0
  345. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/ruby_parser.h +0 -0
  346. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/serial.h +0 -0
  347. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/signal.h +0 -0
  348. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/st.h +0 -0
  349. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/static_assert.h +0 -0
  350. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/struct.h +0 -0
  351. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/symbol.h +0 -0
  352. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/time.h +0 -0
  353. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/transcode.h +0 -0
  354. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/util.h +0 -0
  355. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/variable.h +0 -0
  356. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/warnings.h +0 -0
  357. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal.h +0 -0
  358. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/iseq.h +0 -0
  359. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/node.h +0 -0
  360. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/parser_st.h +0 -0
  361. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/parser_value.h +0 -0
  362. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/encoding.h +0 -0
  363. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/pack.h +0 -0
  364. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/prettyprint.h +0 -0
  365. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_buffer.h +0 -0
  366. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_list.h +0 -0
  367. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_memchr.h +0 -0
  368. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_strncasecmp.h +0 -0
  369. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_strpbrk.h +0 -0
  370. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ruby_assert.h +0 -0
  371. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ruby_atomic.h +0 -0
  372. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/thread_none.h +0 -0
  373. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_debug.h +0 -0
  374. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_opts.h +0 -0
@@ -1,564 +0,0 @@
1
- #ifndef INTERNAL_BITS2_H /*-*-C-*-vi:se ft=c:*/
2
- #define INTERNAL_BITS2_H
3
- /**
4
- * @author Ruby developers <ruby-core@ruby-lang.org>
5
- * @copyright This file is a part of the programming language Ruby.
6
- * Permission is hereby granted, to either redistribute and/or
7
- * modify this file, provided that the conditions mentioned in the
8
- * file COPYING are met. Consult the file for details.
9
- * @brief Internal header for bitwise integer algorithms.
10
- * @see Henry S. Warren Jr., "Hacker's Delight" (2nd ed.), 2013.
11
- * @see SEI CERT C Coding Standard INT32-C. "Ensure that operations on
12
- * signed integers do not result in overflow"
13
- * @see https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
14
- * @see https://clang.llvm.org/docs/LanguageExtensions.html#builtin-rotateleft
15
- * @see https://clang.llvm.org/docs/LanguageExtensions.html#builtin-rotateright
16
- * @see https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/byteswap-uint64-byteswap-ulong-byteswap-ushort
17
- * @see https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/rotl-rotl64-rotr-rotr64
18
- * @see https://docs.microsoft.com/en-us/cpp/intrinsics/bitscanforward-bitscanforward64
19
- * @see https://docs.microsoft.com/en-us/cpp/intrinsics/bitscanreverse-bitscanreverse64
20
- * @see https://docs.microsoft.com/en-us/cpp/intrinsics/lzcnt16-lzcnt-lzcnt64
21
- * @see https://docs.microsoft.com/en-us/cpp/intrinsics/popcnt16-popcnt-popcnt64
22
- * @see https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_lzcnt_u32
23
- * @see https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_tzcnt_u32
24
- * @see https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_rotl64
25
- * @see https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_rotr64
26
- * @see https://stackoverflow.com/a/776523
27
- */
28
- #include "ruby/internal/config.h"
29
- #include <limits.h> /* for CHAR_BITS */
30
- #include <stdint.h> /* for uintptr_t */
31
- #include "internal/compilers.h" /* for MSC_VERSION_SINCE */
32
-
33
- #if MSC_VERSION_SINCE(1310)
34
- # include <stdlib.h> /* for _byteswap_uint64 */
35
- #endif
36
-
37
- #if defined(HAVE_X86INTRIN_H)
38
- # include <x86intrin.h> /* for _lzcnt_u64 */
39
- #elif MSC_VERSION_SINCE(1310)
40
- # include <intrin.h> /* for the following intrinsics */
41
- #endif
42
-
43
- #if defined(_MSC_VER) && defined(__AVX__)
44
- # pragma intrinsic(__popcnt)
45
- # pragma intrinsic(__popcnt64)
46
- #endif
47
-
48
- #if defined(_MSC_VER) && defined(__AVX2__)
49
- # pragma intrinsic(__lzcnt)
50
- # pragma intrinsic(__lzcnt64)
51
- #endif
52
-
53
- #if MSC_VERSION_SINCE(1310)
54
- # pragma intrinsic(_rotl)
55
- # pragma intrinsic(_rotr)
56
- # ifdef _WIN64
57
- # pragma intrinsic(_rotl64)
58
- # pragma intrinsic(_rotr64)
59
- # endif
60
- #endif
61
-
62
- #if MSC_VERSION_SINCE(1400)
63
- # pragma intrinsic(_BitScanForward)
64
- # pragma intrinsic(_BitScanReverse)
65
- # ifdef _WIN64
66
- # pragma intrinsic(_BitScanForward64)
67
- # pragma intrinsic(_BitScanReverse64)
68
- # endif
69
- #endif
70
-
71
- #include "parser_value.h" /* for VALUE */
72
- #include "internal/static_assert.h" /* for STATIC_ASSERT */
73
-
74
- /* The most significant bit of the lower part of half-long integer.
75
- * If sizeof(long) == 4, this is 0x8000.
76
- * If sizeof(long) == 8, this is 0x80000000.
77
- */
78
- #define HALF_LONG_MSB ((SIGNED_VALUE)1<<((SIZEOF_LONG*CHAR_BIT-1)/2))
79
-
80
- #define SIGNED_INTEGER_TYPE_P(T) (0 > ((T)0)-1)
81
-
82
- #define SIGNED_INTEGER_MIN(T) \
83
- ((sizeof(T) == sizeof(int8_t)) ? ((T)INT8_MIN) : \
84
- ((sizeof(T) == sizeof(int16_t)) ? ((T)INT16_MIN) : \
85
- ((sizeof(T) == sizeof(int32_t)) ? ((T)INT32_MIN) : \
86
- ((sizeof(T) == sizeof(int64_t)) ? ((T)INT64_MIN) : \
87
- 0))))
88
-
89
- #define SIGNED_INTEGER_MAX(T) ((T)(SIGNED_INTEGER_MIN(T) ^ ((T)~(T)0)))
90
-
91
- #define UNSIGNED_INTEGER_MAX(T) ((T)~(T)0)
92
-
93
- #if __has_builtin(__builtin_mul_overflow_p)
94
- # define MUL_OVERFLOW_P(a, b) \
95
- __builtin_mul_overflow_p((a), (b), (__typeof__(a * b))0)
96
- #elif __has_builtin(__builtin_mul_overflow)
97
- # define MUL_OVERFLOW_P(a, b) \
98
- __extension__ ({ __typeof__(a) c; __builtin_mul_overflow((a), (b), &c); })
99
- #endif
100
-
101
- #define MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, min, max) ( \
102
- (a) == 0 ? 0 : \
103
- (a) == -1 ? (b) < -(max) : \
104
- (a) > 0 ? \
105
- ((b) > 0 ? (max) / (a) < (b) : (min) / (a) > (b)) : \
106
- ((b) > 0 ? (min) / (a) < (b) : (max) / (a) > (b)))
107
-
108
- #if __has_builtin(__builtin_mul_overflow_p)
109
- /* __builtin_mul_overflow_p can take bitfield */
110
- /* and GCC permits bitfields for integers other than int */
111
- # define MUL_OVERFLOW_FIXNUM_P(a, b) \
112
- __extension__ ({ \
113
- struct { long fixnum : sizeof(long) * CHAR_BIT - 1; } c = { 0 }; \
114
- __builtin_mul_overflow_p((a), (b), c.fixnum); \
115
- })
116
- #else
117
- # define MUL_OVERFLOW_FIXNUM_P(a, b) \
118
- MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, FIXNUM_MIN, FIXNUM_MAX)
119
- #endif
120
-
121
- #ifdef MUL_OVERFLOW_P
122
- # define MUL_OVERFLOW_LONG_LONG_P(a, b) MUL_OVERFLOW_P(a, b)
123
- # define MUL_OVERFLOW_LONG_P(a, b) MUL_OVERFLOW_P(a, b)
124
- # define MUL_OVERFLOW_INT_P(a, b) MUL_OVERFLOW_P(a, b)
125
- #else
126
- # define MUL_OVERFLOW_LONG_LONG_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, LLONG_MIN, LLONG_MAX)
127
- # define MUL_OVERFLOW_LONG_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, LONG_MIN, LONG_MAX)
128
- # define MUL_OVERFLOW_INT_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, INT_MIN, INT_MAX)
129
- #endif
130
-
131
- #ifdef HAVE_UINT128_T
132
- # define bit_length(x) \
133
- (unsigned int) \
134
- (sizeof(x) <= sizeof(int32_t) ? 32 - nlz_int32((uint32_t)(x)) : \
135
- sizeof(x) <= sizeof(int64_t) ? 64 - nlz_int64((uint64_t)(x)) : \
136
- 128 - nlz_int128((uint128_t)(x)))
137
- #else
138
- # define bit_length(x) \
139
- (unsigned int) \
140
- (sizeof(x) <= sizeof(int32_t) ? 32 - nlz_int32((uint32_t)(x)) : \
141
- 64 - nlz_int64((uint64_t)(x)))
142
- #endif
143
-
144
- #ifndef swap16
145
- # define swap16 ruby_swap16
146
- #endif
147
-
148
- #ifndef swap32
149
- # define swap32 ruby_swap32
150
- #endif
151
-
152
- #ifndef swap64
153
- # define swap64 ruby_swap64
154
- #endif
155
-
156
- static inline uint16_t ruby_swap16(uint16_t);
157
- static inline uint32_t ruby_swap32(uint32_t);
158
- static inline uint64_t ruby_swap64(uint64_t);
159
- static inline unsigned nlz_int(unsigned x);
160
- static inline unsigned nlz_long(unsigned long x);
161
- static inline unsigned nlz_long_long(unsigned long long x);
162
- static inline unsigned nlz_intptr(uintptr_t x);
163
- static inline unsigned nlz_int32(uint32_t x);
164
- static inline unsigned nlz_int64(uint64_t x);
165
- #ifdef HAVE_UINT128_T
166
- static inline unsigned nlz_int128(uint128_t x);
167
- #endif
168
- static inline unsigned rb_popcount32(uint32_t x);
169
- static inline unsigned rb_popcount64(uint64_t x);
170
- static inline unsigned rb_popcount_intptr(uintptr_t x);
171
- static inline int ntz_int32(uint32_t x);
172
- static inline int ntz_int64(uint64_t x);
173
- static inline int ntz_intptr(uintptr_t x);
174
- static inline VALUE RUBY_BIT_ROTL(VALUE, int);
175
- static inline VALUE RUBY_BIT_ROTR(VALUE, int);
176
-
177
- static inline uint16_t
178
- ruby_swap16(uint16_t x)
179
- {
180
- #if __has_builtin(__builtin_bswap16)
181
- return __builtin_bswap16(x);
182
-
183
- #elif MSC_VERSION_SINCE(1310)
184
- return _byteswap_ushort(x);
185
-
186
- #else
187
- return (x << 8) | (x >> 8);
188
-
189
- #endif
190
- }
191
-
192
- static inline uint32_t
193
- ruby_swap32(uint32_t x)
194
- {
195
- #if __has_builtin(__builtin_bswap32)
196
- return __builtin_bswap32(x);
197
-
198
- #elif MSC_VERSION_SINCE(1310)
199
- return _byteswap_ulong(x);
200
-
201
- #else
202
- x = ((x & 0x0000FFFF) << 16) | ((x & 0xFFFF0000) >> 16);
203
- x = ((x & 0x00FF00FF) << 8) | ((x & 0xFF00FF00) >> 8);
204
- return x;
205
-
206
- #endif
207
- }
208
-
209
- static inline uint64_t
210
- ruby_swap64(uint64_t x)
211
- {
212
- #if __has_builtin(__builtin_bswap64)
213
- return __builtin_bswap64(x);
214
-
215
- #elif MSC_VERSION_SINCE(1310)
216
- return _byteswap_uint64(x);
217
-
218
- #else
219
- x = ((x & 0x00000000FFFFFFFFULL) << 32) | ((x & 0xFFFFFFFF00000000ULL) >> 32);
220
- x = ((x & 0x0000FFFF0000FFFFULL) << 16) | ((x & 0xFFFF0000FFFF0000ULL) >> 16);
221
- x = ((x & 0x00FF00FF00FF00FFULL) << 8) | ((x & 0xFF00FF00FF00FF00ULL) >> 8);
222
- return x;
223
-
224
- #endif
225
- }
226
-
227
- static inline unsigned int
228
- nlz_int32(uint32_t x)
229
- {
230
- #if defined(_MSC_VER) && defined(__AVX2__)
231
- /* Note: It seems there is no such thing like __LZCNT__ predefined in MSVC.
232
- * AMD CPUs have had this instruction for decades (since K10) but for
233
- * Intel, Haswell is the oldest one. We need to use __AVX2__ for maximum
234
- * safety. */
235
- return (unsigned int)__lzcnt(x);
236
-
237
- #elif defined(__x86_64__) && defined(__LZCNT__)
238
- return (unsigned int)_lzcnt_u32(x);
239
-
240
- #elif MSC_VERSION_SINCE(1400) /* &&! defined(__AVX2__) */
241
- unsigned long r;
242
- return _BitScanReverse(&r, x) ? (31 - (int)r) : 32;
243
-
244
- #elif __has_builtin(__builtin_clz)
245
- STATIC_ASSERT(sizeof_int, sizeof(int) * CHAR_BIT == 32);
246
- return x ? (unsigned int)__builtin_clz(x) : 32;
247
-
248
- #else
249
- uint32_t y;
250
- unsigned n = 32;
251
- y = x >> 16; if (y) {n -= 16; x = y;}
252
- y = x >> 8; if (y) {n -= 8; x = y;}
253
- y = x >> 4; if (y) {n -= 4; x = y;}
254
- y = x >> 2; if (y) {n -= 2; x = y;}
255
- y = x >> 1; if (y) {return n - 2;}
256
- return (unsigned int)(n - x);
257
- #endif
258
- }
259
-
260
- static inline unsigned int
261
- nlz_int64(uint64_t x)
262
- {
263
- #if defined(_MSC_VER) && defined(__AVX2__)
264
- return (unsigned int)__lzcnt64(x);
265
-
266
- #elif defined(__x86_64__) && defined(__LZCNT__)
267
- return (unsigned int)_lzcnt_u64(x);
268
-
269
- #elif defined(_WIN64) && MSC_VERSION_SINCE(1400) /* &&! defined(__AVX2__) */
270
- unsigned long r;
271
- return _BitScanReverse64(&r, x) ? (63u - (unsigned int)r) : 64;
272
-
273
- #elif __has_builtin(__builtin_clzl)
274
- if (x == 0) {
275
- return 64;
276
- }
277
- else if (sizeof(long) * CHAR_BIT == 64) {
278
- return (unsigned int)__builtin_clzl((unsigned long)x);
279
- }
280
- else if (sizeof(long long) * CHAR_BIT == 64) {
281
- return (unsigned int)__builtin_clzll((unsigned long long)x);
282
- }
283
- else {
284
- /* :FIXME: Is there a way to make this branch a compile-time error? */
285
- UNREACHABLE_RETURN(~0);
286
- }
287
-
288
- #else
289
- uint64_t y;
290
- unsigned int n = 64;
291
- y = x >> 32; if (y) {n -= 32; x = y;}
292
- y = x >> 16; if (y) {n -= 16; x = y;}
293
- y = x >> 8; if (y) {n -= 8; x = y;}
294
- y = x >> 4; if (y) {n -= 4; x = y;}
295
- y = x >> 2; if (y) {n -= 2; x = y;}
296
- y = x >> 1; if (y) {return n - 2;}
297
- return (unsigned int)(n - x);
298
-
299
- #endif
300
- }
301
-
302
- #ifdef HAVE_UINT128_T
303
- static inline unsigned int
304
- nlz_int128(uint128_t x)
305
- {
306
- uint64_t y = (uint64_t)(x >> 64);
307
-
308
- if (x == 0) {
309
- return 128;
310
- }
311
- else if (y == 0) {
312
- return (unsigned int)nlz_int64(x) + 64;
313
- }
314
- else {
315
- return (unsigned int)nlz_int64(y);
316
- }
317
- }
318
- #endif
319
-
320
- static inline unsigned int
321
- nlz_int(unsigned int x)
322
- {
323
- if (sizeof(unsigned int) * CHAR_BIT == 32) {
324
- return nlz_int32((uint32_t)x);
325
- }
326
- else if (sizeof(unsigned int) * CHAR_BIT == 64) {
327
- return nlz_int64((uint64_t)x);
328
- }
329
- else {
330
- UNREACHABLE_RETURN(~0);
331
- }
332
- }
333
-
334
- static inline unsigned int
335
- nlz_long(unsigned long x)
336
- {
337
- if (sizeof(unsigned long) * CHAR_BIT == 32) {
338
- return nlz_int32((uint32_t)x);
339
- }
340
- else if (sizeof(unsigned long) * CHAR_BIT == 64) {
341
- return nlz_int64((uint64_t)x);
342
- }
343
- else {
344
- UNREACHABLE_RETURN(~0);
345
- }
346
- }
347
-
348
- static inline unsigned int
349
- nlz_long_long(unsigned long long x)
350
- {
351
- if (sizeof(unsigned long long) * CHAR_BIT == 64) {
352
- return nlz_int64((uint64_t)x);
353
- }
354
- #ifdef HAVE_UINT128_T
355
- else if (sizeof(unsigned long long) * CHAR_BIT == 128) {
356
- return nlz_int128((uint128_t)x);
357
- }
358
- #endif
359
- else {
360
- UNREACHABLE_RETURN(~0);
361
- }
362
- }
363
-
364
- static inline unsigned int
365
- nlz_intptr(uintptr_t x)
366
- {
367
- if (sizeof(uintptr_t) == sizeof(unsigned int)) {
368
- return nlz_int((unsigned int)x);
369
- }
370
- if (sizeof(uintptr_t) == sizeof(unsigned long)) {
371
- return nlz_long((unsigned long)x);
372
- }
373
- if (sizeof(uintptr_t) == sizeof(unsigned long long)) {
374
- return nlz_long_long((unsigned long long)x);
375
- }
376
- else {
377
- UNREACHABLE_RETURN(~0);
378
- }
379
- }
380
-
381
- static inline unsigned int
382
- rb_popcount32(uint32_t x)
383
- {
384
- #if defined(_MSC_VER) && defined(__AVX__)
385
- /* Note: CPUs since Nehalem and Barcelona have had this instruction so SSE
386
- * 4.2 should suffice, but it seems there is no such thing like __SSE_4_2__
387
- * predefined macro in MSVC. They do have __AVX__ so use it instead. */
388
- return (unsigned int)__popcnt(x);
389
-
390
- #elif __has_builtin(__builtin_popcount)
391
- STATIC_ASSERT(sizeof_int, sizeof(int) * CHAR_BIT >= 32);
392
- return (unsigned int)__builtin_popcount(x);
393
-
394
- #else
395
- x = (x & 0x55555555) + (x >> 1 & 0x55555555);
396
- x = (x & 0x33333333) + (x >> 2 & 0x33333333);
397
- x = (x & 0x0f0f0f0f) + (x >> 4 & 0x0f0f0f0f);
398
- x = (x & 0x001f001f) + (x >> 8 & 0x001f001f);
399
- x = (x & 0x0000003f) + (x >>16 & 0x0000003f);
400
- return (unsigned int)x;
401
-
402
- #endif
403
- }
404
-
405
- static inline unsigned int
406
- rb_popcount64(uint64_t x)
407
- {
408
- #if defined(_MSC_VER) && defined(__AVX__)
409
- return (unsigned int)__popcnt64(x);
410
-
411
- #elif __has_builtin(__builtin_popcount)
412
- if (sizeof(long) * CHAR_BIT == 64) {
413
- return (unsigned int)__builtin_popcountl((unsigned long)x);
414
- }
415
- else if (sizeof(long long) * CHAR_BIT == 64) {
416
- return (unsigned int)__builtin_popcountll((unsigned long long)x);
417
- }
418
- else {
419
- /* :FIXME: Is there a way to make this branch a compile-time error? */
420
- UNREACHABLE_RETURN(~0);
421
- }
422
-
423
- #else
424
- x = (x & 0x5555555555555555) + (x >> 1 & 0x5555555555555555);
425
- x = (x & 0x3333333333333333) + (x >> 2 & 0x3333333333333333);
426
- x = (x & 0x0707070707070707) + (x >> 4 & 0x0707070707070707);
427
- x = (x & 0x001f001f001f001f) + (x >> 8 & 0x001f001f001f001f);
428
- x = (x & 0x0000003f0000003f) + (x >>16 & 0x0000003f0000003f);
429
- x = (x & 0x000000000000007f) + (x >>32 & 0x000000000000007f);
430
- return (unsigned int)x;
431
-
432
- #endif
433
- }
434
-
435
- static inline unsigned int
436
- rb_popcount_intptr(uintptr_t x)
437
- {
438
- if (sizeof(uintptr_t) * CHAR_BIT == 64) {
439
- return rb_popcount64((uint64_t)x);
440
- }
441
- else if (sizeof(uintptr_t) * CHAR_BIT == 32) {
442
- return rb_popcount32((uint32_t)x);
443
- }
444
- else {
445
- UNREACHABLE_RETURN(~0);
446
- }
447
- }
448
-
449
- static inline int
450
- ntz_int32(uint32_t x)
451
- {
452
- #if defined(__x86_64__) && defined(__BMI__)
453
- return (unsigned)_tzcnt_u32(x);
454
-
455
- #elif MSC_VERSION_SINCE(1400)
456
- /* :FIXME: Is there any way to issue TZCNT instead of BSF, apart from using
457
- * assembly? Because issuing LZCNT seems possible (see nlz.h). */
458
- unsigned long r;
459
- return _BitScanForward(&r, x) ? (int)r : 32;
460
-
461
- #elif __has_builtin(__builtin_ctz)
462
- STATIC_ASSERT(sizeof_int, sizeof(int) * CHAR_BIT == 32);
463
- return x ? (unsigned)__builtin_ctz(x) : 32;
464
-
465
- #else
466
- return rb_popcount32((~x) & (x-1));
467
-
468
- #endif
469
- }
470
-
471
- static inline int
472
- ntz_int64(uint64_t x)
473
- {
474
- #if defined(__x86_64__) && defined(__BMI__)
475
- return (unsigned)_tzcnt_u64(x);
476
-
477
- #elif defined(_WIN64) && MSC_VERSION_SINCE(1400)
478
- unsigned long r;
479
- return _BitScanForward64(&r, x) ? (int)r : 64;
480
-
481
- #elif __has_builtin(__builtin_ctzl)
482
- if (x == 0) {
483
- return 64;
484
- }
485
- else if (sizeof(long) * CHAR_BIT == 64) {
486
- return (unsigned)__builtin_ctzl((unsigned long)x);
487
- }
488
- else if (sizeof(long long) * CHAR_BIT == 64) {
489
- return (unsigned)__builtin_ctzll((unsigned long long)x);
490
- }
491
- else {
492
- /* :FIXME: Is there a way to make this branch a compile-time error? */
493
- UNREACHABLE_RETURN(~0);
494
- }
495
-
496
- #else
497
- return rb_popcount64((~x) & (x-1));
498
-
499
- #endif
500
- }
501
-
502
- static inline int
503
- ntz_intptr(uintptr_t x)
504
- {
505
- if (sizeof(uintptr_t) * CHAR_BIT == 64) {
506
- return ntz_int64((uint64_t)x);
507
- }
508
- else if (sizeof(uintptr_t) * CHAR_BIT == 32) {
509
- return ntz_int32((uint32_t)x);
510
- }
511
- else {
512
- UNREACHABLE_RETURN(~0);
513
- }
514
- }
515
-
516
- static inline VALUE
517
- RUBY_BIT_ROTL(VALUE v, int n)
518
- {
519
- #if __has_builtin(__builtin_rotateleft32) && (SIZEOF_VALUE * CHAR_BIT == 32)
520
- return __builtin_rotateleft32(v, n);
521
-
522
- #elif __has_builtin(__builtin_rotateleft64) && (SIZEOF_VALUE * CHAR_BIT == 64)
523
- return __builtin_rotateleft64(v, n);
524
-
525
- #elif MSC_VERSION_SINCE(1310) && (SIZEOF_VALUE * CHAR_BIT == 32)
526
- return _rotl(v, n);
527
-
528
- #elif MSC_VERSION_SINCE(1310) && (SIZEOF_VALUE * CHAR_BIT == 64)
529
- return _rotl64(v, n);
530
-
531
- #elif defined(_lrotl) && (SIZEOF_VALUE == SIZEOF_LONG)
532
- return _lrotl(v, n);
533
-
534
- #else
535
- const int m = (sizeof(VALUE) * CHAR_BIT) - 1;
536
- return (v << (n & m)) | (v >> (-n & m));
537
- #endif
538
- }
539
-
540
- static inline VALUE
541
- RUBY_BIT_ROTR(VALUE v, int n)
542
- {
543
- #if __has_builtin(__builtin_rotateright32) && (SIZEOF_VALUE * CHAR_BIT == 32)
544
- return __builtin_rotateright32(v, n);
545
-
546
- #elif __has_builtin(__builtin_rotateright64) && (SIZEOF_VALUE * CHAR_BIT == 64)
547
- return __builtin_rotateright64(v, n);
548
-
549
- #elif MSC_VERSION_SINCE(1310) && (SIZEOF_VALUE * CHAR_BIT == 32)
550
- return _rotr(v, n);
551
-
552
- #elif MSC_VERSION_SINCE(1310) && (SIZEOF_VALUE * CHAR_BIT == 64)
553
- return _rotr64(v, n);
554
-
555
- #elif defined(_lrotr) && (SIZEOF_VALUE == SIZEOF_LONG)
556
- return _lrotr(v, n);
557
-
558
- #else
559
- const int m = (sizeof(VALUE) * CHAR_BIT) - 1;
560
- return (v << (-n & m)) | (v >> (n & m));
561
- #endif
562
- }
563
-
564
- #endif /* INTERNAL_BITS2_H */
@@ -1,32 +0,0 @@
1
- #ifndef RUBY_PARSER_NODE_H
2
- #define RUBY_PARSER_NODE_H 1
3
- /*
4
- * This is a header file used by only "parse.y"
5
- */
6
- #include "rubyparser.h"
7
- #include "internal/compilers.h"
8
-
9
- #if defined(__cplusplus)
10
- extern "C" {
11
- #if 0
12
- } /* satisfy cc-mode */
13
- #endif
14
- #endif
15
-
16
- static inline rb_code_location_t
17
- code_loc_gen(const rb_code_location_t *loc1, const rb_code_location_t *loc2)
18
- {
19
- rb_code_location_t loc;
20
- loc.beg_pos = loc1->beg_pos;
21
- loc.end_pos = loc2->end_pos;
22
- return loc;
23
- }
24
-
25
- #if defined(__cplusplus)
26
- #if 0
27
- { /* satisfy cc-mode */
28
- #endif
29
- } /* extern "C" { */
30
- #endif
31
-
32
- #endif /* RUBY_PARSER_NODE_H */
@@ -1,33 +0,0 @@
1
- /**
2
- * @file regexp.h
3
- *
4
- * A regular expression parser.
5
- */
6
- #ifndef PRISM_REGEXP_H
7
- #define PRISM_REGEXP_H
8
-
9
- #include "prism/defines.h"
10
- #include "prism/parser.h"
11
- #include "prism/encoding.h"
12
- #include "prism/util/pm_memchr.h"
13
- #include "prism/util/pm_string_list.h"
14
- #include "prism/util/pm_string.h"
15
-
16
- #include <stdbool.h>
17
- #include <stddef.h>
18
- #include <string.h>
19
-
20
- /**
21
- * Parse a regular expression and extract the names of all of the named capture
22
- * groups.
23
- *
24
- * @param source The source code to parse.
25
- * @param size The size of the source code.
26
- * @param named_captures The list to add the names of the named capture groups.
27
- * @param encoding_changed Whether or not the encoding changed from the default.
28
- * @param encoding The encoding of the source code.
29
- * @return Whether or not the parsing was successful.
30
- */
31
- PRISM_EXPORTED_FUNCTION bool pm_regexp_named_capture_group_names(const uint8_t *source, size_t size, pm_string_list_t *named_captures, bool encoding_changed, const pm_encoding_t *encoding);
32
-
33
- #endif
@@ -1,44 +0,0 @@
1
- /**
2
- * @file pm_string_list.h
3
- *
4
- * A list of strings.
5
- */
6
- #ifndef PRISM_STRING_LIST_H
7
- #define PRISM_STRING_LIST_H
8
-
9
- #include "prism/defines.h"
10
- #include "prism/util/pm_string.h"
11
-
12
- #include <stddef.h>
13
- #include <stdlib.h>
14
-
15
- /**
16
- * A list of strings.
17
- */
18
- typedef struct {
19
- /** The length of the string list. */
20
- size_t length;
21
-
22
- /** The capacity of the string list that has been allocated. */
23
- size_t capacity;
24
-
25
- /** A pointer to the start of the string list. */
26
- pm_string_t *strings;
27
- } pm_string_list_t;
28
-
29
- /**
30
- * Append a pm_string_t to the given string list.
31
- *
32
- * @param string_list The string list to append to.
33
- * @param string The string to append.
34
- */
35
- void pm_string_list_append(pm_string_list_t *string_list, pm_string_t *string);
36
-
37
- /**
38
- * Free the memory associated with the string list.
39
- *
40
- * @param string_list The string list to free.
41
- */
42
- PRISM_EXPORTED_FUNCTION void pm_string_list_free(pm_string_list_t *string_list);
43
-
44
- #endif