From e98aa3caa114133080e4e1668bfa4c828d5c42bf Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sun, 7 Nov 2010 08:28:31 +0100 Subject: 1st fixes for new gluegen --- resources/stubs_includes/common/stddef.h | 31 +++++++++++++++------- resources/stubs_includes/common/stdint.h | 45 ++++++++++++++++---------------- 2 files changed, 44 insertions(+), 32 deletions(-) (limited to 'resources') diff --git a/resources/stubs_includes/common/stddef.h b/resources/stubs_includes/common/stddef.h index c05f1d44..f6c7207b 100644 --- a/resources/stubs_includes/common/stddef.h +++ b/resources/stubs_includes/common/stddef.h @@ -1,13 +1,24 @@ +#ifndef __stddef_h_ +#define __stddef_h_ -#if defined(_WIN64) - typedef __int64 ptrdiff_t; -#elif defined(__ia64__) || defined(__x86_64__) - typedef long int ptrdiff_t; -#else - typedef int ptrdiff_t; -#endif + /** + * 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 + */ -#define NULL ((void *)0) + #define NULL ((void *)0) -typedef int wchar_t; -typedef unsigned long size_t; \ No newline at end of file + typedef int wchar_t; + +#endif /* __stddef_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