aboutsummaryrefslogtreecommitdiff
path: root/libffi/include
diff options
context:
space:
mode:
authorFrank Everdij <f.p.x.everdij@tudelft.nl>2009-12-26 05:59:25 +0100
committerAnthony Green <green@gcc.gnu.org>2009-12-26 04:59:25 +0000
commitc4205f77f3c342d9ab243baee0ce4a1003f7c23d (patch)
treebdb1509b9afa7e4407e279f35b11ca4940a86ac1 /libffi/include
parent124f60ab29f46aefdf892a4fcf981e4e292eb08c (diff)
downloadgcc-c4205f77f3c342d9ab243baee0ce4a1003f7c23d.zip
gcc-c4205f77f3c342d9ab243baee0ce4a1003f7c23d.tar.gz
gcc-c4205f77f3c342d9ab243baee0ce4a1003f7c23d.tar.bz2
IRIX support
From-SVN: r155470
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 a06d626..32f6103 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 16c5f88..42cace9 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__)));