// File: /workspace/github_c_makefile_star2_O0/oridb[P]mc/parse/infer.c
// Function: builtintraits
static void
builtintraits(void)
{
	size_t i;

	/* char::(numeric,integral) */
	for (i = 0; i < Ntypes; i++)
		tytraits[i] = mkbs();

	bsput(tytraits[Tychar], Tcnum);
	bsput(tytraits[Tychar], Tcint);

	bsput(tytraits[Tybyte], Tcnum);
	bsput(tytraits[Tybyte], Tcint);

	/* <integer types>::(numeric,integral) */
	for (i = Tyint8; i < Tyflt32; i++) {
		bsput(tytraits[i], Tcnum);
		bsput(tytraits[i], Tcint);
	}

	/* <floats>::(numeric,floating) */
	bsput(tytraits[Tyflt32], Tcnum);
	bsput(tytraits[Tyflt32], Tcflt);
	bsput(tytraits[Tyflt64], Tcnum);
	bsput(tytraits[Tyflt64], Tcflt);

	/* @a*::(sliceable) */
	bsput(tytraits[Typtr], Tcslice);

	/* @a[:]::(indexable,sliceable) */
	bsput(tytraits[Tyslice], Tcidx);
	bsput(tytraits[Tyslice], Tcslice);
	bsput(tytraits[Tyslice], Tciter);

	/* @a[SZ]::(indexable,sliceable) */
	bsput(tytraits[Tyarray], Tcidx);
	bsput(tytraits[Tyarray], Tcslice);
	bsput(tytraits[Tyarray], Tciter);

	/* @a::function */
	bsput(tytraits[Tyfunc], Tcfunc);

	for (i = 0; i < Ntypes; i++) {
		traitmap->sub[i] = mktraitmap();
		bsunion(traitmap->sub[i]->traits, tytraits[i]);
	}

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq $0x0, -0x8(%rbp)
cmpq $0x1f, -0x8(%rbp)
jae 0x274ec
callq 0x48650
movq %rax, %rdx
movq -0x8(%rbp), %rcx
leaq 0x55e06(%rip), %rax     # 0x7d2e0
movq %rdx, (%rax,%rcx,8)
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x274c0
movq 0x55e05(%rip), %rdi     # 0x7d2f8
xorl %eax, %eax
movl %eax, %esi
callq 0x48a50
movq 0x55df5(%rip), %rdi     # 0x7d2f8
movl $0x1, %esi
callq 0x48a50
movq 0x55e14(%rip), %rdi     # 0x7d328
xorl %eax, %eax
movl %eax, %esi
callq 0x48a50
movq 0x55e04(%rip), %rdi     # 0x7d328
movl $0x1, %esi
callq 0x48a50
movq $0x4, -0x8(%rbp)
cmpq $0xf, -0x8(%rbp)
jae 0x2757c
movq -0x8(%rbp), %rcx
leaq 0x55d98(%rip), %rax     # 0x7d2e0
movq (%rax,%rcx,8), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x48a50
movq -0x8(%rbp), %rcx
leaq 0x55d80(%rip), %rax     # 0x7d2e0
movq (%rax,%rcx,8), %rdi
movl $0x1, %esi
callq 0x48a50
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x27536
movq 0x55dd5(%rip), %rdi     # 0x7d358
xorl %eax, %eax
movl %eax, %esi
callq 0x48a50
movq 0x55dc5(%rip), %rdi     # 0x7d358
movl $0x2, %esi
callq 0x48a50
movq 0x55dbc(%rip), %rdi     # 0x7d360
xorl %eax, %eax
movl %eax, %esi
callq 0x48a50
movq 0x55dac(%rip), %rdi     # 0x7d360
movl $0x2, %esi
callq 0x48a50
movq 0x55dab(%rip), %rdi     # 0x7d370
movl $0x4, %esi
callq 0x48a50
movq 0x55daa(%rip), %rdi     # 0x7d380
movl $0x3, %esi
callq 0x48a50
movq 0x55d99(%rip), %rdi     # 0x7d380
movl $0x4, %esi
callq 0x48a50
movq 0x55d88(%rip), %rdi     # 0x7d380
movl $0x6, %esi
callq 0x48a50
movq 0x55d7f(%rip), %rdi     # 0x7d388
movl $0x3, %esi
callq 0x48a50
movq 0x55d6e(%rip), %rdi     # 0x7d388
movl $0x4, %esi
callq 0x48a50
movq 0x55d5d(%rip), %rdi     # 0x7d388
movl $0x6, %esi
callq 0x48a50
movq 0x55d3c(%rip), %rdi     # 0x7d378
movl $0x5, %esi
callq 0x48a50
movq $0x0, -0x8(%rbp)
cmpq $0x1f, -0x8(%rbp)
jae 0x276a2
callq 0x27b90
movq %rax, %rdx
movq 0x55c6c(%rip), %rax     # 0x7d2d0
movq -0x8(%rbp), %rcx
movq %rdx, 0x8(%rax,%rcx,8)
movq 0x55c5c(%rip), %rax     # 0x7d2d0
movq -0x8(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq (%rax), %rdi
movq -0x8(%rbp), %rcx
leaq 0x55c55(%rip), %rax     # 0x7d2e0
movq (%rax,%rcx,8), %rsi
callq 0x48b40
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x2764e
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)