< prev index next > modules/javafx.media/src/main/native/gstreamer/3rd_party/libffi/include/ffitarget.h
Print this page
/* -----------------------------------------------------------------*-C-*-
! ffitarget.h - Copyright (c) 2012, 2014 Anthony Green
Copyright (c) 1996-2003, 2010 Red Hat, Inc.
Copyright (C) 2008 Free Software Foundation, Inc.
Target configuration macros for x86 and x86-64.
/* -----------------------------------------------------------------*-C-*-
! ffitarget.h - Copyright (c) 2012, 2014, 2018 Anthony Green
Copyright (c) 1996-2003, 2010 Red Hat, Inc.
Copyright (C) 2008 Free Software Foundation, Inc.
Target configuration macros for x86 and x86-64.
#define FFI_SIZEOF_ARG 8
#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
#endif
#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION
! //#define FFI_TARGET_HAS_COMPLEX_TYPE
/* ---- Generic type definitions ----------------------------------------- */
#ifndef LIBFFI_ASM
#ifdef X86_WIN64
#define FFI_SIZEOF_ARG 8
#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
#endif
#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION
! #ifndef _MSC_VER
+ #define FFI_TARGET_HAS_COMPLEX_TYPE
+ #endif
/* ---- Generic type definitions ----------------------------------------- */
#ifndef LIBFFI_ASM
#ifdef X86_WIN64
typedef signed long ffi_sarg;
#endif
#endif
typedef enum ffi_abi {
FFI_FIRST_ABI = 0,
!
! /* ---- Intel x86 Win32 ---------- */
- #ifdef X86_WIN32
- FFI_SYSV,
- FFI_STDCALL,
- FFI_THISCALL,
- FFI_FASTCALL,
- FFI_MS_CDECL,
- FFI_PASCAL,
- FFI_REGISTER,
FFI_LAST_ABI,
! #ifdef _MSC_VER
! FFI_DEFAULT_ABI = FFI_MS_CDECL
#else
! FFI_DEFAULT_ABI = FFI_SYSV
#endif
! #elif defined(X86_WIN64)
FFI_WIN64,
FFI_LAST_ABI,
! FFI_DEFAULT_ABI = FFI_WIN64
#else
! /* ---- Intel x86 and AMD x86-64 - */
! FFI_SYSV,
! FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */
! FFI_THISCALL,
! FFI_FASTCALL,
! FFI_STDCALL,
! FFI_PASCAL,
! FFI_REGISTER,
FFI_LAST_ABI,
- #if defined(__i386__) || defined(__i386)
FFI_DEFAULT_ABI = FFI_SYSV
- #else
- FFI_DEFAULT_ABI = FFI_UNIX64
- #endif
#endif
} ffi_abi;
#endif
/* ---- Definitions for closures ----------------------------------------- */
#define FFI_CLOSURES 1
#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
#define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4)
! #if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
! #define FFI_TRAMPOLINE_SIZE 24
! #define FFI_NATIVE_RAW_API 0
! #else
- #ifdef X86_WIN32
- #define FFI_TRAMPOLINE_SIZE 52
#else
! #ifdef X86_WIN64
! #define FFI_TRAMPOLINE_SIZE 29
- #define FFI_NATIVE_RAW_API 0
- #define FFI_NO_RAW_API 1
- #else
- #define FFI_TRAMPOLINE_SIZE 10
- #endif
- #endif
- #ifndef X86_WIN64
- #define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
- #endif
#endif
#endif
typedef signed long ffi_sarg;
#endif
#endif
typedef enum ffi_abi {
+ #if defined(X86_WIN64)
FFI_FIRST_ABI = 0,
! FFI_WIN64, /* sizeof(long double) == 8 - microsoft compilers */
! FFI_GNUW64, /* sizeof(long double) == 16 - GNU compilers */
FFI_LAST_ABI,
! #ifdef __GNUC__
! FFI_DEFAULT_ABI = FFI_GNUW64
#else
! FFI_DEFAULT_ABI = FFI_WIN64
#endif
! #elif defined(X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
+ FFI_FIRST_ABI = 1,
+ FFI_UNIX64,
FFI_WIN64,
+ FFI_EFI64 = FFI_WIN64,
+ FFI_GNUW64,
FFI_LAST_ABI,
! FFI_DEFAULT_ABI = FFI_UNIX64
+ #elif defined(X86_WIN32)
+ FFI_FIRST_ABI = 0,
+ FFI_SYSV = 1,
+ FFI_STDCALL = 2,
+ FFI_THISCALL = 3,
+ FFI_FASTCALL = 4,
+ FFI_MS_CDECL = 5,
+ FFI_PASCAL = 6,
+ FFI_REGISTER = 7,
+ FFI_LAST_ABI,
+ FFI_DEFAULT_ABI = FFI_MS_CDECL
#else
! FFI_FIRST_ABI = 0,
! FFI_SYSV = 1,
! FFI_THISCALL = 3,
! FFI_FASTCALL = 4,
! FFI_STDCALL = 5,
! FFI_PASCAL = 6,
! FFI_REGISTER = 7,
! FFI_MS_CDECL = 8,
FFI_LAST_ABI,
FFI_DEFAULT_ABI = FFI_SYSV
#endif
} ffi_abi;
#endif
/* ---- Definitions for closures ----------------------------------------- */
#define FFI_CLOSURES 1
+ #define FFI_GO_CLOSURES 1
+
#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
#define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4)
! #if defined (X86_64) || defined(X86_WIN64) \
! || (defined (__x86_64__) && defined (X86_DARWIN))
! # define FFI_TRAMPOLINE_SIZE 24
! # define FFI_NATIVE_RAW_API 0
#else
! # define FFI_TRAMPOLINE_SIZE 12
! # define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
#endif
#endif
< prev index next >