// File: /workspace/github_c_makefile_star2_O1/Oric4ever[P]lcc65/6502/build/../src/types.c
// Function: typeInit
void typeInit() {
#define xx(v,name,op,metrics) { Symbol p = install(string(name), &types, 1); \
	v = p->type = tynode(op, 0, metrics+1?(Generic)p:0); p->addressed = (metrics); \
	assert(v->align == 0 || v->size%v->align == 0); }
	xx(chartype,	  "char",		CHAR,	  CHAR_METRICS);
	xx(doubletype,	  "double",		DOUBLE,	  DOUBLE_METRICS);
	xx(floattype,	  "float",		FLOAT,	  FLOAT_METRICS);
	xx(inttype,	  "int",		INT,	  INT_METRICS);
	xx(longdouble,	  "long double",	DOUBLE,	  DOUBLE_METRICS);
	xx(longtype,	  "long int",		INT,	  INT_METRICS);
	xx(shorttype,	  "short",		SHORT,	  SHORT_METRICS);
	xx(signedchar,	  "signed char",	CHAR,	  CHAR_METRICS);
	xx(unsignedchar,  "unsigned char",	CHAR,	  CHAR_METRICS);
	xx(unsignedlong,  "unsigned long int",	UNSIGNED, INT_METRICS);
	xx(unsignedshort, "unsigned short int",	SHORT,	  SHORT_METRICS);
	xx(unsignedtype,  "unsigned int",	UNSIGNED, INT_METRICS);
	xx(voidtype,	  "void",		VOID,	  VOID_METRICS);
#undef xx

#define xx(v,name,adr) v = install(string(name), &types, 1); v->addressed = (adr);
	xx(pointersym,	"T*",	 POINTER_METRICS);
#undef xx

	voidptype = ptr(voidtype);
	assert(voidptype->align > 0 && voidptype->size%voidptype->align == 0);
	assert(unsignedtype->size >= voidptype->size);
}

// Assembly:
pushq %rbx
leaq 0x9155(%rip), %rdi      # 0x21395
callq 0x16c11
leaq 0x114c4(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x3, %edi
xorl %esi, %esi
movl $0x1, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x19d00(%rip)     # 0x31f80
andb $-0x11, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x1829a
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x187d0
leaq 0x8fe5(%rip), %rdi      # 0x21286
callq 0x16c11
leaq 0x11463(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x2, %edi
xorl %esi, %esi
movl $0x5, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x19ca7(%rip)     # 0x31f88
orb $0x10, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x182fb
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x187ef
leaq 0x7ce5(%rip), %rdi      # 0x1ffe7
callq 0x16c11
leaq 0x11402(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x1, %edi
xorl %esi, %esi
movl $0x5, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x19c4e(%rip)     # 0x31f90
orb $0x10, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x1835c
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x1880e
leaq 0x9140(%rip), %rdi      # 0x214a3
callq 0x16c11
leaq 0x113a1(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x5, %edi
xorl %esi, %esi
movl $0x2, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x19bf5(%rip)     # 0x31f98
andb $-0x11, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x183bd
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x1882d
leaq 0x8ebd(%rip), %rdi      # 0x21281
callq 0x16c11
leaq 0x11340(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x2, %edi
xorl %esi, %esi
movl $0x5, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x19b9c(%rip)     # 0x31fa0
orb $0x10, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x1841e
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x1884c
leaq 0x8fc6(%rip), %rdi      # 0x213eb
callq 0x16c11
leaq 0x112df(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x5, %edi
xorl %esi, %esi
movl $0x2, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x19b43(%rip)     # 0x31fa8
andb $-0x11, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x1847f
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x1886b
leaq 0x7b67(%rip), %rdi      # 0x1ffed
callq 0x16c11
leaq 0x1127e(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x4, %edi
xorl %esi, %esi
movl $0x1, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x19aea(%rip)     # 0x31fb0
andb $-0x11, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x184e0
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x1888a
leaq 0x8ea7(%rip), %rdi      # 0x2138e
callq 0x16c11
leaq 0x1121d(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x3, %edi
xorl %esi, %esi
movl $0x1, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x19a91(%rip)     # 0x31fb8
andb $-0x11, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x18541
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x188a9
leaq 0x8e44(%rip), %rdi      # 0x2138c
callq 0x16c11
leaq 0x111bc(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x3, %edi
xorl %esi, %esi
movl $0x1, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x19a38(%rip)     # 0x31fc0
andb $-0x11, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x185a2
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x188c8
leaq 0x8e39(%rip), %rdi      # 0x213e2
callq 0x16c11
leaq 0x1115b(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x6, %edi
xorl %esi, %esi
movl $0x2, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x199df(%rip)     # 0x31fc8
andb $-0x11, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x18603
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x188e7
leaq 0x8e32(%rip), %rdi      # 0x2143c
callq 0x16c11
leaq 0x110fa(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x4, %edi
xorl %esi, %esi
movl $0x1, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x19986(%rip)     # 0x31fd0
andb $-0x11, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x18664
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x18906
leaq 0x8e2f(%rip), %rdi      # 0x2149a
callq 0x16c11
leaq 0x11099(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x6, %edi
xorl %esi, %esi
movl $0x2, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x1992d(%rip)     # 0x31fd8
andb $-0x11, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x186c5
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x18925
leaq 0x7930(%rip), %rdi      # 0x1fffc
callq 0x16c11
leaq 0x11038(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, %rbx
movl $0x8, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x20(%rbx)
movq %rax, 0x198da(%rip)     # 0x31fe0
andb $-0x11, 0x1b(%rbx)
movswl 0x4(%rax), %ecx
testl %ecx, %ecx
je 0x18720
movl 0x8(%rax), %eax
cltd
idivl %ecx
testl %edx, %edx
jne 0x18944
leaq 0x8e04(%rip), %rdi      # 0x2152b
callq 0x16c11
leaq 0x10fdd(%rip), %rsi     # 0x29710
movq %rax, %rdi
movl $0x1, %edx
callq 0x17429
movq %rax, 0x198a1(%rip)     # 0x31fe8
andb $-0x11, 0x1b(%rax)
movq 0x1988e(%rip), %rsi     # 0x31fe0
movl $0x7, %edi
movl $0x2, %edx
movl $0x1, %ecx
movq %rax, %r8
callq 0x18963
movq %rax, 0x19880(%rip)     # 0x31ff0
movswl 0x4(%rax), %esi
testl %esi, %esi
jle 0x18792
movl 0x8(%rax), %ecx
movl %ecx, %eax
cltd
idivl %esi
testl %edx, %edx
jne 0x18792
movq 0x1984d(%rip), %rax     # 0x31fd8
cmpl %ecx, 0x8(%rax)
jl 0x187b1
popq %rbx
retq
leaq 0x8d95(%rip), %rdi      # 0x2152e
leaq 0x8a08(%rip), %rsi      # 0x211a8
leaq 0x8a10(%rip), %rcx      # 0x211b7
movl $0x3b, %edx
callq 0x30d0
leaq 0x8db4(%rip), %rdi      # 0x2156c
leaq 0x89e9(%rip), %rsi      # 0x211a8
leaq 0x89f1(%rip), %rcx      # 0x211b7
movl $0x3c, %edx
callq 0x30d0
leaq 0x8995(%rip), %rdi      # 0x2116c
leaq 0x89ca(%rip), %rsi      # 0x211a8
leaq 0x89d2(%rip), %rcx      # 0x211b7
movl $0x27, %edx
callq 0x30d0
leaq 0x89d1(%rip), %rdi      # 0x211c7
leaq 0x89ab(%rip), %rsi      # 0x211a8
leaq 0x89b3(%rip), %rcx      # 0x211b7
movl $0x28, %edx
callq 0x30d0
leaq 0x89f4(%rip), %rdi      # 0x21209
leaq 0x898c(%rip), %rsi      # 0x211a8
leaq 0x8994(%rip), %rcx      # 0x211b7
movl $0x29, %edx
callq 0x30d0
leaq 0x8a14(%rip), %rdi      # 0x21248
leaq 0x896d(%rip), %rsi      # 0x211a8
leaq 0x8975(%rip), %rcx      # 0x211b7
movl $0x2a, %edx
callq 0x30d0
leaq 0x8a3a(%rip), %rdi      # 0x2128d
leaq 0x894e(%rip), %rsi      # 0x211a8
leaq 0x8956(%rip), %rcx      # 0x211b7
movl $0x2b, %edx
callq 0x30d0
leaq 0x8a5d(%rip), %rdi      # 0x212cf
leaq 0x892f(%rip), %rsi      # 0x211a8
leaq 0x8937(%rip), %rcx      # 0x211b7
movl $0x2c, %edx
callq 0x30d0
leaq 0x8a7a(%rip), %rdi      # 0x2130b
leaq 0x8910(%rip), %rsi      # 0x211a8
leaq 0x8918(%rip), %rcx      # 0x211b7
movl $0x2d, %edx
callq 0x30d0
leaq 0x8a9a(%rip), %rdi      # 0x2134a
leaq 0x88f1(%rip), %rsi      # 0x211a8
leaq 0x88f9(%rip), %rcx      # 0x211b7
movl $0x2e, %edx
callq 0x30d0
leaq 0x8acb(%rip), %rdi      # 0x2139a
leaq 0x88d2(%rip), %rsi      # 0x211a8
leaq 0x88da(%rip), %rcx      # 0x211b7
movl $0x2f, %edx
callq 0x30d0
leaq 0x8b06(%rip), %rdi      # 0x213f4
leaq 0x88b3(%rip), %rsi      # 0x211a8
leaq 0x88bb(%rip), %rcx      # 0x211b7
movl $0x30, %edx
callq 0x30d0
leaq 0x8b42(%rip), %rdi      # 0x2144f
leaq 0x8894(%rip), %rsi      # 0x211a8
leaq 0x889c(%rip), %rcx      # 0x211b7
movl $0x31, %edx
callq 0x30d0
leaq 0x8b7b(%rip), %rdi      # 0x214a7
leaq 0x8875(%rip), %rsi      # 0x211a8
leaq 0x887d(%rip), %rcx      # 0x211b7
movl $0x32, %edx
callq 0x30d0
leaq 0x8ba4(%rip), %rdi      # 0x214ef
leaq 0x8856(%rip), %rsi      # 0x211a8
leaq 0x885e(%rip), %rcx      # 0x211b7
movl $0x33, %edx
callq 0x30d0