ffi 1.9.18-x86-mingw32 → 1.9.21-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ffi might be problematic. Click here for more details.

Files changed (384) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +3 -2
  3. data/Rakefile +14 -4
  4. data/ext/ffi_c/AbstractMemory.c +6 -1
  5. data/ext/ffi_c/Platform.c +10 -2
  6. data/ext/ffi_c/extconf.rb +7 -2
  7. data/ext/ffi_c/libffi.bsd.mk +9 -3
  8. data/ext/ffi_c/libffi.darwin.mk +14 -4
  9. data/ext/ffi_c/libffi.gnu.mk +2 -1
  10. data/ext/ffi_c/libffi.mk +9 -4
  11. data/ext/ffi_c/libffi/ChangeLog.libffi +2 -2
  12. data/ext/ffi_c/libffi/{ChangeLog → ChangeLog.libffi-3.1} +1402 -2
  13. data/ext/ffi_c/libffi/ChangeLog.v1 +1 -1
  14. data/ext/ffi_c/libffi/LICENSE +1 -1
  15. data/ext/ffi_c/libffi/Makefile.am +166 -157
  16. data/ext/ffi_c/libffi/Makefile.in +923 -938
  17. data/ext/ffi_c/libffi/README +164 -52
  18. data/ext/ffi_c/libffi/acinclude.m4 +381 -0
  19. data/ext/ffi_c/libffi/aclocal.m4 +645 -384
  20. data/ext/ffi_c/libffi/autogen.sh +2 -0
  21. data/ext/ffi_c/libffi/autom4te.cache/output.0 +21972 -0
  22. data/ext/ffi_c/libffi/autom4te.cache/output.1 +21972 -0
  23. data/ext/ffi_c/libffi/autom4te.cache/output.2 +21972 -0
  24. data/ext/ffi_c/libffi/autom4te.cache/output.3 +21972 -0
  25. data/ext/ffi_c/libffi/autom4te.cache/requests +331 -0
  26. data/ext/ffi_c/libffi/autom4te.cache/traces.0 +4010 -0
  27. data/ext/ffi_c/libffi/autom4te.cache/traces.1 +1005 -0
  28. data/ext/ffi_c/libffi/autom4te.cache/traces.2 +4010 -0
  29. data/ext/ffi_c/libffi/autom4te.cache/traces.3 +4010 -0
  30. data/ext/ffi_c/libffi/compile +218 -14
  31. data/ext/ffi_c/libffi/config.guess +329 -368
  32. data/ext/ffi_c/libffi/config.sub +232 -112
  33. data/ext/ffi_c/libffi/configure +6970 -2189
  34. data/ext/ffi_c/libffi/configure.ac +148 -256
  35. data/ext/ffi_c/libffi/configure.host +265 -4
  36. data/ext/ffi_c/libffi/depcomp +346 -185
  37. data/ext/ffi_c/libffi/doc/Makefile.am +3 -0
  38. data/ext/ffi_c/libffi/doc/Makefile.in +811 -0
  39. data/ext/ffi_c/libffi/doc/libffi.texi +430 -45
  40. data/ext/ffi_c/libffi/{mdate-sh → doc/mdate-sh} +40 -13
  41. data/ext/ffi_c/libffi/{texinfo.tex → doc/texinfo.tex} +3990 -1121
  42. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  43. data/ext/ffi_c/libffi/fficonfig.h.in +24 -13
  44. data/ext/ffi_c/libffi/fficonfig.h.in~ +210 -0
  45. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +207 -0
  46. data/ext/ffi_c/libffi/include/Makefile.am +3 -3
  47. data/ext/ffi_c/libffi/include/Makefile.in +188 -71
  48. data/ext/ffi_c/libffi/include/ffi.h.in +107 -50
  49. data/ext/ffi_c/libffi/include/ffi_cfi.h +55 -0
  50. data/ext/ffi_c/libffi/include/ffi_common.h +32 -11
  51. data/ext/ffi_c/libffi/install-sh +190 -202
  52. data/ext/ffi_c/libffi/libffi.map.in +80 -0
  53. data/ext/ffi_c/libffi/libffi.pc.in +3 -2
  54. data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +637 -0
  55. data/ext/ffi_c/libffi/libtool-ldflags +106 -0
  56. data/ext/ffi_c/libffi/libtool-version +1 -1
  57. data/ext/ffi_c/libffi/ltmain.sh +3553 -2033
  58. data/ext/ffi_c/libffi/m4/asmcfi.m4 +13 -0
  59. data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +69 -0
  60. data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +13 -8
  61. data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +31 -104
  62. data/ext/ffi_c/libffi/m4/{ax_check_compiler_flags.m4 → ax_check_compile_flag.m4} +30 -34
  63. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +32 -11
  64. data/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +6 -5
  65. data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +31 -21
  66. data/ext/ffi_c/libffi/m4/libtool.m4 +1691 -1135
  67. data/ext/ffi_c/libffi/m4/ltoptions.m4 +104 -36
  68. data/ext/ffi_c/libffi/m4/ltsugar.m4 +4 -3
  69. data/ext/ffi_c/libffi/m4/ltversion.m4 +6 -6
  70. data/ext/ffi_c/libffi/m4/lt~obsolete.m4 +4 -3
  71. data/ext/ffi_c/libffi/man/Makefile.am +2 -2
  72. data/ext/ffi_c/libffi/man/Makefile.in +141 -49
  73. data/ext/ffi_c/libffi/man/ffi.3 +10 -0
  74. data/ext/ffi_c/libffi/man/ffi_prep_cif.3 +6 -4
  75. data/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +73 -0
  76. data/ext/ffi_c/libffi/missing +150 -311
  77. data/ext/ffi_c/libffi/msvcc.sh +72 -9
  78. data/ext/ffi_c/libffi/src/aarch64/ffi.c +941 -0
  79. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +81 -0
  80. data/ext/ffi_c/libffi/src/aarch64/internal.h +67 -0
  81. data/ext/ffi_c/libffi/src/aarch64/sysv.S +438 -0
  82. data/ext/ffi_c/libffi/src/alpha/ffi.c +335 -98
  83. data/ext/ffi_c/libffi/src/alpha/ffitarget.h +10 -1
  84. data/ext/ffi_c/libffi/src/alpha/internal.h +23 -0
  85. data/ext/ffi_c/libffi/src/alpha/osf.S +161 -266
  86. data/ext/ffi_c/libffi/src/arc/arcompact.S +135 -0
  87. data/ext/ffi_c/libffi/src/arc/ffi.c +266 -0
  88. data/ext/ffi_c/libffi/src/arc/ffitarget.h +53 -0
  89. data/ext/ffi_c/libffi/src/arm/ffi.c +597 -517
  90. data/ext/ffi_c/libffi/src/arm/ffitarget.h +24 -7
  91. data/ext/ffi_c/libffi/src/arm/internal.h +7 -0
  92. data/ext/ffi_c/libffi/src/arm/sysv.S +303 -417
  93. data/ext/ffi_c/libffi/src/avr32/ffitarget.h +6 -1
  94. data/ext/ffi_c/libffi/src/bfin/ffi.c +196 -0
  95. data/ext/ffi_c/libffi/src/bfin/ffitarget.h +43 -0
  96. data/ext/ffi_c/libffi/src/bfin/sysv.S +179 -0
  97. data/ext/ffi_c/libffi/src/closures.c +319 -44
  98. data/ext/ffi_c/libffi/src/cris/ffi.c +10 -7
  99. data/ext/ffi_c/libffi/src/cris/ffitarget.h +6 -1
  100. data/ext/ffi_c/libffi/src/debug.c +6 -1
  101. data/ext/ffi_c/libffi/src/dlmalloc.c +16 -11
  102. data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
  103. data/ext/ffi_c/libffi/src/frv/ffitarget.h +6 -1
  104. data/ext/ffi_c/libffi/src/ia64/ffi.c +11 -7
  105. data/ext/ffi_c/libffi/src/ia64/ffitarget.h +6 -1
  106. data/ext/ffi_c/libffi/src/java_raw_api.c +23 -5
  107. data/ext/ffi_c/libffi/src/m32r/ffi.c +1 -1
  108. data/ext/ffi_c/libffi/src/m32r/ffitarget.h +6 -1
  109. data/ext/ffi_c/libffi/src/m68k/ffi.c +87 -13
  110. data/ext/ffi_c/libffi/src/m68k/ffitarget.h +6 -1
  111. data/ext/ffi_c/libffi/src/m68k/sysv.S +119 -32
  112. data/ext/ffi_c/libffi/src/m88k/ffi.c +400 -0
  113. data/ext/ffi_c/libffi/src/m88k/ffitarget.h +49 -0
  114. data/ext/ffi_c/libffi/src/m88k/obsd.S +209 -0
  115. data/ext/ffi_c/libffi/src/metag/ffi.c +330 -0
  116. data/ext/ffi_c/libffi/{fficonfig.hw → src/metag/ffitarget.h} +22 -26
  117. data/ext/ffi_c/libffi/src/metag/sysv.S +311 -0
  118. data/ext/ffi_c/libffi/src/microblaze/ffi.c +321 -0
  119. data/ext/ffi_c/libffi/src/microblaze/ffitarget.h +53 -0
  120. data/ext/ffi_c/libffi/src/microblaze/sysv.S +302 -0
  121. data/ext/ffi_c/libffi/src/mips/ffi.c +95 -28
  122. data/ext/ffi_c/libffi/src/mips/ffitarget.h +9 -2
  123. data/ext/ffi_c/libffi/src/mips/n32.S +126 -56
  124. data/ext/ffi_c/libffi/src/mips/o32.S +148 -27
  125. data/ext/ffi_c/libffi/src/moxie/eabi.S +55 -82
  126. data/ext/ffi_c/libffi/src/moxie/ffi.c +40 -44
  127. data/ext/ffi_c/libffi/src/moxie/ffitarget.h +52 -0
  128. data/ext/ffi_c/libffi/src/nios2/ffi.c +304 -0
  129. data/ext/ffi_c/libffi/src/nios2/ffitarget.h +52 -0
  130. data/ext/ffi_c/libffi/src/nios2/sysv.S +136 -0
  131. data/ext/ffi_c/libffi/src/or1k/ffi.c +328 -0
  132. data/ext/ffi_c/libffi/src/or1k/ffitarget.h +58 -0
  133. data/ext/ffi_c/libffi/src/or1k/sysv.S +107 -0
  134. data/ext/ffi_c/libffi/src/pa/ffitarget.h +8 -1
  135. data/ext/ffi_c/libffi/src/powerpc/aix.S +6 -6
  136. data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +3 -1
  137. data/ext/ffi_c/libffi/src/powerpc/asm.h +2 -2
  138. data/ext/ffi_c/libffi/src/powerpc/darwin.S +2 -7
  139. data/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +22 -26
  140. data/ext/ffi_c/libffi/src/powerpc/ffi.c +103 -1378
  141. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +25 -25
  142. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +945 -0
  143. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +94 -0
  144. data/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +923 -0
  145. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +100 -44
  146. data/ext/ffi_c/libffi/src/powerpc/linux64.S +100 -59
  147. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +360 -108
  148. data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +138 -68
  149. data/ext/ffi_c/libffi/src/powerpc/sysv.S +68 -112
  150. data/ext/ffi_c/libffi/src/prep_cif.c +108 -24
  151. data/ext/ffi_c/libffi/src/raw_api.c +18 -5
  152. data/ext/ffi_c/libffi/src/s390/ffi.c +294 -318
  153. data/ext/ffi_c/libffi/src/s390/ffitarget.h +9 -1
  154. data/ext/ffi_c/libffi/src/s390/internal.h +11 -0
  155. data/ext/ffi_c/libffi/src/s390/sysv.S +257 -366
  156. data/ext/ffi_c/libffi/src/sh/ffi.c +4 -3
  157. data/ext/ffi_c/libffi/src/sh/ffitarget.h +6 -1
  158. data/ext/ffi_c/libffi/src/sh64/ffi.c +3 -2
  159. data/ext/ffi_c/libffi/src/sh64/ffitarget.h +6 -1
  160. data/ext/ffi_c/libffi/src/sparc/ffi.c +326 -527
  161. data/ext/ffi_c/libffi/src/sparc/ffi64.c +608 -0
  162. data/ext/ffi_c/libffi/src/sparc/ffitarget.h +20 -7
  163. data/ext/ffi_c/libffi/src/sparc/internal.h +26 -0
  164. data/ext/ffi_c/libffi/src/sparc/v8.S +364 -234
  165. data/ext/ffi_c/libffi/src/sparc/v9.S +340 -207
  166. data/ext/ffi_c/libffi/src/tile/ffi.c +355 -0
  167. data/ext/ffi_c/libffi/src/tile/ffitarget.h +65 -0
  168. data/ext/ffi_c/libffi/src/tile/tile.S +360 -0
  169. data/ext/ffi_c/libffi/src/types.c +43 -14
  170. data/ext/ffi_c/libffi/src/vax/elfbsd.S +195 -0
  171. data/ext/ffi_c/libffi/src/vax/ffi.c +276 -0
  172. data/ext/ffi_c/libffi/src/vax/ffitarget.h +49 -0
  173. data/ext/ffi_c/libffi/src/x86/asmnames.h +30 -0
  174. data/ext/ffi_c/libffi/src/x86/ffi.c +589 -500
  175. data/ext/ffi_c/libffi/src/x86/ffi64.c +338 -116
  176. data/ext/ffi_c/libffi/src/x86/ffitarget.h +55 -35
  177. data/ext/ffi_c/libffi/src/x86/ffiw64.c +287 -0
  178. data/ext/ffi_c/libffi/src/x86/internal.h +29 -0
  179. data/ext/ffi_c/libffi/src/x86/internal64.h +22 -0
  180. data/ext/ffi_c/libffi/src/x86/sysv.S +975 -400
  181. data/ext/ffi_c/libffi/src/x86/unix64.S +398 -299
  182. data/ext/ffi_c/libffi/src/x86/win64.S +222 -458
  183. data/ext/ffi_c/libffi/src/x86/win64_intel.S +237 -0
  184. data/ext/ffi_c/libffi/src/xtensa/ffi.c +298 -0
  185. data/ext/ffi_c/libffi/src/xtensa/ffitarget.h +53 -0
  186. data/ext/ffi_c/libffi/src/xtensa/sysv.S +253 -0
  187. data/ext/ffi_c/libffi/stamp-h.in +1 -0
  188. data/ext/ffi_c/libffi/testsuite/Makefile.am +78 -73
  189. data/ext/ffi_c/libffi/testsuite/Makefile.in +218 -111
  190. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +120 -25
  191. data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +21 -1
  192. data/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +46 -0
  193. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +4 -6
  194. data/ext/ffi_c/libffi/testsuite/libffi.call/{closure_stdcall.c → closure_simple.c} +7 -16
  195. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +4 -4
  196. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +4 -4
  197. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +4 -4
  198. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +4 -4
  199. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +4 -4
  200. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +4 -4
  201. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +4 -4
  202. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +5 -5
  203. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +4 -4
  204. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +4 -4
  205. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +4 -4
  206. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +4 -4
  207. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +4 -4
  208. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +4 -4
  209. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +4 -4
  210. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +4 -4
  211. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +5 -5
  212. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +4 -4
  213. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +4 -4
  214. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +4 -4
  215. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +4 -4
  216. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +4 -4
  217. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +4 -4
  218. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +4 -4
  219. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +4 -4
  220. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +4 -4
  221. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +4 -4
  222. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +4 -6
  223. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +4 -6
  224. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +4 -4
  225. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +4 -4
  226. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +4 -4
  227. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +4 -4
  228. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +4 -4
  229. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +4 -4
  230. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +4 -4
  231. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +4 -4
  232. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +10 -9
  233. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +3 -3
  234. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +10 -9
  235. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c +70 -0
  236. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_float_double.c +55 -0
  237. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +1 -1
  238. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +11 -9
  239. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c +114 -0
  240. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c +44 -0
  241. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c +45 -0
  242. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c +45 -0
  243. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +5 -5
  244. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c +44 -0
  245. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +2 -2
  246. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +23 -40
  247. data/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +3 -1
  248. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +6 -4
  249. data/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +4 -2
  250. data/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +107 -0
  251. data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +18 -19
  252. data/ext/ffi_c/libffi/testsuite/libffi.call/many.c +6 -16
  253. data/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +57 -0
  254. data/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +70 -0
  255. data/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +78 -0
  256. data/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -1
  257. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +6 -6
  258. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +8 -8
  259. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +6 -6
  260. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c +121 -0
  261. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +5 -5
  262. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +5 -5
  263. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +5 -5
  264. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +5 -5
  265. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +6 -6
  266. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +5 -5
  267. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +6 -6
  268. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +6 -6
  269. data/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +46 -0
  270. data/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +127 -0
  271. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +1 -0
  272. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +1 -1
  273. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +1 -1
  274. data/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +1 -1
  275. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +7 -7
  276. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +7 -7
  277. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +5 -5
  278. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +5 -5
  279. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +2 -2
  280. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +49 -0
  281. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +49 -0
  282. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +55 -0
  283. data/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +9 -7
  284. data/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +7 -7
  285. data/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +7 -6
  286. data/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +9 -8
  287. data/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +9 -8
  288. data/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +9 -9
  289. data/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +9 -9
  290. data/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +9 -8
  291. data/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +9 -8
  292. data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +2 -2
  293. data/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +61 -0
  294. data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest.cc +3 -10
  295. data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest_ffi_call.cc +2 -1
  296. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +196 -0
  297. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +121 -0
  298. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +123 -0
  299. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +125 -0
  300. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +91 -0
  301. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +10 -0
  302. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +10 -0
  303. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +10 -0
  304. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +42 -0
  305. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +10 -0
  306. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +10 -0
  307. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +10 -0
  308. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +71 -0
  309. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +10 -0
  310. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +10 -0
  311. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +10 -0
  312. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +80 -0
  313. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +10 -0
  314. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +16 -0
  315. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +10 -0
  316. data/ext/ffi_c/libffi/testsuite/{libffi.special/special.exp → libffi.complex/complex.exp} +9 -8
  317. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +51 -0
  318. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +7 -0
  319. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +7 -0
  320. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +7 -0
  321. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +10 -0
  322. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +10 -0
  323. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +86 -0
  324. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +10 -0
  325. data/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +1 -0
  326. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +78 -0
  327. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +10 -0
  328. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +10 -0
  329. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +10 -0
  330. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +37 -0
  331. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +41 -0
  332. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +10 -0
  333. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +10 -0
  334. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +10 -0
  335. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +44 -0
  336. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +10 -0
  337. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +10 -0
  338. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +10 -0
  339. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +10 -0
  340. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +10 -0
  341. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +10 -0
  342. data/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +34 -0
  343. data/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +28 -0
  344. data/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +1 -0
  345. data/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +36 -0
  346. data/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +19 -0
  347. data/ffi.gemspec +2 -2
  348. data/lib/2.0/ffi_c.so +0 -0
  349. data/lib/2.1/ffi_c.so +0 -0
  350. data/lib/2.2/ffi_c.so +0 -0
  351. data/lib/2.3/ffi_c.so +0 -0
  352. data/lib/2.4/ffi_c.so +0 -0
  353. data/lib/2.5/ffi_c.so +0 -0
  354. data/lib/ffi/enum.rb +124 -0
  355. data/lib/ffi/library.rb +65 -13
  356. data/lib/ffi/platform.rb +7 -2
  357. data/lib/ffi/platform/sparc64-linux/types.conf +102 -0
  358. data/lib/ffi/platform/x86_64-windows/types.conf +113 -20
  359. data/lib/ffi/pointer.rb +1 -0
  360. data/lib/ffi/struct.rb +0 -2
  361. data/lib/ffi/version.rb +1 -1
  362. data/spec/ffi/bitmask_spec.rb +575 -0
  363. data/spec/ffi/embed-test/ext/Makefile +242 -0
  364. data/spec/ffi/fixtures/BitmaskTest.c +51 -0
  365. data/spec/ffi/rbx/memory_pointer_spec.rb +4 -0
  366. data/spec/ffi/struct_spec.rb +0 -4
  367. metadata +158 -32
  368. data/ext/ffi_c/libffi/Makefile.vc +0 -141
  369. data/ext/ffi_c/libffi/Makefile.vc64 +0 -141
  370. data/ext/ffi_c/libffi/build-ios.sh +0 -67
  371. data/ext/ffi_c/libffi/doc/libffi.info +0 -593
  372. data/ext/ffi_c/libffi/doc/stamp-vti +0 -4
  373. data/ext/ffi_c/libffi/include/ffi.h.vc +0 -427
  374. data/ext/ffi_c/libffi/include/ffi.h.vc64 +0 -427
  375. data/ext/ffi_c/libffi/src/arm/gentramp.sh +0 -118
  376. data/ext/ffi_c/libffi/src/arm/trampoline.S +0 -4450
  377. data/ext/ffi_c/libffi/src/x86/darwin.S +0 -444
  378. data/ext/ffi_c/libffi/src/x86/darwin64.S +0 -416
  379. data/ext/ffi_c/libffi/src/x86/freebsd.S +0 -458
  380. data/ext/ffi_c/libffi/src/x86/win32.S +0 -1065
  381. data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +0 -300
  382. data/ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c +0 -63
  383. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c +0 -44
  384. data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +0 -96
@@ -0,0 +1,242 @@
1
+
2
+ SHELL = /bin/sh
3
+
4
+ # V=0 quiet, V=1 verbose. other values don't work.
5
+ V = 0
6
+ Q1 = $(V:1=)
7
+ Q = $(Q1:0=@)
8
+ ECHO1 = $(V:1=@:)
9
+ ECHO = $(ECHO1:0=@echo)
10
+ NULLCMD = :
11
+
12
+ #### Start of system configuration section. ####
13
+
14
+ srcdir = .
15
+ topdir = /home/lars/.rvm/rubies/rbx-3.83/machine/include/capi
16
+ hdrdir = $(topdir)
17
+ arch_hdrdir = /home/lars/.rvm/rubies/rbx-3.83/machine/include/capi
18
+ PATH_SEPARATOR = :
19
+ VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
20
+ prefix = $(DESTDIR)/home/lars/.rvm/rubies/rbx-3.83
21
+ install_prefix = $(DESTDIR)
22
+ exec_prefix = $(prefix)
23
+ bindir = $(DESTDIR)/home/lars/.rvm/rubies/rbx-3.83/bin
24
+ sbindir = $(exec_prefix)/sbin
25
+ libexecdir = $(exec_prefix)/libexec
26
+ datarootdir = $(prefix)/share
27
+ datadir = $(datarootdir)
28
+ sysconfdir = $(prefix)/etc
29
+ sharedstatedir = $(prefix)/com
30
+ localstatedir = $(prefix)/var
31
+ includedir = $(prefix)/include
32
+ oldincludedir = $(DESTDIR)/usr/include
33
+ docdir = $(datarootdir)/doc/$(PACKAGE)
34
+ infodir = $(datarootdir)/info
35
+ htmldir = $(docdir)
36
+ dvidir = $(docdir)
37
+ pdfdir = $(docdir)
38
+ psdir = $(docdir)
39
+ libdir = $(exec_prefix)/lib
40
+ localedir = $(datarootdir)/locale
41
+ mandir = $(datarootdir)/man
42
+ rubyhdrdir = $(DESTDIR)/home/lars/.rvm/rubies/rbx-3.83/machine/include/capi
43
+ sitedir = $(DESTDIR)/home/lars/.rvm/rubies/rbx-3.83/site
44
+ sitelibdir = $(DESTDIR)/home/lars/.rvm/rubies/rbx-3.83/site
45
+ rubylibdir = $(DESTDIR)/home/lars/.rvm/rubies/rbx-3.83/site
46
+ archdir = $(DESTDIR)/home/lars/.rvm/rubies/rbx-3.83/site/x86_64-linux-gnu
47
+ sitearchdir = $(DESTDIR)/home/lars/.rvm/rubies/rbx-3.83/site/x86_64-linux-gnu
48
+ rubyarchhdrdir = $(DESTDIR)/home/lars/.rvm/rubies/rbx-3.83/machine/include/capi
49
+
50
+
51
+ CC = cc
52
+ CXX = c++
53
+ LIBRUBY = $(LIBRUBY_SO)
54
+ LIBRUBY_A =
55
+ LIBRUBYARG_SHARED =
56
+ LIBRUBYARG_STATIC =
57
+ empty =
58
+ OUTFLAG = -o $(empty)
59
+ COUTFLAG = -o $(empty)
60
+
61
+ RUBY_EXTCONF_H =
62
+ cflags =
63
+ cxxflags =
64
+ optflags =
65
+ debugflags =
66
+ warnflags =
67
+ CCDLFLAGS = -fPIC
68
+ CFLAGS = $(CCDLFLAGS) -g -O2 -fPIC $(ARCH_FLAG)
69
+ INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
70
+ DEFS =
71
+ CPPFLAGS =
72
+ CXXFLAGS = $(CCDLFLAGS) -g -O2 -std=c++11 $(ARCH_FLAG)
73
+ ldflags = -Wl,--export-dynamic -lrt -lcrypt -ldl -lpthread -latomic
74
+ dldflags =
75
+ ARCH_FLAG =
76
+ DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
77
+ LDSHARED = cc -shared
78
+ LDSHAREDXX = c++ -shared
79
+ AR = ar
80
+ EXEEXT =
81
+
82
+ RUBY_INSTALL_NAME = rbx
83
+ RUBY_SO_NAME = rubinius-3.83
84
+ RUBYW_INSTALL_NAME =
85
+
86
+ arch = x86_64-linux-gnu
87
+ sitearch = x86_64-linux-gnu
88
+ ruby_version = 2.3
89
+ ruby = $(bindir)/rbx
90
+ RUBY = $(ruby)
91
+ ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h
92
+
93
+ RM = rm -f
94
+ RM_RF = $(RUBY) -run -e rm -- -rf
95
+ RMDIRS = $(RUBY) -run -e rmdir -- -p
96
+ MAKEDIRS = mkdir -p
97
+ INSTALL = install -c
98
+ INSTALL_PROG = $(INSTALL) -m 0755
99
+ INSTALL_DATA = $(INSTALL) -m 644
100
+ COPY = cp
101
+ TOUCH = exit >
102
+
103
+ #### End of system configuration section. ####
104
+
105
+ preload =
106
+
107
+ libpath = . $(libdir)
108
+ LIBPATH = -L. -L$(libdir) -Wl,-R$(libdir)
109
+ DEFFILE =
110
+
111
+ CLEANFILES = mkmf.log
112
+ DISTCLEANFILES =
113
+ DISTCLEANDIRS =
114
+
115
+ extout =
116
+ extout_prefix =
117
+ target_prefix =
118
+ LOCAL_LIBS =
119
+ LIBS = $(LIBRUBYARG_STATIC)
120
+ ORIG_SRCS = embed.c
121
+ SRCS = $(ORIG_SRCS)
122
+ OBJS = embed.o
123
+ HDRS =
124
+ TARGET = embed_test
125
+ TARGET_NAME = embed_test
126
+ TARGET_ENTRY = Init_$(TARGET_NAME)
127
+ DLLIB = $(TARGET).so
128
+ EXTSTATIC =
129
+ STATIC_LIB =
130
+
131
+ TIMESTAMP_DIR = .
132
+ BINDIR = $(bindir)
133
+ RUBYCOMMONDIR = $(sitedir)$(target_prefix)
134
+ RUBYLIBDIR = $(sitelibdir)$(target_prefix)
135
+ RUBYARCHDIR = $(sitearchdir)$(target_prefix)
136
+ HDRDIR = $(rubyhdrdir)/ruby$(target_prefix)
137
+ ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)
138
+
139
+ TARGET_SO = $(DLLIB)
140
+ CLEANLIBS = $(TARGET).so
141
+ CLEANOBJS = *.o *.bak
142
+
143
+ all: $(DLLIB)
144
+ static: $(STATIC_LIB) install-rb
145
+ .PHONY: all install static install-so install-rb
146
+ .PHONY: clean clean-so clean-static clean-rb
147
+
148
+ clean-static::
149
+ clean-rb-default::
150
+ clean-rb::
151
+ clean-so::
152
+ clean: clean-so clean-static clean-rb-default clean-rb
153
+ -$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
154
+
155
+ distclean-rb-default::
156
+ distclean-rb::
157
+ distclean-so::
158
+ distclean-static::
159
+ distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb
160
+ -$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
161
+ -$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
162
+ -$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true
163
+
164
+ realclean: distclean
165
+ install: install-so install-rb
166
+
167
+ install-so: $(DLLIB) $(TIMESTAMP_DIR)/.RUBYARCHDIR.time
168
+ $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
169
+ clean-static::
170
+ -$(Q)$(RM) $(STATIC_LIB)
171
+ install-rb: pre-install-rb install-rb-default
172
+ install-rb-default: pre-install-rb-default
173
+ pre-install-rb: Makefile
174
+ pre-install-rb-default: Makefile
175
+ pre-install-rb-default:
176
+ @$(NULLCMD)
177
+ $(TIMESTAMP_DIR)/.RUBYARCHDIR.time:
178
+ $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)
179
+ $(Q) $(TOUCH) $@
180
+
181
+ site-install: site-install-so site-install-rb
182
+ site-install-so: install-so
183
+ site-install-rb: install-rb
184
+
185
+ .SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S
186
+
187
+ .cc.o:
188
+ $(ECHO) compiling $(<)
189
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
190
+
191
+ .cc.S:
192
+ $(ECHO) translating $(<)
193
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
194
+
195
+ .mm.o:
196
+ $(ECHO) compiling $(<)
197
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
198
+
199
+ .mm.S:
200
+ $(ECHO) translating $(<)
201
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
202
+
203
+ .cxx.o:
204
+ $(ECHO) compiling $(<)
205
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
206
+
207
+ .cxx.S:
208
+ $(ECHO) translating $(<)
209
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
210
+
211
+ .cpp.o:
212
+ $(ECHO) compiling $(<)
213
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
214
+
215
+ .cpp.S:
216
+ $(ECHO) translating $(<)
217
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
218
+
219
+ .c.o:
220
+ $(ECHO) compiling $(<)
221
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
222
+
223
+ .c.S:
224
+ $(ECHO) translating $(<)
225
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $<
226
+
227
+ .m.o:
228
+ $(ECHO) compiling $(<)
229
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
230
+
231
+ .m.S:
232
+ $(ECHO) translating $(<)
233
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $<
234
+
235
+ $(DLLIB): $(OBJS) Makefile
236
+ $(ECHO) linking shared-object $(DLLIB)
237
+ -$(Q)$(RM) $(@)
238
+ $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
239
+
240
+
241
+
242
+ $(OBJS): $(HDRS) $(ruby_headers)
@@ -0,0 +1,51 @@
1
+ /*
2
+ * Copyright (c) 2017 Brice Videau. All rights reserved.
3
+ *
4
+ * For licensing, see LICENSE.SPECS
5
+ */
6
+ #include <stdint.h>
7
+
8
+ int test_untagged_bitmask(int val) {
9
+ return val;
10
+ }
11
+
12
+ int test_untagged_typedef_bitmask(int val) {
13
+ return val;
14
+ }
15
+
16
+ uint8_t test_untagged_nonint_bitmask(uint8_t val) {
17
+ return val;
18
+ }
19
+
20
+ uint16_t test_tagged_nonint_bitmask1(uint16_t val) {
21
+ return val;
22
+ }
23
+
24
+ uint32_t test_tagged_nonint_bitmask2(uint32_t val) {
25
+ return val;
26
+ }
27
+
28
+ uint64_t test_tagged_nonint_bitmask3(uint64_t val) {
29
+ return val;
30
+ }
31
+
32
+ typedef enum {c1 = (1<<0), c2 = (1<<1), c3 = (1<<2), c4 = (1<<3)} bitmask_type1;
33
+ int test_tagged_typedef_bitmask1(int val) {
34
+ return val;
35
+ }
36
+
37
+ typedef enum {c5 = (1<<2), c6 = (1<<3), c7 = (1<<4), c8 = (1<<5)} bitmask_type2;
38
+ int test_tagged_typedef_bitmask2(int val) {
39
+ return val;
40
+ }
41
+
42
+ typedef enum {c9 = (1<<2), c10 = (1<<3), c11 = (1<<5), c12 = (1<<6)} bitmask_type3;
43
+ int test_tagged_typedef_bitmask3(int val) {
44
+ return val;
45
+ }
46
+
47
+ typedef enum {c13 = (1<<2), c14 = (1<<4), c15 = (1<<6), c16 = (1<<8)} bitmask_type4;
48
+ int test_tagged_typedef_bitmask4(int val) {
49
+ return val;
50
+ }
51
+
@@ -34,6 +34,10 @@ describe "MemoryPointer" do
34
34
  m = FFI::MemoryPointer.from_string("FFI is Awesome")
35
35
  expect(m.read_string).to eq("FFI is Awesome")
36
36
  end
37
+
38
+ it "reads back an empty string" do
39
+ expect(FFI::Pointer::NULL.read_string(0)).to eq('')
40
+ end
37
41
 
38
42
  it "makes a pointer for a certain number of bytes" do
39
43
  m = FFI::MemoryPointer.new(8)
@@ -7,7 +7,6 @@ require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
7
7
 
8
8
  describe "Struct aligns fields correctly" do
9
9
  it "char, followed by an int" do
10
- pending("not supported in 1.8") if RUBY_VERSION =~ /^1\.8\..*/
11
10
  class CIStruct < FFI::Struct
12
11
  layout :c => :char, :i => :int
13
12
  end
@@ -15,7 +14,6 @@ describe "Struct aligns fields correctly" do
15
14
  end
16
15
 
17
16
  it "short, followed by an int" do
18
- pending("not supported in 1.8") if RUBY_VERSION =~ /^1\.8\..*/
19
17
  class SIStruct < FFI::Struct
20
18
  layout :s => :short, :i => :int
21
19
  end
@@ -23,7 +21,6 @@ describe "Struct aligns fields correctly" do
23
21
  end
24
22
 
25
23
  it "int, followed by an int" do
26
- pending("not supported in 1.8") if RUBY_VERSION =~ /^1\.8\..*/
27
24
  class IIStruct < FFI::Struct
28
25
  layout :i1 => :int, :i => :int
29
26
  end
@@ -31,7 +28,6 @@ describe "Struct aligns fields correctly" do
31
28
  end
32
29
 
33
30
  it "long long, followed by an int" do
34
- pending("not supported in 1.8") if RUBY_VERSION =~ /^1\.8\..*/
35
31
  class LLIStruct < FFI::Struct
36
32
  layout :l => :long_long, :i => :int
37
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.18
4
+ version: 1.9.21
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Wayne Meissner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-06 00:00:00.000000000 Z
11
+ date: 2018-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.6.0
47
+ version: 0.6.2
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.6.0
54
+ version: 0.6.2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -142,19 +142,26 @@ files:
142
142
  - ext/ffi_c/libffi.mk
143
143
  - ext/ffi_c/libffi.vc.mk
144
144
  - ext/ffi_c/libffi.vc64.mk
145
- - ext/ffi_c/libffi/ChangeLog
146
145
  - ext/ffi_c/libffi/ChangeLog.libffi
146
+ - ext/ffi_c/libffi/ChangeLog.libffi-3.1
147
147
  - ext/ffi_c/libffi/ChangeLog.libgcj
148
148
  - ext/ffi_c/libffi/ChangeLog.v1
149
149
  - ext/ffi_c/libffi/LICENSE
150
150
  - ext/ffi_c/libffi/Makefile.am
151
151
  - ext/ffi_c/libffi/Makefile.in
152
- - ext/ffi_c/libffi/Makefile.vc
153
- - ext/ffi_c/libffi/Makefile.vc64
154
152
  - ext/ffi_c/libffi/README
155
153
  - ext/ffi_c/libffi/acinclude.m4
156
154
  - ext/ffi_c/libffi/aclocal.m4
157
- - ext/ffi_c/libffi/build-ios.sh
155
+ - ext/ffi_c/libffi/autogen.sh
156
+ - ext/ffi_c/libffi/autom4te.cache/output.0
157
+ - ext/ffi_c/libffi/autom4te.cache/output.1
158
+ - ext/ffi_c/libffi/autom4te.cache/output.2
159
+ - ext/ffi_c/libffi/autom4te.cache/output.3
160
+ - ext/ffi_c/libffi/autom4te.cache/requests
161
+ - ext/ffi_c/libffi/autom4te.cache/traces.0
162
+ - ext/ffi_c/libffi/autom4te.cache/traces.1
163
+ - ext/ffi_c/libffi/autom4te.cache/traces.2
164
+ - ext/ffi_c/libffi/autom4te.cache/traces.3
158
165
  - ext/ffi_c/libffi/compile
159
166
  - ext/ffi_c/libffi/config.guess
160
167
  - ext/ffi_c/libffi/config.sub
@@ -162,25 +169,32 @@ files:
162
169
  - ext/ffi_c/libffi/configure.ac
163
170
  - ext/ffi_c/libffi/configure.host
164
171
  - ext/ffi_c/libffi/depcomp
165
- - ext/ffi_c/libffi/doc/libffi.info
172
+ - ext/ffi_c/libffi/doc/Makefile.am
173
+ - ext/ffi_c/libffi/doc/Makefile.in
166
174
  - ext/ffi_c/libffi/doc/libffi.texi
167
- - ext/ffi_c/libffi/doc/stamp-vti
175
+ - ext/ffi_c/libffi/doc/mdate-sh
176
+ - ext/ffi_c/libffi/doc/texinfo.tex
168
177
  - ext/ffi_c/libffi/doc/version.texi
169
178
  - ext/ffi_c/libffi/fficonfig.h.in
170
- - ext/ffi_c/libffi/fficonfig.hw
179
+ - ext/ffi_c/libffi/fficonfig.h.in~
180
+ - ext/ffi_c/libffi/generate-darwin-source-and-headers.py
171
181
  - ext/ffi_c/libffi/include/Makefile.am
172
182
  - ext/ffi_c/libffi/include/Makefile.in
173
183
  - ext/ffi_c/libffi/include/ffi.h.in
174
- - ext/ffi_c/libffi/include/ffi.h.vc
175
- - ext/ffi_c/libffi/include/ffi.h.vc64
184
+ - ext/ffi_c/libffi/include/ffi_cfi.h
176
185
  - ext/ffi_c/libffi/include/ffi_common.h
177
186
  - ext/ffi_c/libffi/install-sh
187
+ - ext/ffi_c/libffi/libffi.map.in
178
188
  - ext/ffi_c/libffi/libffi.pc.in
189
+ - ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj
190
+ - ext/ffi_c/libffi/libtool-ldflags
179
191
  - ext/ffi_c/libffi/libtool-version
180
192
  - ext/ffi_c/libffi/ltmain.sh
193
+ - ext/ffi_c/libffi/m4/asmcfi.m4
194
+ - ext/ffi_c/libffi/m4/ax_append_flag.m4
181
195
  - ext/ffi_c/libffi/m4/ax_cc_maxopt.m4
182
196
  - ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4
183
- - ext/ffi_c/libffi/m4/ax_check_compiler_flags.m4
197
+ - ext/ffi_c/libffi/m4/ax_check_compile_flag.m4
184
198
  - ext/ffi_c/libffi/m4/ax_compiler_vendor.m4
185
199
  - ext/ffi_c/libffi/m4/ax_configure_args.m4
186
200
  - ext/ffi_c/libffi/m4/ax_enable_builddir.m4
@@ -196,20 +210,30 @@ files:
196
210
  - ext/ffi_c/libffi/man/ffi.3
197
211
  - ext/ffi_c/libffi/man/ffi_call.3
198
212
  - ext/ffi_c/libffi/man/ffi_prep_cif.3
199
- - ext/ffi_c/libffi/mdate-sh
213
+ - ext/ffi_c/libffi/man/ffi_prep_cif_var.3
200
214
  - ext/ffi_c/libffi/missing
201
215
  - ext/ffi_c/libffi/msvcc.sh
216
+ - ext/ffi_c/libffi/src/aarch64/ffi.c
217
+ - ext/ffi_c/libffi/src/aarch64/ffitarget.h
218
+ - ext/ffi_c/libffi/src/aarch64/internal.h
219
+ - ext/ffi_c/libffi/src/aarch64/sysv.S
202
220
  - ext/ffi_c/libffi/src/alpha/ffi.c
203
221
  - ext/ffi_c/libffi/src/alpha/ffitarget.h
222
+ - ext/ffi_c/libffi/src/alpha/internal.h
204
223
  - ext/ffi_c/libffi/src/alpha/osf.S
224
+ - ext/ffi_c/libffi/src/arc/arcompact.S
225
+ - ext/ffi_c/libffi/src/arc/ffi.c
226
+ - ext/ffi_c/libffi/src/arc/ffitarget.h
205
227
  - ext/ffi_c/libffi/src/arm/ffi.c
206
228
  - ext/ffi_c/libffi/src/arm/ffitarget.h
207
- - ext/ffi_c/libffi/src/arm/gentramp.sh
229
+ - ext/ffi_c/libffi/src/arm/internal.h
208
230
  - ext/ffi_c/libffi/src/arm/sysv.S
209
- - ext/ffi_c/libffi/src/arm/trampoline.S
210
231
  - ext/ffi_c/libffi/src/avr32/ffi.c
211
232
  - ext/ffi_c/libffi/src/avr32/ffitarget.h
212
233
  - ext/ffi_c/libffi/src/avr32/sysv.S
234
+ - ext/ffi_c/libffi/src/bfin/ffi.c
235
+ - ext/ffi_c/libffi/src/bfin/ffitarget.h
236
+ - ext/ffi_c/libffi/src/bfin/sysv.S
213
237
  - ext/ffi_c/libffi/src/closures.c
214
238
  - ext/ffi_c/libffi/src/cris/ffi.c
215
239
  - ext/ffi_c/libffi/src/cris/ffitarget.h
@@ -230,12 +254,28 @@ files:
230
254
  - ext/ffi_c/libffi/src/m68k/ffi.c
231
255
  - ext/ffi_c/libffi/src/m68k/ffitarget.h
232
256
  - ext/ffi_c/libffi/src/m68k/sysv.S
257
+ - ext/ffi_c/libffi/src/m88k/ffi.c
258
+ - ext/ffi_c/libffi/src/m88k/ffitarget.h
259
+ - ext/ffi_c/libffi/src/m88k/obsd.S
260
+ - ext/ffi_c/libffi/src/metag/ffi.c
261
+ - ext/ffi_c/libffi/src/metag/ffitarget.h
262
+ - ext/ffi_c/libffi/src/metag/sysv.S
263
+ - ext/ffi_c/libffi/src/microblaze/ffi.c
264
+ - ext/ffi_c/libffi/src/microblaze/ffitarget.h
265
+ - ext/ffi_c/libffi/src/microblaze/sysv.S
233
266
  - ext/ffi_c/libffi/src/mips/ffi.c
234
267
  - ext/ffi_c/libffi/src/mips/ffitarget.h
235
268
  - ext/ffi_c/libffi/src/mips/n32.S
236
269
  - ext/ffi_c/libffi/src/mips/o32.S
237
270
  - ext/ffi_c/libffi/src/moxie/eabi.S
238
271
  - ext/ffi_c/libffi/src/moxie/ffi.c
272
+ - ext/ffi_c/libffi/src/moxie/ffitarget.h
273
+ - ext/ffi_c/libffi/src/nios2/ffi.c
274
+ - ext/ffi_c/libffi/src/nios2/ffitarget.h
275
+ - ext/ffi_c/libffi/src/nios2/sysv.S
276
+ - ext/ffi_c/libffi/src/or1k/ffi.c
277
+ - ext/ffi_c/libffi/src/or1k/ffitarget.h
278
+ - ext/ffi_c/libffi/src/or1k/sysv.S
239
279
  - ext/ffi_c/libffi/src/pa/ffi.c
240
280
  - ext/ffi_c/libffi/src/pa/ffitarget.h
241
281
  - ext/ffi_c/libffi/src/pa/hpux32.S
@@ -247,6 +287,9 @@ files:
247
287
  - ext/ffi_c/libffi/src/powerpc/darwin_closure.S
248
288
  - ext/ffi_c/libffi/src/powerpc/ffi.c
249
289
  - ext/ffi_c/libffi/src/powerpc/ffi_darwin.c
290
+ - ext/ffi_c/libffi/src/powerpc/ffi_linux64.c
291
+ - ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h
292
+ - ext/ffi_c/libffi/src/powerpc/ffi_sysv.c
250
293
  - ext/ffi_c/libffi/src/powerpc/ffitarget.h
251
294
  - ext/ffi_c/libffi/src/powerpc/linux64.S
252
295
  - ext/ffi_c/libffi/src/powerpc/linux64_closure.S
@@ -256,6 +299,7 @@ files:
256
299
  - ext/ffi_c/libffi/src/raw_api.c
257
300
  - ext/ffi_c/libffi/src/s390/ffi.c
258
301
  - ext/ffi_c/libffi/src/s390/ffitarget.h
302
+ - ext/ffi_c/libffi/src/s390/internal.h
259
303
  - ext/ffi_c/libffi/src/s390/sysv.S
260
304
  - ext/ffi_c/libffi/src/sh/ffi.c
261
305
  - ext/ffi_c/libffi/src/sh/ffitarget.h
@@ -264,27 +308,40 @@ files:
264
308
  - ext/ffi_c/libffi/src/sh64/ffitarget.h
265
309
  - ext/ffi_c/libffi/src/sh64/sysv.S
266
310
  - ext/ffi_c/libffi/src/sparc/ffi.c
311
+ - ext/ffi_c/libffi/src/sparc/ffi64.c
267
312
  - ext/ffi_c/libffi/src/sparc/ffitarget.h
313
+ - ext/ffi_c/libffi/src/sparc/internal.h
268
314
  - ext/ffi_c/libffi/src/sparc/v8.S
269
315
  - ext/ffi_c/libffi/src/sparc/v9.S
316
+ - ext/ffi_c/libffi/src/tile/ffi.c
317
+ - ext/ffi_c/libffi/src/tile/ffitarget.h
318
+ - ext/ffi_c/libffi/src/tile/tile.S
270
319
  - ext/ffi_c/libffi/src/types.c
271
- - ext/ffi_c/libffi/src/x86/darwin.S
272
- - ext/ffi_c/libffi/src/x86/darwin64.S
320
+ - ext/ffi_c/libffi/src/vax/elfbsd.S
321
+ - ext/ffi_c/libffi/src/vax/ffi.c
322
+ - ext/ffi_c/libffi/src/vax/ffitarget.h
323
+ - ext/ffi_c/libffi/src/x86/asmnames.h
273
324
  - ext/ffi_c/libffi/src/x86/ffi.c
274
325
  - ext/ffi_c/libffi/src/x86/ffi64.c
275
326
  - ext/ffi_c/libffi/src/x86/ffitarget.h
276
- - ext/ffi_c/libffi/src/x86/freebsd.S
327
+ - ext/ffi_c/libffi/src/x86/ffiw64.c
328
+ - ext/ffi_c/libffi/src/x86/internal.h
329
+ - ext/ffi_c/libffi/src/x86/internal64.h
277
330
  - ext/ffi_c/libffi/src/x86/sysv.S
278
331
  - ext/ffi_c/libffi/src/x86/unix64.S
279
- - ext/ffi_c/libffi/src/x86/win32.S
280
332
  - ext/ffi_c/libffi/src/x86/win64.S
333
+ - ext/ffi_c/libffi/src/x86/win64_intel.S
334
+ - ext/ffi_c/libffi/src/xtensa/ffi.c
335
+ - ext/ffi_c/libffi/src/xtensa/ffitarget.h
336
+ - ext/ffi_c/libffi/src/xtensa/sysv.S
337
+ - ext/ffi_c/libffi/stamp-h.in
281
338
  - ext/ffi_c/libffi/testsuite/Makefile.am
282
339
  - ext/ffi_c/libffi/testsuite/Makefile.in
283
340
  - ext/ffi_c/libffi/testsuite/config/default.exp
284
- - ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp
285
341
  - ext/ffi_c/libffi/testsuite/lib/libffi.exp
286
342
  - ext/ffi_c/libffi/testsuite/lib/target-libpath.exp
287
343
  - ext/ffi_c/libffi/testsuite/lib/wrapper.exp
344
+ - ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c
288
345
  - ext/ffi_c/libffi/testsuite/libffi.call/call.exp
289
346
  - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c
290
347
  - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c
@@ -294,7 +351,7 @@ files:
294
351
  - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c
295
352
  - ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c
296
353
  - ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c
297
- - ext/ffi_c/libffi/testsuite/libffi.call/closure_stdcall.c
354
+ - ext/ffi_c/libffi/testsuite/libffi.call/closure_simple.c
298
355
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c
299
356
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c
300
357
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c
@@ -337,6 +394,8 @@ files:
337
394
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c
338
395
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c
339
396
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c
397
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c
398
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_float_double.c
340
399
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c
341
400
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c
342
401
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c
@@ -348,10 +407,15 @@ files:
348
407
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c
349
408
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c
350
409
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c
410
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c
351
411
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c
412
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c
352
413
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c
414
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c
415
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c
353
416
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c
354
417
  - ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c
418
+ - ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c
355
419
  - ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c
356
420
  - ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c
357
421
  - ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h
@@ -360,13 +424,17 @@ files:
360
424
  - ext/ffi_c/libffi/testsuite/libffi.call/float2.c
361
425
  - ext/ffi_c/libffi/testsuite/libffi.call/float3.c
362
426
  - ext/ffi_c/libffi/testsuite/libffi.call/float4.c
427
+ - ext/ffi_c/libffi/testsuite/libffi.call/float_va.c
363
428
  - ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c
364
429
  - ext/ffi_c/libffi/testsuite/libffi.call/many.c
365
- - ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c
430
+ - ext/ffi_c/libffi/testsuite/libffi.call/many2.c
431
+ - ext/ffi_c/libffi/testsuite/libffi.call/many_double.c
432
+ - ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c
366
433
  - ext/ffi_c/libffi/testsuite/libffi.call/negint.c
367
434
  - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c
368
435
  - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c
369
436
  - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c
437
+ - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c
370
438
  - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c
371
439
  - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c
372
440
  - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c
@@ -375,6 +443,8 @@ files:
375
443
  - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c
376
444
  - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c
377
445
  - ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c
446
+ - ext/ffi_c/libffi/testsuite/libffi.call/offsets.c
447
+ - ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c
378
448
  - ext/ffi_c/libffi/testsuite/libffi.call/problem1.c
379
449
  - ext/ffi_c/libffi/testsuite/libffi.call/promotion.c
380
450
  - ext/ffi_c/libffi/testsuite/libffi.call/pyobjc-tc.c
@@ -397,7 +467,9 @@ files:
397
467
  - ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c
398
468
  - ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c
399
469
  - ext/ffi_c/libffi/testsuite/libffi.call/strlen.c
400
- - ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c
470
+ - ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c
471
+ - ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c
472
+ - ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c
401
473
  - ext/ffi_c/libffi/testsuite/libffi.call/struct1.c
402
474
  - ext/ffi_c/libffi/testsuite/libffi.call/struct2.c
403
475
  - ext/ffi_c/libffi/testsuite/libffi.call/struct3.c
@@ -408,11 +480,60 @@ files:
408
480
  - ext/ffi_c/libffi/testsuite/libffi.call/struct8.c
409
481
  - ext/ffi_c/libffi/testsuite/libffi.call/struct9.c
410
482
  - ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c
411
- - ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h
412
- - ext/ffi_c/libffi/testsuite/libffi.special/special.exp
413
- - ext/ffi_c/libffi/testsuite/libffi.special/unwindtest.cc
414
- - ext/ffi_c/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
415
- - ext/ffi_c/libffi/texinfo.tex
483
+ - ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c
484
+ - ext/ffi_c/libffi/testsuite/libffi.call/unwindtest.cc
485
+ - ext/ffi_c/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc
486
+ - ext/ffi_c/libffi/testsuite/libffi.call/va_1.c
487
+ - ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c
488
+ - ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c
489
+ - ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c
490
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc
491
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c
492
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c
493
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c
494
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc
495
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c
496
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c
497
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c
498
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc
499
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c
500
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c
501
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c
502
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc
503
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c
504
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c
505
+ - ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c
506
+ - ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp
507
+ - ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc
508
+ - ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc
509
+ - ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc
510
+ - ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc
511
+ - ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c
512
+ - ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c
513
+ - ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c
514
+ - ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c
515
+ - ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h
516
+ - ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc
517
+ - ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c
518
+ - ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c
519
+ - ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c
520
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc
521
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc
522
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c
523
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c
524
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c
525
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc
526
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c
527
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c
528
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c
529
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c
530
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c
531
+ - ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c
532
+ - ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c
533
+ - ext/ffi_c/libffi/testsuite/libffi.go/closure1.c
534
+ - ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h
535
+ - ext/ffi_c/libffi/testsuite/libffi.go/go.exp
536
+ - ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h
416
537
  - ext/ffi_c/rbffi.h
417
538
  - ext/ffi_c/rbffi_endian.h
418
539
  - ext/ffi_c/win32/stdbool.h
@@ -424,6 +545,7 @@ files:
424
545
  - lib/2.2/ffi_c.so
425
546
  - lib/2.3/ffi_c.so
426
547
  - lib/2.4/ffi_c.so
548
+ - lib/2.5/ffi_c.so
427
549
  - lib/ffi.rb
428
550
  - lib/ffi/autopointer.rb
429
551
  - lib/ffi/buffer.rb
@@ -459,6 +581,7 @@ files:
459
581
  - lib/ffi/platform/s390x-linux/types.conf
460
582
  - lib/ffi/platform/sparc-linux/types.conf
461
583
  - lib/ffi/platform/sparc-solaris/types.conf
584
+ - lib/ffi/platform/sparc64-linux/types.conf
462
585
  - lib/ffi/platform/sparcv9-solaris/types.conf
463
586
  - lib/ffi/platform/x86_64-cygwin/types.conf
464
587
  - lib/ffi/platform/x86_64-darwin/types.conf
@@ -498,16 +621,19 @@ files:
498
621
  - libtest/VariadicTest.c
499
622
  - spec/ffi/LICENSE.SPECS
500
623
  - spec/ffi/async_callback_spec.rb
624
+ - spec/ffi/bitmask_spec.rb
501
625
  - spec/ffi/bool_spec.rb
502
626
  - spec/ffi/buffer_spec.rb
503
627
  - spec/ffi/callback_spec.rb
504
628
  - spec/ffi/custom_param_type.rb
505
629
  - spec/ffi/custom_type_spec.rb
506
630
  - spec/ffi/dup_spec.rb
631
+ - spec/ffi/embed-test/ext/Makefile
507
632
  - spec/ffi/enum_spec.rb
508
633
  - spec/ffi/errno_spec.rb
509
634
  - spec/ffi/ffi_spec.rb
510
635
  - spec/ffi/fixtures/Benchmark.c
636
+ - spec/ffi/fixtures/BitmaskTest.c
511
637
  - spec/ffi/fixtures/BoolTest.c
512
638
  - spec/ffi/fixtures/BufferTest.c
513
639
  - spec/ffi/fixtures/ClosureTest.c
@@ -569,7 +695,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
569
695
  version: '2.0'
570
696
  - - "<"
571
697
  - !ruby/object:Gem::Version
572
- version: '2.5'
698
+ version: '2.6'
573
699
  required_rubygems_version: !ruby/object:Gem::Requirement
574
700
  requirements:
575
701
  - - ">="
@@ -577,7 +703,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
577
703
  version: '0'
578
704
  requirements: []
579
705
  rubyforge_project:
580
- rubygems_version: 2.6.8
706
+ rubygems_version: 2.7.3
581
707
  signing_key:
582
708
  specification_version: 4
583
709
  summary: Ruby FFI