ffi 1.9.18 → 1.9.21
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.
- checksums.yaml +4 -4
- data/README.md +3 -2
- data/Rakefile +14 -3
- data/ext/ffi_c/AbstractMemory.c +6 -1
- data/ext/ffi_c/Platform.c +10 -2
- data/ext/ffi_c/extconf.rb +7 -2
- data/ext/ffi_c/libffi.bsd.mk +9 -3
- data/ext/ffi_c/libffi.darwin.mk +14 -4
- data/ext/ffi_c/libffi.gnu.mk +2 -1
- data/ext/ffi_c/libffi.mk +9 -4
- data/ext/ffi_c/libffi/ChangeLog.libffi +2 -2
- data/ext/ffi_c/libffi/{ChangeLog → ChangeLog.libffi-3.1} +1402 -2
- data/ext/ffi_c/libffi/ChangeLog.v1 +1 -1
- data/ext/ffi_c/libffi/LICENSE +1 -1
- data/ext/ffi_c/libffi/Makefile.am +166 -157
- data/ext/ffi_c/libffi/README +164 -52
- data/ext/ffi_c/libffi/acinclude.m4 +381 -0
- data/ext/ffi_c/libffi/autogen.sh +2 -0
- data/ext/ffi_c/libffi/configure.ac +148 -256
- data/ext/ffi_c/libffi/configure.host +265 -4
- data/ext/ffi_c/libffi/doc/Makefile.am +3 -0
- data/ext/ffi_c/libffi/doc/libffi.texi +430 -45
- data/ext/ffi_c/libffi/doc/version.texi +4 -4
- data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +207 -0
- data/ext/ffi_c/libffi/include/Makefile.am +3 -3
- data/ext/ffi_c/libffi/include/ffi.h.in +107 -50
- data/ext/ffi_c/libffi/include/ffi_cfi.h +55 -0
- data/ext/ffi_c/libffi/include/ffi_common.h +32 -11
- data/ext/ffi_c/libffi/libffi.map.in +80 -0
- data/ext/ffi_c/libffi/libffi.pc.in +3 -2
- data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +637 -0
- data/ext/ffi_c/libffi/libtool-ldflags +106 -0
- data/ext/ffi_c/libffi/libtool-version +1 -1
- data/ext/ffi_c/libffi/m4/asmcfi.m4 +13 -0
- data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +69 -0
- data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +13 -8
- data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +31 -104
- data/ext/ffi_c/libffi/m4/{ax_check_compiler_flags.m4 → ax_check_compile_flag.m4} +30 -34
- data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +32 -11
- data/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +6 -5
- data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +31 -21
- data/ext/ffi_c/libffi/man/Makefile.am +2 -2
- data/ext/ffi_c/libffi/man/ffi.3 +10 -0
- data/ext/ffi_c/libffi/man/ffi_prep_cif.3 +6 -4
- data/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +73 -0
- data/ext/ffi_c/libffi/msvcc.sh +72 -9
- data/ext/ffi_c/libffi/src/aarch64/ffi.c +941 -0
- data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +81 -0
- data/ext/ffi_c/libffi/src/aarch64/internal.h +67 -0
- data/ext/ffi_c/libffi/src/aarch64/sysv.S +438 -0
- data/ext/ffi_c/libffi/src/alpha/ffi.c +335 -98
- data/ext/ffi_c/libffi/src/alpha/ffitarget.h +10 -1
- data/ext/ffi_c/libffi/src/alpha/internal.h +23 -0
- data/ext/ffi_c/libffi/src/alpha/osf.S +161 -266
- data/ext/ffi_c/libffi/src/arc/arcompact.S +135 -0
- data/ext/ffi_c/libffi/src/arc/ffi.c +266 -0
- data/ext/ffi_c/libffi/src/arc/ffitarget.h +53 -0
- data/ext/ffi_c/libffi/src/arm/ffi.c +597 -517
- data/ext/ffi_c/libffi/src/arm/ffitarget.h +24 -7
- data/ext/ffi_c/libffi/src/arm/internal.h +7 -0
- data/ext/ffi_c/libffi/src/arm/sysv.S +303 -417
- data/ext/ffi_c/libffi/src/avr32/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/bfin/ffi.c +196 -0
- data/ext/ffi_c/libffi/src/bfin/ffitarget.h +43 -0
- data/ext/ffi_c/libffi/src/bfin/sysv.S +179 -0
- data/ext/ffi_c/libffi/src/closures.c +319 -44
- data/ext/ffi_c/libffi/src/cris/ffi.c +10 -7
- data/ext/ffi_c/libffi/src/cris/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/debug.c +6 -1
- data/ext/ffi_c/libffi/src/dlmalloc.c +16 -11
- data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
- data/ext/ffi_c/libffi/src/frv/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/ia64/ffi.c +11 -7
- data/ext/ffi_c/libffi/src/ia64/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/java_raw_api.c +23 -5
- data/ext/ffi_c/libffi/src/m32r/ffi.c +1 -1
- data/ext/ffi_c/libffi/src/m32r/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/m68k/ffi.c +87 -13
- data/ext/ffi_c/libffi/src/m68k/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/m68k/sysv.S +119 -32
- data/ext/ffi_c/libffi/src/m88k/ffi.c +400 -0
- data/ext/ffi_c/libffi/src/m88k/ffitarget.h +49 -0
- data/ext/ffi_c/libffi/src/m88k/obsd.S +209 -0
- data/ext/ffi_c/libffi/src/metag/ffi.c +330 -0
- data/ext/ffi_c/libffi/{fficonfig.hw → src/metag/ffitarget.h} +22 -26
- data/ext/ffi_c/libffi/src/metag/sysv.S +311 -0
- data/ext/ffi_c/libffi/src/microblaze/ffi.c +321 -0
- data/ext/ffi_c/libffi/src/microblaze/ffitarget.h +53 -0
- data/ext/ffi_c/libffi/src/microblaze/sysv.S +302 -0
- data/ext/ffi_c/libffi/src/mips/ffi.c +95 -28
- data/ext/ffi_c/libffi/src/mips/ffitarget.h +9 -2
- data/ext/ffi_c/libffi/src/mips/n32.S +126 -56
- data/ext/ffi_c/libffi/src/mips/o32.S +148 -27
- data/ext/ffi_c/libffi/src/moxie/eabi.S +55 -82
- data/ext/ffi_c/libffi/src/moxie/ffi.c +40 -44
- data/ext/ffi_c/libffi/src/moxie/ffitarget.h +52 -0
- data/ext/ffi_c/libffi/src/nios2/ffi.c +304 -0
- data/ext/ffi_c/libffi/src/nios2/ffitarget.h +52 -0
- data/ext/ffi_c/libffi/src/nios2/sysv.S +136 -0
- data/ext/ffi_c/libffi/src/or1k/ffi.c +328 -0
- data/ext/ffi_c/libffi/src/or1k/ffitarget.h +58 -0
- data/ext/ffi_c/libffi/src/or1k/sysv.S +107 -0
- data/ext/ffi_c/libffi/src/pa/ffitarget.h +8 -1
- data/ext/ffi_c/libffi/src/powerpc/aix.S +6 -6
- data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +3 -1
- data/ext/ffi_c/libffi/src/powerpc/asm.h +2 -2
- data/ext/ffi_c/libffi/src/powerpc/darwin.S +2 -7
- data/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +22 -26
- data/ext/ffi_c/libffi/src/powerpc/ffi.c +103 -1378
- data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +25 -25
- data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +945 -0
- data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +94 -0
- data/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +923 -0
- data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +100 -44
- data/ext/ffi_c/libffi/src/powerpc/linux64.S +100 -59
- data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +360 -108
- data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +138 -68
- data/ext/ffi_c/libffi/src/powerpc/sysv.S +68 -112
- data/ext/ffi_c/libffi/src/prep_cif.c +108 -24
- data/ext/ffi_c/libffi/src/raw_api.c +18 -5
- data/ext/ffi_c/libffi/src/s390/ffi.c +294 -318
- data/ext/ffi_c/libffi/src/s390/ffitarget.h +9 -1
- data/ext/ffi_c/libffi/src/s390/internal.h +11 -0
- data/ext/ffi_c/libffi/src/s390/sysv.S +257 -366
- data/ext/ffi_c/libffi/src/sh/ffi.c +4 -3
- data/ext/ffi_c/libffi/src/sh/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/sh64/ffi.c +3 -2
- data/ext/ffi_c/libffi/src/sh64/ffitarget.h +6 -1
- data/ext/ffi_c/libffi/src/sparc/ffi.c +326 -527
- data/ext/ffi_c/libffi/src/sparc/ffi64.c +608 -0
- data/ext/ffi_c/libffi/src/sparc/ffitarget.h +20 -7
- data/ext/ffi_c/libffi/src/sparc/internal.h +26 -0
- data/ext/ffi_c/libffi/src/sparc/v8.S +364 -234
- data/ext/ffi_c/libffi/src/sparc/v9.S +340 -207
- data/ext/ffi_c/libffi/src/tile/ffi.c +355 -0
- data/ext/ffi_c/libffi/src/tile/ffitarget.h +65 -0
- data/ext/ffi_c/libffi/src/tile/tile.S +360 -0
- data/ext/ffi_c/libffi/src/types.c +43 -14
- data/ext/ffi_c/libffi/src/vax/elfbsd.S +195 -0
- data/ext/ffi_c/libffi/src/vax/ffi.c +276 -0
- data/ext/ffi_c/libffi/src/vax/ffitarget.h +49 -0
- data/ext/ffi_c/libffi/src/x86/asmnames.h +30 -0
- data/ext/ffi_c/libffi/src/x86/ffi.c +589 -500
- data/ext/ffi_c/libffi/src/x86/ffi64.c +338 -116
- data/ext/ffi_c/libffi/src/x86/ffitarget.h +55 -35
- data/ext/ffi_c/libffi/src/x86/ffiw64.c +287 -0
- data/ext/ffi_c/libffi/src/x86/internal.h +29 -0
- data/ext/ffi_c/libffi/src/x86/internal64.h +22 -0
- data/ext/ffi_c/libffi/src/x86/sysv.S +975 -400
- data/ext/ffi_c/libffi/src/x86/unix64.S +398 -299
- data/ext/ffi_c/libffi/src/x86/win64.S +222 -458
- data/ext/ffi_c/libffi/src/x86/win64_intel.S +237 -0
- data/ext/ffi_c/libffi/src/xtensa/ffi.c +298 -0
- data/ext/ffi_c/libffi/src/xtensa/ffitarget.h +53 -0
- data/ext/ffi_c/libffi/src/xtensa/sysv.S +253 -0
- data/ext/ffi_c/libffi/stamp-h.in +1 -0
- data/ext/ffi_c/libffi/testsuite/Makefile.am +78 -73
- data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +120 -25
- data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +21 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +46 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +4 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/{closure_stdcall.c → closure_simple.c} +7 -16
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +4 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +4 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +10 -9
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +3 -3
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +10 -9
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c +70 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_float_double.c +55 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +11 -9
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c +114 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c +44 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c +45 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c +45 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c +44 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +2 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +23 -40
- data/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +3 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +6 -4
- data/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +4 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +107 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +18 -19
- data/ext/ffi_c/libffi/testsuite/libffi.call/many.c +6 -16
- data/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +57 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +70 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +78 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +6 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +8 -8
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +6 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c +121 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +6 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +6 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +6 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +46 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +127 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +1 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +7 -7
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +7 -7
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +5 -5
- data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +2 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +49 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +49 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +55 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +9 -7
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +7 -7
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +7 -6
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +9 -8
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +9 -8
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +9 -9
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +9 -9
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +9 -8
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +9 -8
- data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +2 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +61 -0
- data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest.cc +3 -10
- data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest_ffi_call.cc +2 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +196 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +121 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +123 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +125 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +91 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +42 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +71 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +80 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +16 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/{libffi.special/special.exp → libffi.complex/complex.exp} +9 -8
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +51 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +7 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +7 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +7 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +86 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +1 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +78 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +37 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +41 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +44 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +10 -0
- data/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +34 -0
- data/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +28 -0
- data/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +1 -0
- data/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +36 -0
- data/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +19 -0
- data/ffi.gemspec +2 -2
- data/lib/ffi/enum.rb +124 -0
- data/lib/ffi/library.rb +65 -13
- data/lib/ffi/platform.rb +7 -2
- data/lib/ffi/platform/sparc64-linux/types.conf +102 -0
- data/lib/ffi/platform/x86_64-windows/types.conf +113 -20
- data/lib/ffi/pointer.rb +1 -0
- data/lib/ffi/struct.rb +0 -2
- data/lib/ffi/version.rb +1 -1
- data/spec/ffi/bitmask_spec.rb +575 -0
- data/spec/ffi/fixtures/BitmaskTest.c +51 -0
- data/spec/ffi/rbx/memory_pointer_spec.rb +4 -0
- data/spec/ffi/struct_spec.rb +0 -4
- metadata +143 -51
- data/ext/ffi_c/libffi/Makefile.in +0 -1820
- data/ext/ffi_c/libffi/Makefile.vc +0 -141
- data/ext/ffi_c/libffi/Makefile.vc64 +0 -141
- data/ext/ffi_c/libffi/aclocal.m4 +0 -1873
- data/ext/ffi_c/libffi/build-ios.sh +0 -67
- data/ext/ffi_c/libffi/compile +0 -143
- data/ext/ffi_c/libffi/config.guess +0 -1501
- data/ext/ffi_c/libffi/config.sub +0 -1705
- data/ext/ffi_c/libffi/configure +0 -17191
- data/ext/ffi_c/libffi/depcomp +0 -630
- data/ext/ffi_c/libffi/doc/libffi.info +0 -593
- data/ext/ffi_c/libffi/doc/stamp-vti +0 -4
- data/ext/ffi_c/libffi/fficonfig.h.in +0 -199
- data/ext/ffi_c/libffi/include/Makefile.in +0 -487
- data/ext/ffi_c/libffi/include/ffi.h.vc +0 -427
- data/ext/ffi_c/libffi/include/ffi.h.vc64 +0 -427
- data/ext/ffi_c/libffi/install-sh +0 -520
- data/ext/ffi_c/libffi/ltmain.sh +0 -9636
- data/ext/ffi_c/libffi/m4/libtool.m4 +0 -7831
- data/ext/ffi_c/libffi/m4/ltoptions.m4 +0 -369
- data/ext/ffi_c/libffi/m4/ltsugar.m4 +0 -123
- data/ext/ffi_c/libffi/m4/ltversion.m4 +0 -23
- data/ext/ffi_c/libffi/m4/lt~obsolete.m4 +0 -98
- data/ext/ffi_c/libffi/man/Makefile.in +0 -466
- data/ext/ffi_c/libffi/mdate-sh +0 -201
- data/ext/ffi_c/libffi/missing +0 -376
- data/ext/ffi_c/libffi/src/arm/gentramp.sh +0 -118
- data/ext/ffi_c/libffi/src/arm/trampoline.S +0 -4450
- data/ext/ffi_c/libffi/src/x86/darwin.S +0 -444
- data/ext/ffi_c/libffi/src/x86/darwin64.S +0 -416
- data/ext/ffi_c/libffi/src/x86/freebsd.S +0 -458
- data/ext/ffi_c/libffi/src/x86/win32.S +0 -1065
- data/ext/ffi_c/libffi/testsuite/Makefile.in +0 -500
- data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +0 -300
- data/ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c +0 -63
- data/ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c +0 -44
- data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +0 -96
- data/ext/ffi_c/libffi/texinfo.tex +0 -7210
@@ -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;
|