1 /* ===-- int_lib.h - configuration header for compiler-rt -----------------===
3 * The LLVM Compiler Infrastructure
5 * This file is dual licensed under the MIT and the University of Illinois Open
6 * Source Licenses. See LICENSE.TXT for details.
8 * ===----------------------------------------------------------------------===
10 * This file is not part of the interface of this library.
12 * This file defines various standard types, most importantly a number of unions
13 * used to access parts of larger types.
15 * ===----------------------------------------------------------------------===
21 #include "int_endianness.h"
24 typedef unsigned su_int
;
26 typedef long long di_int
;
27 typedef unsigned long long du_int
;
34 #if _YUGA_LITTLE_ENDIAN
40 #endif /* _YUGA_LITTLE_ENDIAN */
49 #if _YUGA_LITTLE_ENDIAN
55 #endif /* _YUGA_LITTLE_ENDIAN */
61 typedef int ti_int
__attribute__ ((mode (TI
)));
62 typedef unsigned tu_int
__attribute__ ((mode (TI
)));
69 #if _YUGA_LITTLE_ENDIAN
75 #endif /* _YUGA_LITTLE_ENDIAN */
84 #if _YUGA_LITTLE_ENDIAN
90 #endif /* _YUGA_LITTLE_ENDIAN */
94 static inline ti_int
make_ti(di_int h
, di_int l
) {
101 static inline tu_int
make_tu(du_int h
, du_int l
) {
108 #endif /* __x86_64 */
124 #if _YUGA_LITTLE_ENDIAN
130 #endif /* _YUGA_LITTLE_ENDIAN */
139 #endif /* INT_TYPES_H */