ffi.c (ffi_call_win32): Add new argument to prototype for specify calling-convention.
authorKai Tietz <ktietz@redhat.com>
Sun, 29 Jan 2012 13:29:53 +0000 (14:29 +0100)
committerKai Tietz <ktietz@gcc.gnu.org>
Sun, 29 Jan 2012 13:29:53 +0000 (14:29 +0100)
commit9b850dd969cf8394b68743dd5bc115c662f0725a
tree07d8149ae6b2c61efbc0e6687a4213386743e439
parentae98156eaefcf5818bd20f17ed333eb42472b157
ffi.c (ffi_call_win32): Add new argument to prototype for specify calling-convention.

        * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
        argument to prototype for specify calling-convention.
        (ffi_call): Add support for stdcall/thiscall convention.
        (ffi_prep_args): Likewise.
        (ffi_raw_call): Likewise.
        * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
        FFI_FASTCALL.
        * src/x86/win32.S (_ffi_call_win32): Add support for
        fastcall/thiscall calling-convention calls.
        * testsuite/libffi.call/fastthis1_win32.c: New test.
        * testsuite/libffi.call/fastthis2_win32.c: New test.
        * testsuite/libffi.call/fastthis3_win32.c: New test.
        * testsuite/libffi.call/strlen2_win32.c: New test.
        * testsuite/libffi.call/many2_win32.c: New test.
        * testsuite/libffi.call/struct1_win32.c: New test.
        * testsuite/libffi.call/struct2_win32.c: New test.

From-SVN: r183676
libffi/ChangeLog
libffi/src/x86/ffi.c
libffi/src/x86/ffitarget.h
libffi/src/x86/win32.S
libffi/testsuite/libffi.call/fastthis1_win32.c [new file with mode: 0644]
libffi/testsuite/libffi.call/fastthis2_win32.c [new file with mode: 0644]
libffi/testsuite/libffi.call/fastthis3_win32.c [new file with mode: 0644]
libffi/testsuite/libffi.call/many2_win32.c [new file with mode: 0644]
libffi/testsuite/libffi.call/strlen2_win32.c [new file with mode: 0644]
libffi/testsuite/libffi.call/struct1_win32.c [new file with mode: 0644]
libffi/testsuite/libffi.call/struct2_win32.c [new file with mode: 0644]