7 struct symbol
*size_t_ctype
= &ulong_ctype
;
8 struct symbol
*ssize_t_ctype
= &long_ctype
;
9 struct symbol
*intmax_ctype
= &llong_ctype
;
10 struct symbol
*uintmax_ctype
= &ullong_ctype
;
11 struct symbol
*int64_ctype
= &long_ctype
;
12 struct symbol
*uint64_ctype
= &ulong_ctype
;
13 struct symbol
*int32_ctype
= &int_ctype
;
14 struct symbol
*uint32_ctype
= &uint_ctype
;
15 struct symbol
*wchar_ctype
= &int_ctype
;
16 struct symbol
*wint_ctype
= &uint_ctype
;
19 * For "__attribute__((aligned))"
21 int max_alignment
= 16;
28 int bits_in_short
= 16;
30 int bits_in_long
= 32;
31 int bits_in_longlong
= 64;
32 int bits_in_longlonglong
= 128;
34 int max_int_alignment
= 4;
37 * Floating point data types
39 int bits_in_float
= 32;
40 int bits_in_double
= 64;
41 int bits_in_longdouble
= 128;
43 int max_fp_alignment
= 16;
48 int bits_in_pointer
= 32;
49 int pointer_alignment
= 4;
54 int bits_in_enum
= 32;
55 int enum_alignment
= 4;
58 void init_target(void)
62 if (arch_m64
== ARCH_LP64
)
69 wchar_ctype
= &long_ctype
;
73 wchar_ctype
= &uint_ctype
;
81 if (arch_m64
== ARCH_LP64
)
90 int32_ctype
= &long_ctype
;
91 uint32_ctype
= &ulong_ctype
;
102 bits_in_longdouble
= 64;
103 max_fp_alignment
= 8;
106 if (arch_m64
== ARCH_LP64
|| arch_m64
== ARCH_X32
)
111 bits_in_longdouble
= 96;
112 max_fp_alignment
= 4;
120 max_int_alignment
= 8;
121 int64_ctype
= &llong_ctype
;
122 uint64_ctype
= &ullong_ctype
;
126 int64_ctype
= &llong_ctype
;
127 uint64_ctype
= &ullong_ctype
;
128 intmax_ctype
= &llong_ctype
;
129 uintmax_ctype
= &ullong_ctype
;
133 max_int_alignment
= 8;
134 size_t_ctype
= &ulong_ctype
;
135 ssize_t_ctype
= &long_ctype
;
136 intmax_ctype
= &long_ctype
;
137 uintmax_ctype
= &ulong_ctype
;
138 goto case_64bit_common
;
141 max_int_alignment
= 8;
142 size_t_ctype
= &ullong_ctype
;
143 ssize_t_ctype
= &llong_ctype
;
144 int64_ctype
= &llong_ctype
;
145 uint64_ctype
= &ullong_ctype
;
146 goto case_64bit_common
;
148 bits_in_pointer
= 64;
149 pointer_alignment
= 8;
153 #if defined(__CYGWIN__)
154 wchar_ctype
= &ushort_ctype
;
156 #if defined(__FreeBSD__) || defined(__APPLE__)
157 wint_ctype
= &int_ctype
;
159 #if defined(__APPLE__)
160 int64_ctype
= &llong_ctype
;
161 uint64_ctype
= &ullong_ctype
;