aboutsummaryrefslogtreecommitdiffstats
path: root/make/stub_includes/platform/gluegen_stdint.h
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-07-17 16:34:39 +0200
committerSven Gothel <[email protected]>2011-07-17 16:34:39 +0200
commitf733203dfbd034a6b1aa3eb2cd616437c982c435 (patch)
tree4ace71d4b129870b02f962b714c9dce9f83bc294 /make/stub_includes/platform/gluegen_stdint.h
parentad3dc39ccfddb007c3e91acf454f804573969419 (diff)
GlueGen proper size / alignment of primitive and compound types usage [1/2] - Preparation.
Currently GlueGen fails for type long (size) and some alignments (see package.html). - The size and alignment values shall be queried at runtime. - Compound alignment needs to follow the described natural alignment (also @runtime). - - Build - add Linux Arm7 (EABI) - junit test - added compound/struct tests, pointing out the shortcomings of current impl. - package.html - Added alignment documentation - remove intptr.cfg - add GluGen types int8_t, int16_t, uint8_t, uint16_t - move MachineDescription* into runtime - Platform - has runtime MachineDescription - moved size, .. to MachineDescription - use enums for OSType, CPUArch and CPUType defined by os.name/os.arch, triggering exception if os/arch is not supported. This avoids Java String comparison and conscious os/arch detection. - MachineDescription: - compile time instances MachineDescription32Bits, MachineDescription64Bits - runtime queried instance MachineDescriptionRuntime - correct size, alignment, page size, ..
Diffstat (limited to 'make/stub_includes/platform/gluegen_stdint.h')
-rw-r--r--make/stub_includes/platform/gluegen_stdint.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/make/stub_includes/platform/gluegen_stdint.h b/make/stub_includes/platform/gluegen_stdint.h
index 1dd712b..8b1dbe3 100644
--- a/make/stub_includes/platform/gluegen_stdint.h
+++ b/make/stub_includes/platform/gluegen_stdint.h
@@ -10,14 +10,22 @@
#elif defined(WIN32) && defined(__GNUC__)
#include <stdint.h>
#elif defined(_WIN64)
+ typedef signed char int8_t;
+ typedef unsigned char uint8_t;
+ typedef signed short int16_t;
+ typedef unsigned short uint16_t;
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
- typedef __int64 intptr_t;
- typedef unsigned __int64 uintptr_t;
+ typedef __int64 intptr_t;
+ typedef unsigned __int64 uintptr_t;
#elif defined(_WIN32)
+ typedef signed char int8_t;
+ typedef unsigned char uint8_t;
+ typedef signed short int16_t;
+ typedef unsigned short uint16_t;
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
@@ -26,6 +34,10 @@
typedef __int32 intptr_t;
typedef unsigned __int32 uintptr_t;
#elif defined(__ia64__) || defined(__x86_64__)
+ typedef signed char int8_t;
+ typedef unsigned char uint8_t;
+ typedef signed short int16_t;
+ typedef unsigned short uint16_t;
typedef signed int int32_t;
typedef unsigned int uint32_t;
typedef signed long int64_t;
@@ -34,6 +46,10 @@
typedef long intptr_t;
typedef unsigned long uintptr_t;
#else
+ typedef signed char int8_t;
+ typedef unsigned char uint8_t;
+ typedef signed short int16_t;
+ typedef unsigned short uint16_t;
typedef signed int int32_t;
typedef unsigned int uint32_t;
typedef signed long long int64_t;