1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #ifndef PMIX_STDINT_H
30 #define PMIX_STDINT_H 1
31
32 #include "pmix_config.h"
33
34
35
36
37 #include <limits.h>
38 #include <stdint.h>
39
40 #ifdef HAVE_SYS_TYPES_H
41 #include <sys/types.h>
42 #endif
43
44
45
46 #ifdef HAVE_INT128_T
47
48 typedef int128_t pmix_int128_t;
49 typedef uint128_t pmix_uint128_t;
50
51 #define HAVE_PMIX_INT128_T 1
52
53 #elif defined(HAVE___INT128)
54
55
56 #pragma GCC diagnostic push
57
58
59
60 #if defined(__clang__) || (defined(__GNUC__) && __GNUC__ >= 6)
61 #pragma GCC diagnostic ignored "-Wpedantic"
62 #else
63 #pragma GCC diagnostic ignored "-pedantic"
64 #endif
65 typedef __int128 pmix_int128_t;
66 typedef unsigned __int128 pmix_uint128_t;
67 #pragma GCC diagnostic pop
68
69 #define HAVE_PMIX_INT128_T 1
70
71 #else
72
73 #define HAVE_PMIX_INT128_T 0
74
75 #endif
76
77
78
79 #if SIZEOF_VOID_P == SIZEOF_INT
80
81 #ifndef HAVE_INTPTR_T
82 typedef signed int intptr_t;
83 #endif
84
85 #ifndef HAVE_UINTPTR_T
86 typedef unsigned int uintptr_t;
87 #endif
88
89 #elif SIZEOF_VOID_P == SIZEOF_LONG
90
91 #ifndef HAVE_INTPTR_T
92 typedef signed long intptr_t;
93 #endif
94
95 #ifndef HAVE_UINTPTR_T
96 typedef unsigned long uintptr_t;
97 #endif
98
99 #elif HAVE_LONG_LONG && SIZEOF_VOID_P == SIZEOF_LONG_LONG
100
101 #ifndef HAVE_INTPTR_T
102 typedef signed long long intptr_t;
103 #endif
104 #ifndef HAVE_UINTPTR_T
105 typedef unsigned long long uintptr_t;
106 #endif
107
108 #else
109
110 #error Failed to define pointer-sized integer types
111
112 #endif
113
114
115 # include <inttypes.h>
116
117 #ifndef PRIsize_t
118 # if defined(ACCEPT_C99)
119 # define PRIsize_t "zu"
120 # elif SIZEOF_SIZE_T == SIZEOF_LONG
121 # define PRIsize_t "lu"
122 # elif SIZEOF_SIZE_T == SIZEOF_LONG_LONG
123 # define PRIsize_t "llu"
124 # else
125 # define PRIsize_t "u"
126 # endif
127 #endif
128
129 #endif
130