// File: /workspace/github_c_makefile_star2_O0/nimble-code[P]Uno/Src/uno_local.c
// Function: add_pieces
void
add_pieces(FILE *fp, char *f)
{	FILE *x;
	char buf[1024];

	if (!nopre) fprintf(fp, "#define UnoType typedef int\n");

	fprintf(fp, "typedef int __builtin_va_list;\n"); /* gcc-ism */
	fprintf(fp, "typedef int __w64;\n"); /* cl-ism */
	fprintf(fp, "#define __builtin_va_start(v,l)\n");
	fprintf(fp, "#define __builtin_va_arg(v,l)	(l)0\n");
	fprintf(fp, "#define __builtin_va_end(v)\n");

	if (no_va)
	{	fprintf(fp, "#undef va_start\n");
		fprintf(fp, "#define va_start(v,l)\n");
		fprintf(fp, "#undef va_arg\n");
		fprintf(fp, "#define va_arg(v,l)\t(l)0\n");
		fprintf(fp, "#undef va_end\n");
		fprintf(fp, "#define va_end(v)\n");
	}
	fprintf(fp, "#define UNO\n");
	fprintf(fp, "#define __builtin_offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)\n");

	if ((x = fopen(master_dfn, "r")) != NULL)
	{	fprintf(fp, "/* from %s */\n", master_dfn);
		while (fgets(buf, sizeof(buf), x))
		{
			if (nopre
			&&  strncmp(buf, "UnoType", strlen("UnoType")) == 0)
				fprintf(fp, "typedef int %s", &buf[strlen("UnoType")+1]);
			else
				fprintf(fp, "%s", buf);
		}
		fclose(x);
		fprintf(fp, "/* end */\n");
	}

	if (!f) return;
#if 1
	fprintf(fp, "#include \"%s\"\n", cur_file);
#else
	/* fails to find the file, at least in cygwin */
	fprintf(fp, "#include \"%s/%s\"\n", cur_dir, cur_file);
#endif

	if (never) add_never(fp);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x420, %rsp            # imm = 0x420
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x0, 0x4a866(%rip)     # 0x4e340
jne 0x3aee
movq -0x8(%rbp), %rdi
leaq 0x30de0(%rip), %rsi     # 0x348c7
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30deb(%rip), %rsi     # 0x348e4
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30df9(%rip), %rsi     # 0x34904
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30dfb(%rip), %rsi     # 0x34918
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30e0a(%rip), %rsi     # 0x34939
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30e1c(%rip), %rsi     # 0x3495d
movb $0x0, %al
callq 0x3170
cmpl $0x0, 0x4a619(%rip)     # 0x4e168
je 0x3bbd
movq -0x8(%rbp), %rdi
leaq 0x30e1e(%rip), %rsi     # 0x3497a
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30e1d(%rip), %rsi     # 0x3498b
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30e22(%rip), %rsi     # 0x349a2
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30e1f(%rip), %rsi     # 0x349b1
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30e27(%rip), %rsi     # 0x349cb
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30e24(%rip), %rsi     # 0x349da
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30e25(%rip), %rsi     # 0x349ed
movb $0x0, %al
callq 0x3170
movq -0x8(%rbp), %rdi
leaq 0x30e20(%rip), %rsi     # 0x349fa
movb $0x0, %al
callq 0x3170
movq 0x4a588(%rip), %rdi     # 0x4e170
leaq 0x41020(%rip), %rsi     # 0x44c0f
callq 0x31f0
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x3cb1
movq -0x8(%rbp), %rdi
movq 0x4a563(%rip), %rdx     # 0x4e170
leaq 0x30e30(%rip), %rsi     # 0x34a44
movb $0x0, %al
callq 0x3170
leaq -0x420(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl $0x400, %esi            # imm = 0x400
callq 0x3150
cmpq $0x0, %rax
je 0x3c96
cmpl $0x0, 0x4a703(%rip)     # 0x4e340
je 0x3c7b
leaq -0x420(%rbp), %rdi
leaq 0x30e06(%rip), %rsi     # 0x34a53
movl $0x7, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x3c7b
movq -0x8(%rbp), %rdi
leaq -0x420(%rbp), %rdx
addq $0x8, %rdx
leaq 0x30de9(%rip), %rsi     # 0x34a5b
movb $0x0, %al
callq 0x3170
jmp 0x3c94
movq -0x8(%rbp), %rdi
leaq -0x420(%rbp), %rdx
leaq 0x41e95(%rip), %rsi     # 0x45b22
movb $0x0, %al
callq 0x3170
jmp 0x3c1b
movq -0x18(%rbp), %rdi
callq 0x30b0
movq -0x8(%rbp), %rdi
leaq 0x30dc0(%rip), %rsi     # 0x34a6a
movb $0x0, %al
callq 0x3170
cmpq $0x0, -0x10(%rbp)
jne 0x3cba
jmp 0x3ce6
movq -0x8(%rbp), %rdi
movq 0x4a683(%rip), %rdx     # 0x4e348
leaq 0x30da9(%rip), %rsi     # 0x34a75
movb $0x0, %al
callq 0x3170
cmpq $0x0, 0x4a65d(%rip)     # 0x4e338
je 0x3ce6
movq -0x8(%rbp), %rdi
callq 0x36a0
addq $0x420, %rsp            # imm = 0x420
popq %rbp
retq
nop