mescc: Add INTn_MIN/MAX defines to stdint.h.
authorPeter De Wachter <pdewacht@gmail.com>
Tue, 16 Oct 2018 18:40:41 +0000 (20:40 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Tue, 16 Oct 2018 18:40:41 +0000 (20:40 +0200)
* include/stdint.h: Add INTn_MIN/MAX defines.  Move integere size
defines from limits.h
* include/limits.h: Include it.

include/limits.h
include/stdint.h

index 4e79c5b0d17f3761474c9ad1b627ea9be6093aef..6cc6e307034d0fbb4e9f65c45b5c39b203157de1 100644 (file)
 
 #else // ! WITH_GLIBC
 
-#define CHAR_BIT 8
-#define UCHAR_MAX 255
-#define CHAR_MAX 255
-#define UINT_MAX 4294967295U
-#define ULONG_MAX 4294967295U
-#define INT_MIN -2147483648
-#define INT_MAX 2147483647
+#include <stdint.h>
+
 #define MB_CUR_MAX 1
-#define LONG_MIN -2147483648
-#define LONG_MAX 2147483647
-#define _POSIX_OPEN_MAX 16
-#define PATH_MAX 512
 #define NAME_MAX 255
+#define PATH_MAX 512
+#define _POSIX_OPEN_MAX 16
 
 #endif // ! WITH_GLIBC
 
index d6fb7d99280a93e9ec0c1b427056cb37752c88db..a7aec03cd339dcba348f2e35be1df0f4c8fbedb3 100644 (file)
@@ -1,6 +1,7 @@
 /* -*-comment-start: "//";comment-end:""-*-
  * GNU Mes --- Maxwell Equations of Software
  * Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+ * Copyright © 2018 Peter De Wachter <pdewacht@gmail.com>
  *
  * This file is part of GNU Mes.
  *
@@ -80,6 +81,40 @@ typedef unsigned* uintptr_t;
 typedef long ptrdiff_t;
 #endif
 
+#define CHAR_BIT 8
+#define CHAR_MAX 255
+#define UCHAR_MAX 255
+
+#define INT8_MAX 127
+#define INT8_MIN (-INT8_MAX-1)
+#define UINT8_MAX 255
+
+#define INT16_MAX 32767
+#define INT16_MIN (-INT16_MAX-1)
+#define UINT16_MAX 65535
+
+#define INT32_MAX 2147483647
+#define INT32_MIN (-INT32_MAX-1)
+#define UINT32_MAX 4294967295U
+
+#define INT64_MAX 9223372036854775807LL
+#define INT64_MIN (-INT64_MAX-1)
+#define UINT64_MAX 18446744073709551615ULL
+
+#define INT_MIN -2147483648
+#define INT_MAX 2147483647
+#if __i386__
+#define LONG_MIN INT_MIN
+#define LONG_MAX INT_MAX
+#define UINT_MAX UINT32_MAX
+#define ULONG_MAX UINT32_MAX
+#elif __x86_64__
+#define LONG_MIN INT64_MIN
+#define LONG_MAX INT64_MAX
+#define UINT_MAX UINT32_MAX
+#define ULONG_MAX UINT64_MAX
+#endif
+
 #endif // ! WITH_GLIBC
 
 #endif // __MES_STDINT_H