1f08c3bdfSopenharmony_ci#include "symbol.h"
2f08c3bdfSopenharmony_ci#include "target.h"
3f08c3bdfSopenharmony_ci#include "machine.h"
4f08c3bdfSopenharmony_ci
5f08c3bdfSopenharmony_ci
6f08c3bdfSopenharmony_cistatic void init_xtensa(const struct target *self)
7f08c3bdfSopenharmony_ci{
8f08c3bdfSopenharmony_ci	fast16_ctype = &int_ctype;
9f08c3bdfSopenharmony_ci	ufast16_ctype = &uint_ctype;
10f08c3bdfSopenharmony_ci	fast32_ctype = &int_ctype;
11f08c3bdfSopenharmony_ci	ufast32_ctype = &uint_ctype;
12f08c3bdfSopenharmony_ci
13f08c3bdfSopenharmony_ci	wchar_ctype = &long_ctype;
14f08c3bdfSopenharmony_ci}
15f08c3bdfSopenharmony_ci
16f08c3bdfSopenharmony_cistatic void predefine_xtensa(const struct target *self)
17f08c3bdfSopenharmony_ci{
18f08c3bdfSopenharmony_ci	predefine("__XTENSA__", 1, "1");
19f08c3bdfSopenharmony_ci	predefine("__xtensa__", 1, "1");
20f08c3bdfSopenharmony_ci}
21f08c3bdfSopenharmony_ci
22f08c3bdfSopenharmony_ciconst struct target target_xtensa = {
23f08c3bdfSopenharmony_ci	.mach = MACH_XTENSA,
24f08c3bdfSopenharmony_ci	.bitness = ARCH_LP32,
25f08c3bdfSopenharmony_ci	.big_endian = true,
26f08c3bdfSopenharmony_ci
27f08c3bdfSopenharmony_ci	.bits_in_longdouble = 64,
28f08c3bdfSopenharmony_ci
29f08c3bdfSopenharmony_ci	.init = init_xtensa,
30f08c3bdfSopenharmony_ci	.predefine = predefine_xtensa,
31f08c3bdfSopenharmony_ci};
32