summaryrefslogtreecommitdiff
path: root/libffi/include
diff options
context:
space:
mode:
authorgreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2009-12-26 04:59:25 +0000
committergreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2009-12-26 04:59:25 +0000
commitda4f8cce978e83019b627e76c157dd06ae3823db (patch)
treebdb1509b9afa7e4407e279f35b11ca4940a86ac1 /libffi/include
parent2a06dfe674a9083a728af2fbf0d3d7f0f839672c (diff)
downloadgcc-da4f8cce978e83019b627e76c157dd06ae3823db.tar.gz
IRIX support
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155470 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libffi/include')
-rw-r--r--libffi/include/ffi.h.in4
-rw-r--r--libffi/include/ffi_common.h8
2 files changed, 11 insertions, 1 deletions
diff --git a/libffi/include/ffi.h.in b/libffi/include/ffi.h.in
index a06d626c2d7..32f610323b4 100644
--- a/libffi/include/ffi.h.in
+++ b/libffi/include/ffi.h.in
@@ -256,7 +256,11 @@ typedef struct {
ffi_cif *cif;
void (*fun)(ffi_cif*,void*,void**,void*);
void *user_data;
+#ifdef __GNUC__
} ffi_closure __attribute__((aligned (8)));
+#else
+} ffi_closure;
+#endif
void *ffi_closure_alloc (size_t size, void **code);
void ffi_closure_free (void *);
diff --git a/libffi/include/ffi_common.h b/libffi/include/ffi_common.h
index 16c5f8859f7..42cace91502 100644
--- a/libffi/include/ffi_common.h
+++ b/libffi/include/ffi_common.h
@@ -84,15 +84,21 @@ typedef struct
} extended_cif;
/* Terse sized type definitions. */
-#ifdef _MSC_VER
+#if defined(_MSC_VER) || defined(__sgi)
typedef unsigned char UINT8;
typedef signed char SINT8;
typedef unsigned short UINT16;
typedef signed short SINT16;
typedef unsigned int UINT32;
typedef signed int SINT32;
+# ifdef _MSC_VER
typedef unsigned __int64 UINT64;
typedef signed __int64 SINT64;
+# else
+# include <inttypes.h>
+typedef uint64_t UINT64;
+typedef int64_t SINT64;
+# endif
#else
typedef unsigned int UINT8 __attribute__((__mode__(__QI__)));
typedef signed int SINT8 __attribute__((__mode__(__QI__)));