summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch')
-rw-r--r--dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch b/dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch
new file mode 100644
index 000000000..911edcc79
--- /dev/null
+++ b/dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch
@@ -0,0 +1,75 @@
+diff -r d6d89bbc08e5 -r 692b7872324b include/squirrel.h
+--- a/include/squirrel.h Thu Feb 11 15:08:35 2010 -0500
++++ b/include/squirrel.h Sat Feb 13 01:04:21 2010 -0500
+@@ -39,28 +39,22 @@
+ #define SQUIRREL_API extern
+ #endif
+
+-#if (defined(_WIN64) || defined(_LP64))
+-#define _SQ64
+-#endif
++/* Get uintptr_t from a non standard or standard location */
++#ifdef _MSC_VER
++#include <stddef.h>
+
+-#ifdef _SQ64
+-#ifdef _MSC_VER
+-typedef __int64 SQInteger;
+-typedef unsigned __int64 SQUnsignedInteger;
+-typedef unsigned __int64 SQHash; /*should be the same size of a pointer*/
+-#else
+-typedef long SQInteger;
+-typedef unsigned long SQUnsignedInteger;
+-typedef unsigned long SQHash; /*should be the same size of a pointer*/
+-#endif
+-typedef int SQInt32;
+-#else
+-typedef int SQInteger;
+-typedef int SQInt32; /*must be 32 bits(also on 64bits processors)*/
+-typedef unsigned int SQUnsignedInteger;
+-typedef unsigned int SQHash; /*should be the same size of a pointer*/
+-#endif
++typedef __int32 SQInt32;
++typedef __int64 SQInt64;
++#else /* _MSC_VER */
++#include <stdint.h>
+
++typedef int32_t SQInt32;
++typedef int64_t SQInt64;
++#endif /* _MSC_VER */
++
++typedef intptr_t SQInteger;
++typedef uintptr_t SQUnsignedInteger;
++typedef uintptr_t SQHash;
+
+ #ifdef SQUSEDOUBLE
+ typedef double SQFloat;
+@@ -68,12 +62,8 @@
+ typedef float SQFloat;
+ #endif
+
+-#if defined(SQUSEDOUBLE) && !defined(_SQ64)
+-#ifdef _MSC_VER
+-typedef __int64 SQRawObjectVal; //must be 64bits
+-#else
+-typedef long SQRawObjectVal; //must be 64bits
+-#endif
++#if defined(SQUSEDOUBLE)
++typedef SQInt64 SQRawObjectVal; /* must be 64 bits */
+ #define SQ_OBJECT_RAWINIT() { _unVal.raw = 0; }
+ #else
+ typedef SQUnsignedInteger SQRawObjectVal; //is 32 bits on 32 bits builds and 64 bits otherwise
+@@ -453,4 +443,13 @@
+ } /*extern "C"*/
+ #endif
+
++/*
++ Define for code which depends on squirrel to
++ determine bitiness. IMO, this should be discouraged.
++ --ohnobinki
++*/
++#if (defined(_WIN64) || defined(_LP64))
++#define _SQ64
++#endif
++
+ #endif /*_SQUIRREL_H_*/