• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // -*- C++ -*-
2 //===---------------------------- stdint.h --------------------------------===//
3 //
4 //                     The LLVM Compiler Infrastructure
5 //
6 // This file is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10 
11 #ifndef _LIBCPP_STDINT_H
12 #define _LIBCPP_STDINT_H
13 
14 /*
15     stdint.h synopsis
16 
17 Macros:
18 
19     INT8_MIN
20     INT16_MIN
21     INT32_MIN
22     INT64_MIN
23 
24     INT8_MAX
25     INT16_MAX
26     INT32_MAX
27     INT64_MAX
28 
29     UINT8_MAX
30     UINT16_MAX
31     UINT32_MAX
32     UINT64_MAX
33 
34     INT_LEAST8_MIN
35     INT_LEAST16_MIN
36     INT_LEAST32_MIN
37     INT_LEAST64_MIN
38 
39     INT_LEAST8_MAX
40     INT_LEAST16_MAX
41     INT_LEAST32_MAX
42     INT_LEAST64_MAX
43 
44     UINT_LEAST8_MAX
45     UINT_LEAST16_MAX
46     UINT_LEAST32_MAX
47     UINT_LEAST64_MAX
48 
49     INT_FAST8_MIN
50     INT_FAST16_MIN
51     INT_FAST32_MIN
52     INT_FAST64_MIN
53 
54     INT_FAST8_MAX
55     INT_FAST16_MAX
56     INT_FAST32_MAX
57     INT_FAST64_MAX
58 
59     UINT_FAST8_MAX
60     UINT_FAST16_MAX
61     UINT_FAST32_MAX
62     UINT_FAST64_MAX
63 
64     INTPTR_MIN
65     INTPTR_MAX
66     UINTPTR_MAX
67 
68     INTMAX_MIN
69     INTMAX_MAX
70 
71     UINTMAX_MAX
72 
73     PTRDIFF_MIN
74     PTRDIFF_MAX
75 
76     SIG_ATOMIC_MIN
77     SIG_ATOMIC_MAX
78 
79     SIZE_MAX
80 
81     WCHAR_MIN
82     WCHAR_MAX
83 
84     WINT_MIN
85     WINT_MAX
86 
87     INT8_C(value)
88     INT16_C(value)
89     INT32_C(value)
90     INT64_C(value)
91 
92     UINT8_C(value)
93     UINT16_C(value)
94     UINT32_C(value)
95     UINT64_C(value)
96 
97     INTMAX_C(value)
98     UINTMAX_C(value)
99 
100 */
101 
102 #include <__config>
103 
104 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
105 #pragma GCC system_header
106 #endif
107 
108 /* C99 stdlib (e.g. glibc < 2.18) does not provide macros needed
109    for C++11 unless __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS
110    are defined
111 */
112 #if defined(__cplusplus) && !defined(__STDC_LIMIT_MACROS)
113 #   define __STDC_LIMIT_MACROS
114 #endif
115 #if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS)
116 #   define __STDC_CONSTANT_MACROS
117 #endif
118 
119 #include_next <stdint.h>
120 
121 #endif  // _LIBCPP_STDINT_H
122