summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/include/rtems/_stdint.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libcsupport/include/rtems/_stdint.h')
-rw-r--r--cpukit/libcsupport/include/rtems/_stdint.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/cpukit/libcsupport/include/rtems/_stdint.h b/cpukit/libcsupport/include/rtems/_stdint.h
index 8f2fc180b5..70705055d8 100644
--- a/cpukit/libcsupport/include/rtems/_stdint.h
+++ b/cpukit/libcsupport/include/rtems/_stdint.h
@@ -12,7 +12,12 @@
#ifndef __rtems__stdint_h
#define __rtems__stdint_h
-#ifdef __GNUC__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined(__GNUC__) && (__GNUC__ >= 3 ) \
+ && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ > 2 )
#define __EXP(x) __##x##__
#else
#define __EXP(x) x
@@ -22,50 +27,62 @@
#if __EXP(SCHAR_MAX) == 0x7f
typedef signed char __rtems_int8_t ;
typedef unsigned char __rtems_uint8_t ;
+#define __rtems_int8_t_defined 1
#endif
#if __EXP(INT_MAX) == 0x7fff
typedef signed int __rtems_int16_t;
typedef unsigned int __rtems_uint16_t;
+#define __rtems_int16_t_defined 1
#elif __EXP(SHRT_MAX) == 0x7fff
typedef signed short __rtems_int16_t;
typedef unsigned short __rtems_uint16_t;
+#define __rtems_int16_t_defined 1
#elif __EXP(SCHAR_MAX) == 0x7fff
typedef signed char __rtems_int32_t;
typedef unsigned char __rtems_uint32_t;
+#define __rtems_int16_t_defined 1
#endif
#if __EXP(INT_MAX) == 0x7fffffff
typedef signed int __rtems_int32_t;
typedef unsigned int __rtems_uint32_t;
+#define __rtems_int32_t_defined 1
#elif __EXP(LONG_MAX) == 0x7fffffff
typedef signed long __rtems_int32_t;
typedef unsigned long __rtems_uint32_t;
+#define __rtems_int32_t_defined 1
#define __rtems_long32 1
#elif __EXP(SHRT_MAX) == 0x7fffffff
typedef signed short __rtems_int32_t;
typedef unsigned short __rtems_uint32_t;
+#define __rtems_int32_t_defined 1
#elif __EXP(SCHAR_MAX) == 0x7fffffff
typedef signed char __rtems_int32_t;
typedef unsigned char __rtems_uint32_t;
+#define __rtems_int32_t_defined 1
#endif
#if __EXP(LONG_MAX) == 0x7fffffffffffffff
typedef signed long int __rtems_int64_t;
typedef unsigned long int __rtems_uint64_t;
+#define __rtems_int64_t_defined 1
#define __rtems_long64 1
#elif __EXP(LONG_LONG_MAX) == 0x7fffffffffffffff
typedef signed long int __rtems_int64_t;
typedef unsigned long int __rtems_uint64_t;
+#define __rtems_int64_t_defined 1
#define __rtems_longlong64 1
#elif __EXP(INT_MAX) == 0x7fffffffffffffff
typedef signed int __rtems_int64_t;
typedef unsigned int __rtems_uint64_t;
+#define __rtems_int64_t_defined 1
#endif
#undef __EXP
-typedef signed long intptr_t;
-typedef unsigned long uintptr_t;
+#ifdef __cplusplus
+}
+#endif
#endif /* __rtems__stdint_h */