// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x70, %rsp
leaq 0xc34e(%rip), %rdi      # 0x3286d
callq 0x237e0
movq %rax, %rdi
leaq 0x15032(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %r8
movl $0x3, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %ecx
movl %ecx, %edx
callq 0x26eb0
movq -0x8(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1dc7c(%rip)     # 0x441e0
movq -0x8(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, 0x1b(%rax)
movq 0x1dc65(%rip), %rax     # 0x441e0
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x265a1
movq 0x1dc55(%rip), %rax     # 0x441e0
movl 0x8(%rax), %eax
movq 0x1dc4b(%rip), %rcx     # 0x441e0
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x265a3
jmp 0x265c2
leaq 0xc09a(%rip), %rdi      # 0x32644
leaq 0xc0cf(%rip), %rsi      # 0x32680
movl $0x27, %edx
leaq 0xc0d2(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xc195(%rip), %rdi      # 0x3275e
callq 0x237e0
movq %rax, %rdi
leaq 0x14f88(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %r8
movl $0x2, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x5, %edx
movl $0x1, %ecx
callq 0x26eb0
movq -0x10(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1dbd7(%rip)     # 0x441e8
movq -0x10(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x10, %cl
movb %cl, 0x1b(%rax)
movq 0x1dbc0(%rip), %rax     # 0x441e8
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x2664e
movq 0x1dbb0(%rip), %rax     # 0x441e8
movl 0x8(%rax), %eax
movq 0x1dba6(%rip), %rcx     # 0x441e8
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x26650
jmp 0x2666f
leaq 0xc048(%rip), %rdi      # 0x3269f
leaq 0xc022(%rip), %rsi      # 0x32680
movl $0x28, %edx
leaq 0xc025(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xa989(%rip), %rdi      # 0x30fff
callq 0x237e0
movq %rax, %rdi
leaq 0x14edb(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %r8
movl $0x1, %ecx
xorl %eax, %eax
movl %eax, %esi
movl $0x5, %edx
movl %ecx, %edi
callq 0x26eb0
movq -0x18(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1db35(%rip)     # 0x441f0
movq -0x18(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x10, %cl
movb %cl, 0x1b(%rax)
movq 0x1db1e(%rip), %rax     # 0x441f0
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x266f8
movq 0x1db0e(%rip), %rax     # 0x441f0
movl 0x8(%rax), %eax
movq 0x1db04(%rip), %rcx     # 0x441f0
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x266fa
jmp 0x26719
leaq 0xbfe0(%rip), %rdi      # 0x326e1
leaq 0xbf78(%rip), %rsi      # 0x32680
movl $0x29, %edx
leaq 0xbf7b(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xc25b(%rip), %rdi      # 0x3297b
callq 0x237e0
movq %rax, %rdi
leaq 0x14e31(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %r8
movl $0x5, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x2, %edx
movl $0x1, %ecx
callq 0x26eb0
movq -0x20(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1da90(%rip)     # 0x441f8
movq -0x20(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, 0x1b(%rax)
movq 0x1da79(%rip), %rax     # 0x441f8
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x267a5
movq 0x1da69(%rip), %rax     # 0x441f8
movl 0x8(%rax), %eax
movq 0x1da5f(%rip), %rcx     # 0x441f8
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x267a7
jmp 0x267c6
leaq 0xbf72(%rip), %rdi      # 0x32720
leaq 0xbecb(%rip), %rsi      # 0x32680
movl $0x2a, %edx
leaq 0xbece(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xbf8c(%rip), %rdi      # 0x32759
callq 0x237e0
movq %rax, %rdi
leaq 0x14d84(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %r8
movl $0x2, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x5, %edx
movl $0x1, %ecx
callq 0x26eb0
movq -0x28(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1d9eb(%rip)     # 0x44200
movq -0x28(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x10, %cl
movb %cl, 0x1b(%rax)
movq 0x1d9d4(%rip), %rax     # 0x44200
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x26852
movq 0x1d9c4(%rip), %rax     # 0x44200
movl 0x8(%rax), %eax
movq 0x1d9ba(%rip), %rcx     # 0x44200
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x26854
jmp 0x26873
leaq 0xbf0a(%rip), %rdi      # 0x32765
leaq 0xbe1e(%rip), %rsi      # 0x32680
movl $0x2b, %edx
leaq 0xbe21(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xc049(%rip), %rdi      # 0x328c3
callq 0x237e0
movq %rax, %rdi
leaq 0x14cd7(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %r8
movl $0x5, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x2, %edx
movl $0x1, %ecx
callq 0x26eb0
movq -0x30(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1d946(%rip)     # 0x44208
movq -0x30(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, 0x1b(%rax)
movq 0x1d92f(%rip), %rax     # 0x44208
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x268ff
movq 0x1d91f(%rip), %rax     # 0x44208
movl 0x8(%rax), %eax
movq 0x1d915(%rip), %rcx     # 0x44208
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x26901
jmp 0x26920
leaq 0xbe9f(%rip), %rdi      # 0x327a7
leaq 0xbd71(%rip), %rsi      # 0x32680
movl $0x2c, %edx
leaq 0xbd74(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xa6de(%rip), %rdi      # 0x31005
callq 0x237e0
movq %rax, %rdi
leaq 0x14c2a(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %r8
movl $0x4, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %ecx
movl %ecx, %edx
callq 0x26eb0
movq -0x38(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1d8a4(%rip)     # 0x44210
movq -0x38(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, 0x1b(%rax)
movq 0x1d88d(%rip), %rax     # 0x44210
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x269a9
movq 0x1d87d(%rip), %rax     # 0x44210
movl 0x8(%rax), %eax
movq 0x1d873(%rip), %rcx     # 0x44210
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x269ab
jmp 0x269ca
leaq 0xbe31(%rip), %rdi      # 0x327e3
leaq 0xbcc7(%rip), %rsi      # 0x32680
movl $0x2d, %edx
leaq 0xbcca(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xbe95(%rip), %rdi      # 0x32866
callq 0x237e0
movq %rax, %rdi
leaq 0x14b80(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %r8
movl $0x3, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %ecx
movl %ecx, %edx
callq 0x26eb0
movq -0x40(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1d802(%rip)     # 0x44218
movq -0x40(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, 0x1b(%rax)
movq 0x1d7eb(%rip), %rax     # 0x44218
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x26a53
movq 0x1d7db(%rip), %rax     # 0x44218
movl 0x8(%rax), %eax
movq 0x1d7d1(%rip), %rcx     # 0x44218
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x26a55
jmp 0x26a74
leaq 0xbdc6(%rip), %rdi      # 0x32822
leaq 0xbc1d(%rip), %rsi      # 0x32680
movl $0x2e, %edx
leaq 0xbc20(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xbde9(%rip), %rdi      # 0x32864
callq 0x237e0
movq %rax, %rdi
leaq 0x14ad6(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %r8
movl $0x3, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %ecx
movl %ecx, %edx
callq 0x26eb0
movq -0x48(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1d760(%rip)     # 0x44220
movq -0x48(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, 0x1b(%rax)
movq 0x1d749(%rip), %rax     # 0x44220
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x26afd
movq 0x1d739(%rip), %rax     # 0x44220
movl 0x8(%rax), %eax
movq 0x1d72f(%rip), %rcx     # 0x44220
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x26aff
jmp 0x26b1e
leaq 0xbd6c(%rip), %rdi      # 0x32872
leaq 0xbb73(%rip), %rsi      # 0x32680
movl $0x2f, %edx
leaq 0xbb76(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xbd95(%rip), %rdi      # 0x328ba
callq 0x237e0
movq %rax, %rdi
leaq 0x14a2c(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %r8
movl $0x6, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x2, %edx
movl $0x1, %ecx
callq 0x26eb0
movq -0x50(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1d6bb(%rip)     # 0x44228
movq -0x50(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, 0x1b(%rax)
movq 0x1d6a4(%rip), %rax     # 0x44228
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x26baa
movq 0x1d694(%rip), %rax     # 0x44228
movl 0x8(%rax), %eax
movq 0x1d68a(%rip), %rcx     # 0x44228
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x26bac
jmp 0x26bcb
leaq 0xbd19(%rip), %rdi      # 0x328cc
leaq 0xbac6(%rip), %rsi      # 0x32680
movl $0x30, %edx
leaq 0xbac9(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xbd42(%rip), %rdi      # 0x32914
callq 0x237e0
movq %rax, %rdi
leaq 0x1497f(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %r8
movl $0x4, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %ecx
movl %ecx, %edx
callq 0x26eb0
movq -0x58(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1d619(%rip)     # 0x44230
movq -0x58(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, 0x1b(%rax)
movq 0x1d602(%rip), %rax     # 0x44230
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x26c54
movq 0x1d5f2(%rip), %rax     # 0x44230
movl 0x8(%rax), %eax
movq 0x1d5e8(%rip), %rcx     # 0x44230
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x26c56
jmp 0x26c75
leaq 0xbcca(%rip), %rdi      # 0x32927
leaq 0xba1c(%rip), %rsi      # 0x32680
movl $0x31, %edx
leaq 0xba1f(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xbcf6(%rip), %rdi      # 0x32972
callq 0x237e0
movq %rax, %rdi
leaq 0x148d5(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %r8
movl $0x6, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x2, %edx
movl $0x1, %ecx
callq 0x26eb0
movq -0x60(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1d574(%rip)     # 0x44238
movq -0x60(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, 0x1b(%rax)
movq 0x1d55d(%rip), %rax     # 0x44238
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x26d01
movq 0x1d54d(%rip), %rax     # 0x44238
movl 0x8(%rax), %eax
movq 0x1d543(%rip), %rcx     # 0x44238
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x26d03
jmp 0x26d22
leaq 0xbc75(%rip), %rdi      # 0x3297f
leaq 0xb96f(%rip), %rsi      # 0x32680
movl $0x32, %edx
leaq 0xb972(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xa2eb(%rip), %rdi      # 0x31014
callq 0x237e0
movq %rax, %rdi
leaq 0x14828(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %r8
movl $0x8, %edi
xorl %eax, %eax
movl %eax, %esi
xorl %ecx, %ecx
movl %ecx, %edx
callq 0x26eb0
movq -0x68(%rbp), %rcx
movq %rax, 0x20(%rcx)
movq %rax, 0x1d4d5(%rip)     # 0x44240
movq -0x68(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, 0x1b(%rax)
movq 0x1d4be(%rip), %rax     # 0x44240
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
je 0x26da8
movq 0x1d4ae(%rip), %rax     # 0x44240
movl 0x8(%rax), %eax
movq 0x1d4a4(%rip), %rcx     # 0x44240
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x26daa
jmp 0x26dc9
leaq 0xbc16(%rip), %rdi      # 0x329c7
leaq 0xb8c8(%rip), %rsi      # 0x32680
movl $0x33, %edx
leaq 0xb8cb(%rip), %rcx      # 0x3268f
callq 0x30c0
leaq 0xbc33(%rip), %rdi      # 0x32a03
callq 0x237e0
movq %rax, %rdi
leaq 0x14781(%rip), %rsi     # 0x3b560
movl $0x1, %edx
callq 0x24720
movq %rax, 0x1d458(%rip)     # 0x44248
movq 0x1d451(%rip), %rax     # 0x44248
movb 0x1b(%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, 0x1b(%rax)
movq 0x1d436(%rip), %rdi     # 0x44240
callq 0x27120
movq %rax, 0x1d43a(%rip)     # 0x44250
movq 0x1d433(%rip), %rax     # 0x44250
movswl 0x4(%rax), %eax
cmpl $0x0, %eax
jle 0x26e45
movq 0x1d423(%rip), %rax     # 0x44250
movl 0x8(%rax), %eax
movq 0x1d419(%rip), %rcx     # 0x44250
movswl 0x4(%rcx), %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x26e45
jmp 0x26e64
leaq 0xbbba(%rip), %rdi      # 0x32a06
leaq 0xb82d(%rip), %rsi      # 0x32680
movl $0x3b, %edx
leaq 0xb830(%rip), %rcx      # 0x3268f
callq 0x30c0
movq 0x1d3cd(%rip), %rax     # 0x44238
movl 0x8(%rax), %eax
movq 0x1d3db(%rip), %rcx     # 0x44250
cmpl 0x8(%rcx), %eax
jl 0x26e7c
jmp 0x26e9b
leaq 0xbbc1(%rip), %rdi      # 0x32a44
leaq 0xb7f6(%rip), %rsi      # 0x32680
movl $0x3c, %edx
leaq 0xb7f9(%rip), %rcx      # 0x3268f
callq 0x30c0
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)