From e98aa3caa114133080e4e1668bfa4c828d5c42bf Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Sun, 7 Nov 2010 08:28:31 +0100
Subject: 1st fixes for new gluegen

---
 resources/stubs_includes/common/stdint.h | 45 ++++++++++++++++----------------
 1 file changed, 23 insertions(+), 22 deletions(-)

(limited to 'resources/stubs_includes/common/stdint.h')

diff --git a/resources/stubs_includes/common/stdint.h b/resources/stubs_includes/common/stdint.h
index d6a5dd23..4e456608 100644
--- a/resources/stubs_includes/common/stdint.h
+++ b/resources/stubs_includes/common/stdint.h
@@ -1,22 +1,30 @@
+#ifndef __stdint_h_
+#define __stdint_h_
 
-#if defined(_WIN32)
-    #error windows does not support stdint.h
-    // typedef signed   __int32 int32_t;
-    // typedef unsigned __int32 uint32_t;
-    // typedef signed   __int64 int64_t;
-    // typedef unsigned __int64 uint64_t;
-#else
+    /**
+     * Look in the GlueGen.java API documentation for the build-in types (terminal symbols) 
+     * definition.
+     * 
+     * The following types are build-in:
+     *
+     * __int32
+     * int32_t
+     * uint32_t
+     * __int64
+     * int64_t
+     * uint64_t
+     * ptrdiff_t
+     * size_t
+     */
 
     typedef signed   char     int8_t;
     typedef unsigned short    int16_t;
-    typedef          int      int32_t;
 
     typedef unsigned char     uint8_t;
     typedef unsigned short    uint16_t;
-    typedef unsigned int      uint32_t;
 
-    typedef          long     intptr_t;
-    typedef unsigned long     uintptr_t;
+    typedef ptrdiff_t         intptr_t;
+    typedef size_t            uintptr_t;
 
     /* Greatest-width integer types */
     /* Modern GCCs provide __INTMAX_TYPE__ */
@@ -25,23 +33,16 @@
     #elif __have_longlong64
       typedef signed long long intmax_t;
     #else
-      typedef signed long intmax_t;
+      typedef int64_t          intmax_t;
     #endif
 
     /* Modern GCCs provide __UINTMAX_TYPE__ */
     #if defined(__UINTMAX_TYPE__)
-      typedef __UINTMAX_TYPE__ uintmax_t;
+      typedef __UINTMAX_TYPE__   uintmax_t;
     #elif __have_longlong64
       typedef unsigned long long uintmax_t;
     #else
-      typedef unsigned long uintmax_t;
+      typedef uint64_t           uintmax_t;
     #endif
 
-    #if defined(__ia64__) || defined(__x86_64__)
-        typedef signed   long int  int64_t;
-        typedef unsigned long int uint64_t;
-    #else
-        typedef signed   long long int  int64_t;
-        typedef unsigned long long int uint64_t;
-    #endif
-#endif
+#endif /*  __stdint_h_ */
-- 
cgit v1.2.3