// File: /workspace/github_c_makefile_star2_O0/OstCollector[P]config2c/config2c.c
// Function: decl_def_list
static void decl_def_list(const struct node_type_def_list *list)
{
	const char *name, *ename;
	out_hdr("\n");
	for (; list; list = list->next) {
		switch (list->type) {
		case NODE_TYPE_DEF_ENUM:
			name = list->enum_def.name;
			out_hdr("enum %s {\n", name);
			decl_enum_list(list->enum_def.enums, 1);
			out_hdr("};\n");
			out_hdr("\n");
			out_hdr("\n");

			out_src("static int parse__enum_%s(struct pass_to_conv *ctx, "
					"enum %s *value, "
					"const struct node_value *input);\n", 
					name, name);
			out_src("static void dump__enum_%s(put_func func,"
					"struct dump_context *ctx, "
					"const enum %s *value);\n",
					name, name);
			out_src("\n");
			out_src("\n");
			break;
		case NODE_TYPE_DEF_STRUCT:
			name = list->struct_def.name;
			out_hdr("struct %s {\n", name);
			decl_member_list(list->struct_def.members, 1);
			out_hdr("};\n");
			out_hdr("\n");
			out_hdr("\n");

			out_src("static int parse__struct_%s(struct pass_to_conv *ctx, "
					"struct %s *value, "
					"const struct node_value *input);\n",
					name, name);
			out_src("static void free__struct_%s(struct %s *value);\n",
					name, name);
			out_src("static void dump__struct_%s(put_func func, "
					"struct dump_context *ctx, int l, "
					"const struct %s *value);\n", name, name);
			out_src("\n");
			out_src("\n");
			break;
		case NODE_TYPE_DEF_UNION:
			name = list->union_def.name;
			ename = list->union_def.enum_name;
			out_hdr("enum %s {\n", ename);
			decl_alias_list(list->union_def.alters, 1);
			out_hdr("};\n");
			out_hdr("\n");
			out_hdr("union %s {\n", name);
			decl_alter_list(list->union_def.alters, 1);
			out_hdr("};\n");
			out_hdr("\n");
			out_hdr("\n");

			out_src("static int parse__union_%s(struct pass_to_conv *ctx, "
					"union %s *value, enum %s *type, "
					"const struct node_value *input);\n", 
					name, name, ename);
			out_src("static void free__union_%s(union %s *value, enum %s *type);\n",
					name, name, ename);
			out_src("static void dump__union_%s(put_func func, "
					"struct dump_context *ctx, int l, "
					"const union %s *value, const enum %s *type_value);\n",
					name, name, ename);
			out_src("\n");
			out_src("\n");
			break;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq 0x17a3d(%rip), %rdi     # 0x1b2c0
leaq 0x12919(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x38c2
movq 0x17750(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x120aa(%rip), %rsi     # 0x15954
leaq 0x120bb(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x38c4
jmp 0x38c6
cmpq $0x0, -0x8(%rbp)
je 0x4246
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x1c(%rbp)
testl %eax, %eax
je 0x3900
jmp 0x38e1
movl -0x1c(%rbp), %eax
subl $0x1, %eax
je 0x3b83
jmp 0x38ef
movl -0x1c(%rbp), %eax
subl $0x2, %eax
je 0x3e58
jmp 0x4234
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movq 0x179ad(%rip), %rdi     # 0x1b2c0
movq -0x10(%rbp), %rdx
leaq 0x129df(%rip), %rsi     # 0x162fd
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3956
movq 0x176bc(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x12016(%rip), %rsi     # 0x15954
leaq 0x12027(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3958
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
movl $0x1, %esi
callq 0x7e90
movq 0x1794f(%rip), %rdi     # 0x1b2c0
leaq 0x13f55(%rip), %rsi     # 0x178cd
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x39b0
movq 0x17662(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11fbc(%rip), %rsi     # 0x15954
leaq 0x11fcd(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x39b2
jmp 0x39b4
movq 0x17905(%rip), %rdi     # 0x1b2c0
leaq 0x127e1(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x39fa
movq 0x17618(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11f72(%rip), %rsi     # 0x15954
leaq 0x11f83(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x39fc
jmp 0x39fe
movq 0x178bb(%rip), %rdi     # 0x1b2c0
leaq 0x12797(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3a44
movq 0x175ce(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11f28(%rip), %rsi     # 0x15954
leaq 0x11f39(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3a46
jmp 0x3a48
movq 0x17851(%rip), %rdi     # 0x1b2a0
movq -0x10(%rbp), %rdx
movq -0x10(%rbp), %rcx
leaq 0x128aa(%rip), %rsi     # 0x16308
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3a96
movq 0x1757c(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11ed6(%rip), %rsi     # 0x15954
leaq 0x11ee7(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3a98
jmp 0x3a9a
movq 0x177ff(%rip), %rdi     # 0x1b2a0
movq -0x10(%rbp), %rdx
movq -0x10(%rbp), %rcx
leaq 0x128be(%rip), %rsi     # 0x1636e
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3ae8
movq 0x1752a(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11e84(%rip), %rsi     # 0x15954
leaq 0x11e95(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3aea
jmp 0x3aec
movq 0x177ad(%rip), %rdi     # 0x1b2a0
leaq 0x126a9(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3b32
movq 0x174e0(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11e3a(%rip), %rsi     # 0x15954
leaq 0x11e4b(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3b34
jmp 0x3b36
movq 0x17763(%rip), %rdi     # 0x1b2a0
leaq 0x1265f(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3b7c
movq 0x17496(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11df0(%rip), %rsi     # 0x15954
leaq 0x11e01(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3b7e
jmp 0x4234
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movq 0x1772a(%rip), %rdi     # 0x1b2c0
movq -0x10(%rbp), %rdx
leaq 0x12827(%rip), %rsi     # 0x163c8
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3bd9
movq 0x17439(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11d93(%rip), %rsi     # 0x15954
leaq 0x11da4(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3bdb
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
movl $0x1, %esi
callq 0x7f20
movq 0x176cc(%rip), %rdi     # 0x1b2c0
leaq 0x13cd2(%rip), %rsi     # 0x178cd
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3c33
movq 0x173df(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11d39(%rip), %rsi     # 0x15954
leaq 0x11d4a(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3c35
jmp 0x3c37
movq 0x17682(%rip), %rdi     # 0x1b2c0
leaq 0x1255e(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3c7d
movq 0x17395(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11cef(%rip), %rsi     # 0x15954
leaq 0x11d00(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3c7f
jmp 0x3c81
movq 0x17638(%rip), %rdi     # 0x1b2c0
leaq 0x12514(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3cc7
movq 0x1734b(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11ca5(%rip), %rsi     # 0x15954
leaq 0x11cb6(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3cc9
jmp 0x3ccb
movq 0x175ce(%rip), %rdi     # 0x1b2a0
movq -0x10(%rbp), %rdx
movq -0x10(%rbp), %rcx
leaq 0x126f4(%rip), %rsi     # 0x163d5
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3d19
movq 0x172f9(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11c53(%rip), %rsi     # 0x15954
leaq 0x11c64(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3d1b
jmp 0x3d1d
movq 0x1757c(%rip), %rdi     # 0x1b2a0
movq -0x10(%rbp), %rdx
movq -0x10(%rbp), %rcx
leaq 0x1270c(%rip), %rsi     # 0x1643f
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3d6b
movq 0x172a7(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11c01(%rip), %rsi     # 0x15954
leaq 0x11c12(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3d6d
jmp 0x3d6f
movq 0x1752a(%rip), %rdi     # 0x1b2a0
movq -0x10(%rbp), %rdx
movq -0x10(%rbp), %rcx
leaq 0x126ea(%rip), %rsi     # 0x1646f
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3dbd
movq 0x17255(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11baf(%rip), %rsi     # 0x15954
leaq 0x11bc0(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3dbf
jmp 0x3dc1
movq 0x174d8(%rip), %rdi     # 0x1b2a0
leaq 0x123d4(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3e07
movq 0x1720b(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11b65(%rip), %rsi     # 0x15954
leaq 0x11b76(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3e09
jmp 0x3e0b
movq 0x1748e(%rip), %rdi     # 0x1b2a0
leaq 0x1238a(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3e51
movq 0x171c1(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11b1b(%rip), %rsi     # 0x15954
leaq 0x11b2c(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3e53
jmp 0x4234
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x18(%rbp)
movq 0x17449(%rip), %rdi     # 0x1b2c0
movq -0x18(%rbp), %rdx
leaq 0x1247b(%rip), %rsi     # 0x162fd
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3eba
movq 0x17158(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11ab2(%rip), %rsi     # 0x15954
leaq 0x11ac3(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3ebc
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
movl $0x1, %esi
callq 0x8430
movq 0x173eb(%rip), %rdi     # 0x1b2c0
leaq 0x139f1(%rip), %rsi     # 0x178cd
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3f14
movq 0x170fe(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11a58(%rip), %rsi     # 0x15954
leaq 0x11a69(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3f16
jmp 0x3f18
movq 0x173a1(%rip), %rdi     # 0x1b2c0
leaq 0x1227d(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3f5e
movq 0x170b4(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11a0e(%rip), %rsi     # 0x15954
leaq 0x11a1f(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3f60
jmp 0x3f62
movq 0x17357(%rip), %rdi     # 0x1b2c0
movq -0x10(%rbp), %rdx
leaq 0x12561(%rip), %rsi     # 0x164d5
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x3fac
movq 0x17066(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x119c0(%rip), %rsi     # 0x15954
leaq 0x119d1(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x3fae
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
movl $0x1, %esi
callq 0x84c0
movq 0x172f9(%rip), %rdi     # 0x1b2c0
leaq 0x138ff(%rip), %rsi     # 0x178cd
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x4006
movq 0x1700c(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11966(%rip), %rsi     # 0x15954
leaq 0x11977(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x4008
jmp 0x400a
movq 0x172af(%rip), %rdi     # 0x1b2c0
leaq 0x1218b(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x4050
movq 0x16fc2(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x1191c(%rip), %rsi     # 0x15954
leaq 0x1192d(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x4052
jmp 0x4054
movq 0x17265(%rip), %rdi     # 0x1b2c0
leaq 0x12141(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x409a
movq 0x16f78(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x118d2(%rip), %rsi     # 0x15954
leaq 0x118e3(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x409c
jmp 0x409e
movq 0x171fb(%rip), %rdi     # 0x1b2a0
movq -0x10(%rbp), %rdx
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %r8
leaq 0x12429(%rip), %rsi     # 0x164e1
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x40f0
movq 0x16f22(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x1187c(%rip), %rsi     # 0x15954
leaq 0x1188d(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x40f2
jmp 0x40f4
movq 0x171a5(%rip), %rdi     # 0x1b2a0
movq -0x10(%rbp), %rdx
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %r8
leaq 0x1244a(%rip), %rsi     # 0x16558
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x4146
movq 0x16ecc(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11826(%rip), %rsi     # 0x15954
leaq 0x11837(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x4148
jmp 0x414a
movq 0x1714f(%rip), %rdi     # 0x1b2a0
movq -0x10(%rbp), %rdx
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %r8
leaq 0x12431(%rip), %rsi     # 0x16595
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x419c
movq 0x16e76(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x117d0(%rip), %rsi     # 0x15954
leaq 0x117e1(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x419e
jmp 0x41a0
movq 0x170f9(%rip), %rdi     # 0x1b2a0
leaq 0x11ff5(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x41e6
movq 0x16e2c(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x11786(%rip), %rsi     # 0x15954
leaq 0x11797(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x41e8
jmp 0x41ea
movq 0x170af(%rip), %rdi     # 0x1b2a0
leaq 0x11fab(%rip), %rsi     # 0x161a3
movb $0x0, %al
callq 0x2100
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jle 0x4230
movq 0x16de2(%rip), %rax     # 0x1aff0
movq (%rax), %rdi
leaq 0x1173c(%rip), %rsi     # 0x15954
leaq 0x1174d(%rip), %rdx     # 0x1596c
movb $0x0, %al
callq 0x2100
movl $0x1, %edi
callq 0x2180
jmp 0x4232
jmp 0x4234
jmp 0x4236
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x38c6
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)