1#include <cstdio>
2#include <cwchar>
3#include <climits>
4
5#if !defined (CHAR_BIT)
6#  error Missing CHAR_BIT definition.
7#endif
8
9#if (CHAR_BIT < 0)
10#  error Weird WCHAR_BIT value.
11#endif
12
13#if !defined (CHAR_MAX)
14#  error Missing CHAR_MAX definition.
15#endif
16
17#if !defined (CHAR_MIN)
18#  error Missing CHAR_MIN definition.
19#endif
20
21#if !(CHAR_MIN < CHAR_MAX)
22#  error Weird CHAR_MIN or CHAR_MAX macro values.
23#endif
24
25#if !defined (INT_MAX)
26#  error Missing INT_MAX definition.
27#endif
28
29#if !defined (INT_MIN)
30#  error Missing INT_MIN definition.
31#endif
32
33#if !(INT_MIN < INT_MAX)
34#  error Weird INT_MIN or INT_MAX macro values.
35#endif
36
37#if !defined (LONG_MAX)
38#  error Missing LONG_MAX definition.
39#endif
40
41#if !defined (LONG_MIN)
42#  error Missing LONG_MIN definition.
43#endif
44
45#if !(LONG_MIN < LONG_MAX)
46#  error Weird LONG_MIN or LONG_MAX macro values.
47#endif
48
49#if !defined (SCHAR_MAX)
50#  error Missing SCHAR_MAX definition.
51#endif
52
53#if !defined (SCHAR_MIN)
54#  error Missing SCHAR_MIN definition.
55#endif
56
57#if !(SCHAR_MIN < SCHAR_MAX)
58#  error Weird SCHAR_MIN or SCHAR_MAX macro values.
59#endif
60
61#if !defined (SHRT_MAX)
62#  error Missing SHRT_MAX definition.
63#endif
64
65#if !defined (SHRT_MIN)
66#  error Missing SHRT_MIN definition.
67#endif
68
69#if !(SHRT_MIN < SHRT_MAX)
70#  error Weird SHRT_MIN or SHRT_MAX macro values.
71#endif
72
73#if !defined (WCHAR_MIN)
74#  error Missing WCHAR_MIN definition.
75#endif
76
77#if !defined (WCHAR_MAX)
78#  error Missing WCHAR_MAX definition.
79#endif
80
81#if !(WCHAR_MIN < WCHAR_MAX)
82#  error Weird WCHAR_MIN or WCHAR_MAX macro value.
83#endif
84
85#if !defined (UCHAR_MAX)
86#  error Missing UCHAR_MAX definition.
87#endif
88
89#if (UCHAR_MAX < 0)
90#  error Weird UCHAR_MAX macro value.
91#endif
92
93#if !defined (UINT_MAX)
94#  error Missing UINT_MAX definition.
95#endif
96
97#if (UINT_MAX < 0)
98#  error Weird UINT_MAX macro value.
99#endif
100
101#if !defined (ULONG_MAX)
102#  error Missing ULONG_MAX definition.
103#endif
104
105#if (ULONG_MAX < 0)
106#  error Weird ULONG_MAX macro value.
107#endif
108
109#if !defined (USHRT_MAX)
110#  error Missing USHRT_MAX definition.
111#endif
112
113#if (USHRT_MAX < 0)
114#  error Weird USHRT_MAX macro value.
115#endif
116