/* -----------------------------------------------------------------*-C-*-
ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
+ Copyright (c) 2010 CodeSourcery
+
Target configuration macros for ARM.
Permission is hereby granted, free of charge, to any person obtaining
typedef enum ffi_abi {
FFI_FIRST_ABI = 0,
FFI_SYSV,
+ FFI_VFP,
FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_SYSV
+#ifdef __ARM_PCS_VFP
+ FFI_DEFAULT_ABI = FFI_VFP,
+#else
+ FFI_DEFAULT_ABI = FFI_SYSV,
+#endif
} ffi_abi;
#endif
+#define FFI_EXTRA_CIF_FIELDS \
+ int vfp_used; \
+ short vfp_reg_free, vfp_nargs; \
+ signed char vfp_args[16] \
+
+/* Internally used. */
+#define FFI_TYPE_STRUCT_VFP_FLOAT (FFI_TYPE_LAST + 1)
+#define FFI_TYPE_STRUCT_VFP_DOUBLE (FFI_TYPE_LAST + 2)
+
/* ---- Definitions for closures ----------------------------------------- */
#define FFI_CLOSURES 1