// File: /workspace/github_c_makefile_star2_O0/OstCollector[P]config2c/config2c.c
// Function: decl_alter_list
static void decl_alter_list(const struct node_alter_list *al, int l)
{
	const struct string_list *pname, *ptype;
	const struct node_mapping *map;

	for (; al; al = al->next) {
		if ((al->type == NODE_ALTER_DEF_PRIM && len_string_list(al->mapped) > 1) ||
				al->vec.type == NODE_TYPE_VAR_ARR) {
			ohi(l, "struct {\n");
			++l;
		}
		switch (al->type) {
		case NODE_ALTER_DEF_PRIM:
			map = lookup_map(al->type_name);
			pname = al->mapped;
			ptype = map->mapped_types;
			for (; pname; pname = pname->next, ptype = ptype->next) {
				ohi(l, "%s ", ptype->str);
				decl_elem(pname->str, &al->vec);
			}
			decl_elem_post(&al->vec, l);
			break;
		case NODE_ALTER_DEF_ENUM:
			pname = al->mapped;
			ohi(l, "enum %s ", al->type_name);
			decl_elem(pname->str, &al->vec);
			decl_elem_post(&al->vec, l);
			break;
		case NODE_ALTER_DEF_STRUCT:
			pname = al->mapped;
			ohi(l, "struct %s ", al->type_name);
			decl_elem(pname->str, &al->vec);
			decl_elem_post(&al->vec, l);
			break;
		case NODE_ALTER_DEF_UNNAMED_STRUCT:
			ohi(l, "struct {\n");
			decl_member_list(al->members, l + 1);
			ohi(l, "};\n");
			break;
		}
		if ((al->type == NODE_ALTER_DEF_PRIM && len_string_list(al->mapped) > 1) ||
				al->vec.type == NODE_TYPE_VAR_ARR) {
			--l;
			ohi(l, "};\n");
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x88e3
movq -0x8(%rbp), %rax
cmpl $0x0, 0x8(%rax)
jne 0x84f7
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x8c50
cmpq $0x1, %rax
jg 0x8501
movq -0x8(%rbp), %rax
cmpl $0x3, 0x28(%rax)
jne 0x855e
jmp 0x8503
movl -0xc(%rbp), %edi
callq 0x88f0
movq 0x12dae(%rip), %rdi     # 0x1b2c0
leaq 0xe15e(%rip), %rsi      # 0x16677
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x8551
movq 0x12ac1(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0xd41b(%rip), %rsi      # 0x15954
leaq 0xd42c(%rip), %rdx      # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x8553
jmp 0x8555
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
movq %rax, -0x30(%rbp)
subq $0x3, %rax
ja 0x884d
movq -0x30(%rbp), %rax
leaq 0xcb2e(%rip), %rcx      # 0x150ac
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x8960
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x864b
jmp 0x85bd
movl -0xc(%rbp), %edi
callq 0x88f0
movq 0x12cf4(%rip), %rdi     # 0x1b2c0
movq -0x20(%rbp), %rax
movq (%rax), %rdx
leaq 0xe049(%rip), %rsi      # 0x16623
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x8612
movq 0x12a00(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0xd35a(%rip), %rsi      # 0x15954
leaq 0xd36b(%rip), %rdx      # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x8614
jmp 0x8616
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x8(%rbp), %rsi
addq $0x10, %rsi
addq $0x18, %rsi
callq 0x89c0
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x85b0
movq -0x8(%rbp), %rdi
addq $0x10, %rdi
addq $0x18, %rdi
movl -0xc(%rbp), %esi
callq 0x8b60
jmp 0x884d
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x18(%rbp)
movl -0xc(%rbp), %edi
callq 0x88f0
movq 0x12c41(%rip), %rdi     # 0x1b2c0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdx
leaq 0xdf90(%rip), %rsi      # 0x1661e
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x86c6
movq 0x1294c(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0xd2a6(%rip), %rsi      # 0x15954
leaq 0xd2b7(%rip), %rdx      # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x86c8
jmp 0x86ca
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x8(%rbp), %rsi
addq $0x10, %rsi
addq $0x18, %rsi
callq 0x89c0
movq -0x8(%rbp), %rdi
addq $0x10, %rdi
addq $0x18, %rdi
movl -0xc(%rbp), %esi
callq 0x8b60
jmp 0x884d
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x18(%rbp)
movl -0xc(%rbp), %edi
callq 0x88f0
movq 0x12baa(%rip), %rdi     # 0x1b2c0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdx
leaq 0xdf02(%rip), %rsi      # 0x16627
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x875d
movq 0x128b5(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0xd20f(%rip), %rsi      # 0x15954
leaq 0xd220(%rip), %rdx      # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x875f
jmp 0x8761
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x8(%rbp), %rsi
addq $0x10, %rsi
addq $0x18, %rsi
callq 0x89c0
movq -0x8(%rbp), %rdi
addq $0x10, %rdi
addq $0x18, %rdi
movl -0xc(%rbp), %esi
callq 0x8b60
jmp 0x884d
jmp 0x8794
movl -0xc(%rbp), %edi
callq 0x88f0
movq 0x12b1d(%rip), %rdi     # 0x1b2c0
leaq 0xdecd(%rip), %rsi      # 0x16677
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x87e2
movq 0x12830(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0xd18a(%rip), %rsi      # 0x15954
leaq 0xd19b(%rip), %rdx      # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x87e4
jmp 0x87e6
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movl -0xc(%rbp), %esi
addl $0x1, %esi
callq 0x7f20
movl -0xc(%rbp), %edi
callq 0x88f0
movq 0x12ab8(%rip), %rdi     # 0x1b2c0
leaq 0xf0be(%rip), %rsi      # 0x178cd
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x8847
movq 0x127cb(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0xd125(%rip), %rsi      # 0x15954
leaq 0xd136(%rip), %rdx      # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x8849
jmp 0x884b
jmp 0x884d
movq -0x8(%rbp), %rax
cmpl $0x0, 0x8(%rax)
jne 0x886a
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x8c50
cmpq $0x1, %rax
jg 0x8874
movq -0x8(%rbp), %rax
cmpl $0x3, 0x28(%rax)
jne 0x88d1
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %edi
callq 0x88f0
movq 0x12a34(%rip), %rdi     # 0x1b2c0
leaq 0xf03a(%rip), %rsi      # 0x178cd
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x88cb
movq 0x12747(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0xd0a1(%rip), %rsi      # 0x15954
leaq 0xd0b2(%rip), %rdx      # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x88cd
jmp 0x88cf
jmp 0x88d1
jmp 0x88d3
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x84cf
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)