// File: /workspace/github_c_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x418, %rsp            # imm = 0x418
movq %rsi, %r14
movq %rdi, %rbx
cmpb $0x0, 0x3351e(%rip)     # 0x38200
jne 0x4cfd
leaq 0x1abdc(%rip), %rdi     # 0x1f8c7
movl $0x1c, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abe0(%rip), %rdi     # 0x1f8e4
movl $0x1f, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abe7(%rip), %rdi     # 0x1f904
movl $0x13, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abe2(%rip), %rdi     # 0x1f918
movl $0x20, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abea(%rip), %rdi     # 0x1f939
movl $0x23, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abf5(%rip), %rdi     # 0x1f95d
movl $0x1c, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
cmpb $0x0, 0x33483(%rip)     # 0x38204
jne 0x4e1d
leaq 0x1abec(%rip), %rdi     # 0x1f97a
movl $0x10, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abe4(%rip), %rdi     # 0x1f98b
movl $0x16, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abe2(%rip), %rdi     # 0x1f9a2
movl $0xe, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abd8(%rip), %rdi     # 0x1f9b1
movl $0x19, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abd9(%rip), %rdi     # 0x1f9cb
movl $0xe, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abcf(%rip), %rdi     # 0x1f9da
movl $0x12, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abc9(%rip), %rdi     # 0x1f9ed
movl $0xc, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
leaq 0x1abbd(%rip), %rdi     # 0x1f9fa
movl $0x49, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
movq 0x3332a(%rip), %rdi     # 0x38180
leaq 0x2aabe(%rip), %rsi     # 0x2f91b
callq 0x3220
testq %rax, %rax
je 0x4f31
movq %rax, %r15
movq %r14, 0x8(%rsp)
movq 0x33306(%rip), %rdx     # 0x38180
leaq 0x1abc3(%rip), %rsi     # 0x1fa44
movq %rbx, %rdi
xorl %eax, %eax
callq 0x31a0
leaq 0x10(%rsp), %rdi
movl $0x400, %esi            # imm = 0x400
movq %r15, %rdx
callq 0x3170
testq %rax, %rax
je 0x4f0b
movl $0x546f6e55, %r14d      # imm = 0x546F6E55
movl $0x65707954, %r12d      # imm = 0x65707954
leaq 0x1aba6(%rip), %r13     # 0x1fa5b
leaq 0x10(%rsp), %rbp
cmpb $0x1, 0x3333f(%rip)     # 0x38200
jne 0x4ed5
movl 0x10(%rsp), %eax
xorl %r14d, %eax
movl 0x13(%rsp), %ecx
xorl %r12d, %ecx
orl %eax, %ecx
je 0x4ef7
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x3140
movq %rbp, %rdi
movl $0x400, %esi            # imm = 0x400
movq %r15, %rdx
callq 0x3170
testq %rax, %rax
jne 0x4eba
jmp 0x4f0b
movq %rbx, %rdi
movq %r13, %rsi
leaq 0x18(%rsp), %rdx
xorl %eax, %eax
callq 0x31a0
jmp 0x4ee0
movq %r15, %rdi
callq 0x30c0
leaq 0x1ab50(%rip), %rdi     # 0x1fa6a
movl $0xa, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x3270
movq 0x8(%rsp), %r14
testq %r14, %r14
je 0x4f60
movq 0x332cb(%rip), %rdx     # 0x38208
leaq 0x1ab31(%rip), %rsi     # 0x1fa75
movq %rbx, %rdi
xorl %eax, %eax
callq 0x31a0
cmpq $0x0, 0x332a2(%rip)     # 0x381f8
je 0x4f60
movq %rbx, %rdi
callq 0x4837
addq $0x418, %rsp            # imm = 0x418
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq