Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2014-10-09 19:57:50 +0400
committerJeff Johnston <jjohnstn@redhat.com>2014-10-09 19:57:50 +0400
commit50f799240ec354800dd4fe9410807d58f124103a (patch)
treefb148921fe03ab784fc32f8de3d360a795f8b5be /newlib/libc
parent0613efefc722b8cdfcfb47465af684e685fa051b (diff)
2014-10-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/include/stdint.h: Include <sys/_intsup.h>. (__STDINT_EXP): Delete. (__have_long32): Likewise. (__have_long64): Likewise. (__have_longlong64): Likewise. * libc/include/sys/_intsup.h: New file. (__STDINT_EXP): Move from libc/include/stdint.h. (__have_long32): Likewise. (__have_long64): Likewise. (__have_longlong64): Likewise. * libc/include/inttypes.h: Include <sys/_intsup.h>. (__INTTYPES_EXP): Delete and use __STDINT_EXP() instead.
Diffstat (limited to 'newlib/libc')
-rw-r--r--newlib/libc/include/inttypes.h15
-rw-r--r--newlib/libc/include/stdint.h23
-rw-r--r--newlib/libc/include/sys/_intsup.h36
3 files changed, 40 insertions, 34 deletions
diff --git a/newlib/libc/include/inttypes.h b/newlib/libc/include/inttypes.h
index 1631e21c3..2470b09d4 100644
--- a/newlib/libc/include/inttypes.h
+++ b/newlib/libc/include/inttypes.h
@@ -13,20 +13,11 @@
#ifndef _INTTYPES_H
#define _INTTYPES_H
-#include <sys/features.h>
+#include <sys/_intsup.h>
#include <stdint.h>
#define __need_wchar_t
#include <stddef.h>
-/* Don't use __STDINT_EXP test since GCC's stdint.h provides different
- macros than newlib's stdint.h. */
-#if __GNUC_PREREQ(3, 2)
- #define __INTTYPES_EXP(x) __##x##__
-#else
- #define __INTTYPES_EXP(x) x
- #include <limits.h>
-#endif
-
#define __STRINGIFY(a) #a
/* 8-bit types */
@@ -252,10 +243,10 @@
#define SCNxMAX __SCNMAX(x)
/* ptr types */
-#if PTRDIFF_MAX <= __INTTYPES_EXP(INT_MAX)
+#if PTRDIFF_MAX <= __STDINT_EXP(INT_MAX)
# define __PRIPTR(x) __STRINGIFY(x)
# define __SCNPTR(x) __STRINGIFY(x)
-#elif PTRDIFF_MAX <= __INTTYPES_EXP(LONG_MAX) || !defined(__have_longlong64)
+#elif PTRDIFF_MAX <= __STDINT_EXP(LONG_MAX) || !defined(__have_longlong64)
# define __PRIPTR(x) __STRINGIFY(l##x)
# define __SCNPTR(x) __STRINGIFY(l##x)
#else
diff --git a/newlib/libc/include/stdint.h b/newlib/libc/include/stdint.h
index 77431c706..7386164b9 100644
--- a/newlib/libc/include/stdint.h
+++ b/newlib/libc/include/stdint.h
@@ -10,33 +10,12 @@
#define _STDINT_H
#include <machine/_default_types.h>
+#include <sys/_intsup.h>
#ifdef __cplusplus
extern "C" {
#endif
-#if __GNUC_PREREQ (3, 2)
-/* gcc > 3.2 implicitly defines the values we are interested */
-#define __STDINT_EXP(x) __##x##__
-#else
-#define __STDINT_EXP(x) x
-#include <limits.h>
-#endif
-
-/* Check if "long long" is 64bit wide */
-/* Modern GCCs provide __LONG_LONG_MAX__, SUSv3 wants LLONG_MAX */
-#if ( defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff) ) \
- || ( defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff) )
-#define __have_longlong64 1
-#endif
-
-/* Check if "long" is 64bit or 32bit wide */
-#if __STDINT_EXP(LONG_MAX) > 0x7fffffff
-#define __have_long64 1
-#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff && !defined(__SPU__)
-#define __have_long32 1
-#endif
-
#ifdef ___int8_t_defined
typedef __int8_t int8_t ;
typedef __uint8_t uint8_t ;
diff --git a/newlib/libc/include/sys/_intsup.h b/newlib/libc/include/sys/_intsup.h
new file mode 100644
index 000000000..7c3bc01cb
--- /dev/null
+++ b/newlib/libc/include/sys/_intsup.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2004, 2005 by
+ * Ralf Corsepius, Ulm/Germany. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software
+ * is freely granted, provided that this notice is preserved.
+ */
+
+#ifndef _SYS__INTSUP_H
+#define _SYS__INTSUP_H
+
+#include <sys/features.h>
+
+#if __GNUC_PREREQ (3, 2)
+/* gcc > 3.2 implicitly defines the values we are interested */
+#define __STDINT_EXP(x) __##x##__
+#else
+#define __STDINT_EXP(x) x
+#include <limits.h>
+#endif
+
+/* Check if "long long" is 64bit wide */
+/* Modern GCCs provide __LONG_LONG_MAX__, SUSv3 wants LLONG_MAX */
+#if ( defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff) ) \
+ || ( defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff) )
+#define __have_longlong64 1
+#endif
+
+/* Check if "long" is 64bit or 32bit wide */
+#if __STDINT_EXP(LONG_MAX) > 0x7fffffff
+#define __have_long64 1
+#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff && !defined(__SPU__)
+#define __have_long32 1
+#endif
+
+#endif /* _SYS__INTSUP_H */