1f08c3bdfSopenharmony_ci#include "symbol.h"
2f08c3bdfSopenharmony_ci#include "target.h"
3f08c3bdfSopenharmony_ci#include "machine.h"
4f08c3bdfSopenharmony_ci
5f08c3bdfSopenharmony_ci
6f08c3bdfSopenharmony_cistatic void init_sh(const struct target *self)
7f08c3bdfSopenharmony_ci{
8f08c3bdfSopenharmony_ci	int64_ctype = &llong_ctype;
9f08c3bdfSopenharmony_ci	uint64_ctype = &ullong_ctype;
10f08c3bdfSopenharmony_ci	intptr_ctype = &int_ctype;
11f08c3bdfSopenharmony_ci	uintptr_ctype = &uint_ctype;
12f08c3bdfSopenharmony_ci
13f08c3bdfSopenharmony_ci	fast16_ctype = &int_ctype;
14f08c3bdfSopenharmony_ci	ufast16_ctype = &uint_ctype;
15f08c3bdfSopenharmony_ci	fast32_ctype = &int_ctype;
16f08c3bdfSopenharmony_ci	ufast32_ctype = &uint_ctype;
17f08c3bdfSopenharmony_ci
18f08c3bdfSopenharmony_ci	wchar_ctype = &long_ctype;
19f08c3bdfSopenharmony_ci}
20f08c3bdfSopenharmony_ci
21f08c3bdfSopenharmony_cistatic void predefine_sh(const struct target *self)
22f08c3bdfSopenharmony_ci{
23f08c3bdfSopenharmony_ci	predefine_weak("__SH4__");
24f08c3bdfSopenharmony_ci	predefine_weak("__sh__");
25f08c3bdfSopenharmony_ci}
26f08c3bdfSopenharmony_ci
27f08c3bdfSopenharmony_ciconst struct target target_sh = {
28f08c3bdfSopenharmony_ci	.mach = MACH_SH,
29f08c3bdfSopenharmony_ci	.bitness = ARCH_LP32,
30f08c3bdfSopenharmony_ci	.big_endian = false,
31f08c3bdfSopenharmony_ci
32f08c3bdfSopenharmony_ci	.bits_in_longdouble = 64,
33f08c3bdfSopenharmony_ci
34f08c3bdfSopenharmony_ci	.init = init_sh,
35f08c3bdfSopenharmony_ci	.predefine = predefine_sh,
36f08c3bdfSopenharmony_ci};
37