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
@@ -57,15 +57,15 @@ int main (void)
57
57
  ffi_type cls_struct_type;
58
58
  ffi_type* dbl_arg_types[3];
59
59
 
60
+ struct cls_struct_19byte g_dbl = { 1.0, 127, 126, 3.0, 120 };
61
+ struct cls_struct_19byte f_dbl = { 4.0, 125, 124, 5.0, 119 };
62
+ struct cls_struct_19byte res_dbl;
63
+
60
64
  cls_struct_type.size = 0;
61
65
  cls_struct_type.alignment = 0;
62
66
  cls_struct_type.type = FFI_TYPE_STRUCT;
63
67
  cls_struct_type.elements = cls_struct_fields;
64
68
 
65
- struct cls_struct_19byte g_dbl = { 1.0, 127, 126, 3.0, 120 };
66
- struct cls_struct_19byte f_dbl = { 4.0, 125, 124, 5.0, 119 };
67
- struct cls_struct_19byte res_dbl;
68
-
69
69
  cls_struct_fields[0] = &ffi_type_double;
70
70
  cls_struct_fields[1] = &ffi_type_uchar;
71
71
  cls_struct_fields[2] = &ffi_type_uchar;
@@ -50,15 +50,15 @@ int main (void)
50
50
  ffi_type cls_struct_type;
51
51
  ffi_type* dbl_arg_types[5];
52
52
 
53
+ struct cls_struct_1_1byte g_dbl = { 12 };
54
+ struct cls_struct_1_1byte f_dbl = { 178 };
55
+ struct cls_struct_1_1byte res_dbl;
56
+
53
57
  cls_struct_type.size = 0;
54
58
  cls_struct_type.alignment = 0;
55
59
  cls_struct_type.type = FFI_TYPE_STRUCT;
56
60
  cls_struct_type.elements = cls_struct_fields;
57
61
 
58
- struct cls_struct_1_1byte g_dbl = { 12 };
59
- struct cls_struct_1_1byte f_dbl = { 178 };
60
- struct cls_struct_1_1byte res_dbl;
61
-
62
62
  cls_struct_fields[0] = &ffi_type_uchar;
63
63
  cls_struct_fields[1] = NULL;
64
64
 
@@ -50,15 +50,15 @@ int main (void)
50
50
  ffi_type cls_struct_type;
51
51
  ffi_type* dbl_arg_types[5];
52
52
 
53
+ struct cls_struct_20byte g_dbl = { 1.0, 2.0, 3 };
54
+ struct cls_struct_20byte f_dbl = { 4.0, 5.0, 7 };
55
+ struct cls_struct_20byte res_dbl;
56
+
53
57
  cls_struct_type.size = 0;
54
58
  cls_struct_type.alignment = 0;
55
59
  cls_struct_type.type = FFI_TYPE_STRUCT;
56
60
  cls_struct_type.elements = cls_struct_fields;
57
61
 
58
- struct cls_struct_20byte g_dbl = { 1.0, 2.0, 3 };
59
- struct cls_struct_20byte f_dbl = { 4.0, 5.0, 7 };
60
- struct cls_struct_20byte res_dbl;
61
-
62
62
  cls_struct_fields[0] = &ffi_type_double;
63
63
  cls_struct_fields[1] = &ffi_type_double;
64
64
  cls_struct_fields[2] = &ffi_type_sint;
@@ -52,15 +52,15 @@ int main (void)
52
52
  ffi_type cls_struct_type;
53
53
  ffi_type* dbl_arg_types[3];
54
54
 
55
+ struct cls_struct_20byte g_dbl = { 1, 2.0, 3.0 };
56
+ struct cls_struct_20byte f_dbl = { 4, 5.0, 7.0 };
57
+ struct cls_struct_20byte res_dbl;
58
+
55
59
  cls_struct_type.size = 0;
56
60
  cls_struct_type.alignment = 0;
57
61
  cls_struct_type.type = FFI_TYPE_STRUCT;
58
62
  cls_struct_type.elements = cls_struct_fields;
59
63
 
60
- struct cls_struct_20byte g_dbl = { 1, 2.0, 3.0 };
61
- struct cls_struct_20byte f_dbl = { 4, 5.0, 7.0 };
62
- struct cls_struct_20byte res_dbl;
63
-
64
64
  cls_struct_fields[0] = &ffi_type_sint;
65
65
  cls_struct_fields[1] = &ffi_type_double;
66
66
  cls_struct_fields[2] = &ffi_type_double;
@@ -61,17 +61,17 @@ int main (void)
61
61
  ffi_type cls_struct_type;
62
62
  ffi_type* dbl_arg_types[5];
63
63
 
64
- cls_struct_type.size = 0;
65
- cls_struct_type.alignment = 0;
66
- cls_struct_type.type = FFI_TYPE_STRUCT;
67
- cls_struct_type.elements = cls_struct_fields;
68
-
69
64
  struct cls_struct_24byte e_dbl = { 9.0, 2.0, 6, 5.0 };
70
65
  struct cls_struct_24byte f_dbl = { 1.0, 2.0, 3, 7.0 };
71
66
  struct cls_struct_24byte g_dbl = { 4.0, 5.0, 7, 9.0 };
72
67
  struct cls_struct_24byte h_dbl = { 8.0, 6.0, 1, 4.0 };
73
68
  struct cls_struct_24byte res_dbl;
74
69
 
70
+ cls_struct_type.size = 0;
71
+ cls_struct_type.alignment = 0;
72
+ cls_struct_type.type = FFI_TYPE_STRUCT;
73
+ cls_struct_type.elements = cls_struct_fields;
74
+
75
75
  cls_struct_fields[0] = &ffi_type_double;
76
76
  cls_struct_fields[1] = &ffi_type_double;
77
77
  cls_struct_fields[2] = &ffi_type_sint;
@@ -50,15 +50,15 @@ int main (void)
50
50
  ffi_type cls_struct_type;
51
51
  ffi_type* dbl_arg_types[5];
52
52
 
53
+ struct cls_struct_2byte g_dbl = { 12, 127 };
54
+ struct cls_struct_2byte f_dbl = { 1, 13 };
55
+ struct cls_struct_2byte res_dbl;
56
+
53
57
  cls_struct_type.size = 0;
54
58
  cls_struct_type.alignment = 0;
55
59
  cls_struct_type.type = FFI_TYPE_STRUCT;
56
60
  cls_struct_type.elements = cls_struct_fields;
57
61
 
58
- struct cls_struct_2byte g_dbl = { 12, 127 };
59
- struct cls_struct_2byte f_dbl = { 1, 13 };
60
- struct cls_struct_2byte res_dbl;
61
-
62
62
  cls_struct_fields[0] = &ffi_type_uchar;
63
63
  cls_struct_fields[1] = &ffi_type_uchar;
64
64
  cls_struct_fields[2] = NULL;
@@ -54,15 +54,15 @@ int main (void)
54
54
  ffi_type cls_struct_type;
55
55
  ffi_type* dbl_arg_types[5];
56
56
 
57
+ struct cls_struct_3_1byte g_dbl = { 12, 13, 14 };
58
+ struct cls_struct_3_1byte f_dbl = { 178, 179, 180 };
59
+ struct cls_struct_3_1byte res_dbl;
60
+
57
61
  cls_struct_type.size = 0;
58
62
  cls_struct_type.alignment = 0;
59
63
  cls_struct_type.type = FFI_TYPE_STRUCT;
60
64
  cls_struct_type.elements = cls_struct_fields;
61
65
 
62
- struct cls_struct_3_1byte g_dbl = { 12, 13, 14 };
63
- struct cls_struct_3_1byte f_dbl = { 178, 179, 180 };
64
- struct cls_struct_3_1byte res_dbl;
65
-
66
66
  cls_struct_fields[0] = &ffi_type_uchar;
67
67
  cls_struct_fields[1] = &ffi_type_uchar;
68
68
  cls_struct_fields[2] = &ffi_type_uchar;
@@ -50,15 +50,15 @@ int main (void)
50
50
  ffi_type cls_struct_type;
51
51
  ffi_type* dbl_arg_types[5];
52
52
 
53
+ struct cls_struct_3byte g_dbl = { 12, 119 };
54
+ struct cls_struct_3byte f_dbl = { 1, 15 };
55
+ struct cls_struct_3byte res_dbl;
56
+
53
57
  cls_struct_type.size = 0;
54
58
  cls_struct_type.alignment = 0;
55
59
  cls_struct_type.type = FFI_TYPE_STRUCT;
56
60
  cls_struct_type.elements = cls_struct_fields;
57
61
 
58
- struct cls_struct_3byte g_dbl = { 12, 119 };
59
- struct cls_struct_3byte f_dbl = { 1, 15 };
60
- struct cls_struct_3byte res_dbl;
61
-
62
62
  cls_struct_fields[0] = &ffi_type_ushort;
63
63
  cls_struct_fields[1] = &ffi_type_uchar;
64
64
  cls_struct_fields[2] = NULL;
@@ -50,15 +50,15 @@ int main (void)
50
50
  ffi_type cls_struct_type;
51
51
  ffi_type* dbl_arg_types[5];
52
52
 
53
+ struct cls_struct_3byte_1 g_dbl = { 15, 125 };
54
+ struct cls_struct_3byte_1 f_dbl = { 9, 19 };
55
+ struct cls_struct_3byte_1 res_dbl;
56
+
53
57
  cls_struct_type.size = 0;
54
58
  cls_struct_type.alignment = 0;
55
59
  cls_struct_type.type = FFI_TYPE_STRUCT;
56
60
  cls_struct_type.elements = cls_struct_fields;
57
61
 
58
- struct cls_struct_3byte_1 g_dbl = { 15, 125 };
59
- struct cls_struct_3byte_1 f_dbl = { 9, 19 };
60
- struct cls_struct_3byte_1 res_dbl;
61
-
62
62
  cls_struct_fields[0] = &ffi_type_uchar;
63
63
  cls_struct_fields[1] = &ffi_type_ushort;
64
64
  cls_struct_fields[2] = NULL;
@@ -56,15 +56,15 @@ int main (void)
56
56
  ffi_type cls_struct_type;
57
57
  ffi_type* dbl_arg_types[5];
58
58
 
59
+ struct cls_struct_4_1byte g_dbl = { 12, 13, 14, 15 };
60
+ struct cls_struct_4_1byte f_dbl = { 178, 179, 180, 181 };
61
+ struct cls_struct_4_1byte res_dbl;
62
+
59
63
  cls_struct_type.size = 0;
60
64
  cls_struct_type.alignment = 0;
61
65
  cls_struct_type.type = FFI_TYPE_STRUCT;
62
66
  cls_struct_type.elements = cls_struct_fields;
63
67
 
64
- struct cls_struct_4_1byte g_dbl = { 12, 13, 14, 15 };
65
- struct cls_struct_4_1byte f_dbl = { 178, 179, 180, 181 };
66
- struct cls_struct_4_1byte res_dbl;
67
-
68
68
  cls_struct_fields[0] = &ffi_type_uchar;
69
69
  cls_struct_fields[1] = &ffi_type_uchar;
70
70
  cls_struct_fields[2] = &ffi_type_uchar;
@@ -50,15 +50,15 @@ int main (void)
50
50
  ffi_type cls_struct_type;
51
51
  ffi_type* dbl_arg_types[5];
52
52
 
53
+ struct cls_struct_4byte g_dbl = { 127, 120 };
54
+ struct cls_struct_4byte f_dbl = { 12, 128 };
55
+ struct cls_struct_4byte res_dbl;
56
+
53
57
  cls_struct_type.size = 0;
54
58
  cls_struct_type.alignment = 0;
55
59
  cls_struct_type.type = FFI_TYPE_STRUCT;
56
60
  cls_struct_type.elements = cls_struct_fields;
57
61
 
58
- struct cls_struct_4byte g_dbl = { 127, 120 };
59
- struct cls_struct_4byte f_dbl = { 12, 128 };
60
- struct cls_struct_4byte res_dbl;
61
-
62
62
  cls_struct_fields[0] = &ffi_type_ushort;
63
63
  cls_struct_fields[1] = &ffi_type_ushort;
64
64
  cls_struct_fields[2] = NULL;
@@ -58,15 +58,15 @@ int main (void)
58
58
  ffi_type cls_struct_type;
59
59
  ffi_type* dbl_arg_types[5];
60
60
 
61
+ struct cls_struct_5byte g_dbl = { 127, 120, 1, 3, 4 };
62
+ struct cls_struct_5byte f_dbl = { 12, 128, 9, 3, 4 };
63
+ struct cls_struct_5byte res_dbl = { 0, 0, 0, 0, 0 };
64
+
61
65
  cls_struct_type.size = 0;
62
66
  cls_struct_type.alignment = 0;
63
67
  cls_struct_type.type = FFI_TYPE_STRUCT;
64
68
  cls_struct_type.elements = cls_struct_fields;
65
69
 
66
- struct cls_struct_5byte g_dbl = { 127, 120, 1, 3, 4 };
67
- struct cls_struct_5byte f_dbl = { 12, 128, 9, 3, 4 };
68
- struct cls_struct_5byte res_dbl = { 0, 0, 0, 0, 0 };
69
-
70
70
  cls_struct_fields[0] = &ffi_type_uchar;
71
71
  cls_struct_fields[1] = &ffi_type_uchar;
72
72
  cls_struct_fields[2] = &ffi_type_uchar;
@@ -53,15 +53,15 @@ int main (void)
53
53
  ffi_type cls_struct_type;
54
54
  ffi_type* dbl_arg_types[5];
55
55
 
56
+ struct cls_struct_5byte g_dbl = { 127, 120, 1 };
57
+ struct cls_struct_5byte f_dbl = { 12, 128, 9 };
58
+ struct cls_struct_5byte res_dbl = { 0, 0, 0 };
59
+
56
60
  cls_struct_type.size = 0;
57
61
  cls_struct_type.alignment = 0;
58
62
  cls_struct_type.type = FFI_TYPE_STRUCT;
59
63
  cls_struct_type.elements = cls_struct_fields;
60
64
 
61
- struct cls_struct_5byte g_dbl = { 127, 120, 1 };
62
- struct cls_struct_5byte f_dbl = { 12, 128, 9 };
63
- struct cls_struct_5byte res_dbl = { 0, 0, 0 };
64
-
65
65
  cls_struct_fields[0] = &ffi_type_ushort;
66
66
  cls_struct_fields[1] = &ffi_type_ushort;
67
67
  cls_struct_fields[2] = &ffi_type_uchar;
@@ -66,17 +66,17 @@ int main (void)
66
66
  ffi_type cls_struct_type;
67
67
  ffi_type* dbl_arg_types[5];
68
68
 
69
- cls_struct_type.size = 0;
70
- cls_struct_type.alignment = 0;
71
- cls_struct_type.type = FFI_TYPE_STRUCT;
72
- cls_struct_type.elements = cls_struct_fields;
73
-
74
69
  struct cls_struct_64byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0 };
75
70
  struct cls_struct_64byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0 };
76
71
  struct cls_struct_64byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0 };
77
72
  struct cls_struct_64byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0 };
78
73
  struct cls_struct_64byte res_dbl;
79
74
 
75
+ cls_struct_type.size = 0;
76
+ cls_struct_type.alignment = 0;
77
+ cls_struct_type.type = FFI_TYPE_STRUCT;
78
+ cls_struct_type.elements = cls_struct_fields;
79
+
80
80
  cls_struct_fields[0] = &ffi_type_double;
81
81
  cls_struct_fields[1] = &ffi_type_double;
82
82
  cls_struct_fields[2] = &ffi_type_double;
@@ -60,15 +60,15 @@ int main (void)
60
60
  ffi_type cls_struct_type;
61
61
  ffi_type* dbl_arg_types[5];
62
62
 
63
+ struct cls_struct_6byte g_dbl = { 127, 120, 1, 3, 4, 5 };
64
+ struct cls_struct_6byte f_dbl = { 12, 128, 9, 3, 4, 5 };
65
+ struct cls_struct_6byte res_dbl = { 0, 0, 0, 0, 0, 0 };
66
+
63
67
  cls_struct_type.size = 0;
64
68
  cls_struct_type.alignment = 0;
65
69
  cls_struct_type.type = FFI_TYPE_STRUCT;
66
70
  cls_struct_type.elements = cls_struct_fields;
67
71
 
68
- struct cls_struct_6byte g_dbl = { 127, 120, 1, 3, 4, 5 };
69
- struct cls_struct_6byte f_dbl = { 12, 128, 9, 3, 4, 5 };
70
- struct cls_struct_6byte res_dbl = { 0, 0, 0, 0, 0, 0 };
71
-
72
72
  cls_struct_fields[0] = &ffi_type_uchar;
73
73
  cls_struct_fields[1] = &ffi_type_uchar;
74
74
  cls_struct_fields[2] = &ffi_type_uchar;
@@ -56,15 +56,15 @@ int main (void)
56
56
  ffi_type cls_struct_type;
57
57
  ffi_type* dbl_arg_types[5];
58
58
 
59
+ struct cls_struct_6byte g_dbl = { 127, 120, 1, 128 };
60
+ struct cls_struct_6byte f_dbl = { 12, 128, 9, 127 };
61
+ struct cls_struct_6byte res_dbl;
62
+
59
63
  cls_struct_type.size = 0;
60
64
  cls_struct_type.alignment = 0;
61
65
  cls_struct_type.type = FFI_TYPE_STRUCT;
62
66
  cls_struct_type.elements = cls_struct_fields;
63
67
 
64
- struct cls_struct_6byte g_dbl = { 127, 120, 1, 128 };
65
- struct cls_struct_6byte f_dbl = { 12, 128, 9, 127 };
66
- struct cls_struct_6byte res_dbl;
67
-
68
68
  cls_struct_fields[0] = &ffi_type_ushort;
69
69
  cls_struct_fields[1] = &ffi_type_ushort;
70
70
  cls_struct_fields[2] = &ffi_type_uchar;
@@ -62,15 +62,15 @@ int main (void)
62
62
  ffi_type cls_struct_type;
63
63
  ffi_type* dbl_arg_types[5];
64
64
 
65
+ struct cls_struct_7byte g_dbl = { 127, 120, 1, 3, 4, 5, 6 };
66
+ struct cls_struct_7byte f_dbl = { 12, 128, 9, 3, 4, 5, 6 };
67
+ struct cls_struct_7byte res_dbl = { 0, 0, 0, 0, 0, 0, 0 };
68
+
65
69
  cls_struct_type.size = 0;
66
70
  cls_struct_type.alignment = 0;
67
71
  cls_struct_type.type = FFI_TYPE_STRUCT;
68
72
  cls_struct_type.elements = cls_struct_fields;
69
73
 
70
- struct cls_struct_7byte g_dbl = { 127, 120, 1, 3, 4, 5, 6 };
71
- struct cls_struct_7byte f_dbl = { 12, 128, 9, 3, 4, 5, 6 };
72
- struct cls_struct_7byte res_dbl = { 0, 0, 0, 0, 0, 0, 0 };
73
-
74
74
  cls_struct_fields[0] = &ffi_type_uchar;
75
75
  cls_struct_fields[1] = &ffi_type_uchar;
76
76
  cls_struct_fields[2] = &ffi_type_uchar;
@@ -55,15 +55,15 @@ int main (void)
55
55
  ffi_type cls_struct_type;
56
56
  ffi_type* dbl_arg_types[5];
57
57
 
58
+ struct cls_struct_7byte g_dbl = { 127, 120, 1, 254 };
59
+ struct cls_struct_7byte f_dbl = { 12, 128, 9, 255 };
60
+ struct cls_struct_7byte res_dbl;
61
+
58
62
  cls_struct_type.size = 0;
59
63
  cls_struct_type.alignment = 0;
60
64
  cls_struct_type.type = FFI_TYPE_STRUCT;
61
65
  cls_struct_type.elements = cls_struct_fields;
62
66
 
63
- struct cls_struct_7byte g_dbl = { 127, 120, 1, 254 };
64
- struct cls_struct_7byte f_dbl = { 12, 128, 9, 255 };
65
- struct cls_struct_7byte res_dbl;
66
-
67
67
  cls_struct_fields[0] = &ffi_type_ushort;
68
68
  cls_struct_fields[1] = &ffi_type_ushort;
69
69
  cls_struct_fields[2] = &ffi_type_uchar;
@@ -49,15 +49,15 @@ int main (void)
49
49
  ffi_type cls_struct_type;
50
50
  ffi_type* dbl_arg_types[5];
51
51
 
52
+ struct cls_struct_8byte g_dbl = { 1, 2.0 };
53
+ struct cls_struct_8byte f_dbl = { 4, 5.0 };
54
+ struct cls_struct_8byte res_dbl;
55
+
52
56
  cls_struct_type.size = 0;
53
57
  cls_struct_type.alignment = 0;
54
58
  cls_struct_type.type = FFI_TYPE_STRUCT;
55
59
  cls_struct_type.elements = cls_struct_fields;
56
60
 
57
- struct cls_struct_8byte g_dbl = { 1, 2.0 };
58
- struct cls_struct_8byte f_dbl = { 4, 5.0 };
59
- struct cls_struct_8byte res_dbl;
60
-
61
61
  cls_struct_fields[0] = &ffi_type_sint;
62
62
  cls_struct_fields[1] = &ffi_type_float;
63
63
  cls_struct_fields[2] = NULL;
@@ -50,15 +50,15 @@ int main (void)
50
50
  ffi_type cls_struct_type;
51
51
  ffi_type* dbl_arg_types[3];
52
52
 
53
+ struct cls_struct_9byte h_dbl = { 7, 8.0};
54
+ struct cls_struct_9byte j_dbl = { 1, 9.0};
55
+ struct cls_struct_9byte res_dbl;
56
+
53
57
  cls_struct_type.size = 0;
54
58
  cls_struct_type.alignment = 0;
55
59
  cls_struct_type.type = FFI_TYPE_STRUCT;
56
60
  cls_struct_type.elements = cls_struct_fields;
57
61
 
58
- struct cls_struct_9byte h_dbl = { 7, 8.0};
59
- struct cls_struct_9byte j_dbl = { 1, 9.0};
60
- struct cls_struct_9byte res_dbl;
61
-
62
62
  cls_struct_fields[0] = &ffi_type_sint;
63
63
  cls_struct_fields[1] = &ffi_type_double;
64
64
  cls_struct_fields[2] = NULL;
@@ -50,15 +50,15 @@ int main (void)
50
50
  ffi_type cls_struct_type;
51
51
  ffi_type* dbl_arg_types[3];
52
52
 
53
+ struct cls_struct_9byte h_dbl = { 7.0, 8};
54
+ struct cls_struct_9byte j_dbl = { 1.0, 9};
55
+ struct cls_struct_9byte res_dbl;
56
+
53
57
  cls_struct_type.size = 0;
54
58
  cls_struct_type.alignment = 0;
55
59
  cls_struct_type.type = FFI_TYPE_STRUCT;
56
60
  cls_struct_type.elements = cls_struct_fields;
57
61
 
58
- struct cls_struct_9byte h_dbl = { 7.0, 8};
59
- struct cls_struct_9byte j_dbl = { 1.0, 9};
60
- struct cls_struct_9byte res_dbl;
61
-
62
62
  cls_struct_fields[0] = &ffi_type_double;
63
63
  cls_struct_fields[1] = &ffi_type_sint;
64
64
  cls_struct_fields[2] = NULL;
@@ -52,15 +52,15 @@ int main (void)
52
52
  ffi_type cls_struct_type;
53
53
  ffi_type* dbl_arg_types[5];
54
54
 
55
+ struct cls_struct_align g_dbl = { 12, 4951, 127 };
56
+ struct cls_struct_align f_dbl = { 1, 9320, 13 };
57
+ struct cls_struct_align res_dbl;
58
+
55
59
  cls_struct_type.size = 0;
56
60
  cls_struct_type.alignment = 0;
57
61
  cls_struct_type.type = FFI_TYPE_STRUCT;
58
62
  cls_struct_type.elements = cls_struct_fields;
59
63
 
60
- struct cls_struct_align g_dbl = { 12, 4951, 127 };
61
- struct cls_struct_align f_dbl = { 1, 9320, 13 };
62
- struct cls_struct_align res_dbl;
63
-
64
64
  cls_struct_fields[0] = &ffi_type_uchar;
65
65
  cls_struct_fields[1] = &ffi_type_double;
66
66
  cls_struct_fields[2] = &ffi_type_uchar;