// File: /workspace/github_c_makefile_star2_O0/nimble-code[P]Modex/Src/xtract.c
// Function: add_nomap_locals
void
add_nomap_locals(FILE *fd)
{	Fcts *g;
	char *t;

	for (g = modex_locals; g; g = g->nxt)
	{
		if (spintype(g->dt, g->full?g->full:g->nm))
			continue;

		if (!allprocs && !g->wanted)
			continue;

		if (!imported(g->nm, g->tg, 1))
			continue;

		if (g->purged)
		{	continue;
		}
		g->purged = 1;
		if (!strstr(g->dt, "typedef")
#if 0
		&&  !strstr(g->dt, "struct")
#endif
		)
		{	t = checkfull(g->dt, g->full, g->lno);
			cleanse(g->dt);

if (0)		fprintf(stderr, "%3d: (%d) add_nomap_locals fct %s: dt %s nm %s tg %s full %s fc (%d,%p) want %s [%d]\n",
			g->lno, du_mode, fct_name, g->dt, g->nm, g->tg,
			g->full, g->fc,
			spintype(g->dt, g->full?g->full:g->nm), want, allprocs);

			if (du_mode)
			{	char *yy, *y = g->full?g->full:g->nm;
				while (*y == '*' || *y == ' ' || *y == '\t')
					y++;
				if ((yy = strstr(y, "[]")) != NULL)
				{	*yy = '\0';
				}
				fprintf(fd, "int %s;	/* local to %s */\n",
					y, g->tg);
			} else
			{	fprintf(fd, " c_state \"%s %s\" \"Local p_%s\"",
					g->dt, g->full?g->full:g->nm, g->tg);
				if (t)
				{	fprintf(fd, " \"%s\"", t);
					fprintf(stderr, "modex: error: local %s is ", g->full?g->full:g->nm);
					fprintf(stderr, "initialized in declaration in instrumented %s()\n", g->tg);
				}
				fprintf(fd, " /* nomap */\n");
	}	}	}

	if (used_spin_malloc)
	{	static int not_twice = 0;
		if (not_twice++ == 0)
		{	int i;
			fprintf(fd, " c_state \"char spin_heap[%d]\" \"Global\"\n",
				spin_heap_size);
			fprintf(fd, " c_state \"int  spin_heap_n\" \"Global\"\n");
			fprintf(fd, " c_code {\n");
			for (i = 0; SomeCode[i]; i++)
			{	fprintf(fd, "\t\t%s\n", SomeCode[i]);
			}
			fprintf(fd, " }\n");
	}	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq 0x3a50a(%rip), %rax     # 0x4a5a0
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x1035f
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x100ca
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x100d5
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0xfa40
cmpq $0x0, %rax
je 0x100ed
jmp 0x1034e
leaq 0x37b44(%rip), %rax     # 0x47c38
cmpl $0x0, (%rax)
jne 0x10108
movq -0x10(%rbp), %rax
cmpl $0x0, 0x28(%rax)
jne 0x10108
jmp 0x1034e
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movl $0x1, %edx
callq 0x10430
cmpl $0x0, %eax
jne 0x1012b
jmp 0x1034e
movq -0x10(%rbp), %rax
cmpl $0x0, 0x20(%rax)
je 0x1013a
jmp 0x1034e
movq -0x10(%rbp), %rax
movl $0x1, 0x20(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x2530d(%rip), %rsi     # 0x35461
callq 0x4280
cmpq $0x0, %rax
jne 0x1034c
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
movq -0x10(%rbp), %rax
movl 0x34(%rax), %edx
callq 0xfe90
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x10010
leaq 0x37a91(%rip), %rax     # 0x47c28
cmpl $0x0, (%rax)
je 0x10259
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x101b9
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x48(%rbp)
jmp 0x101c4
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x2a, %ecx
movb %al, -0x49(%rbp)
je 0x101fe
movq -0x28(%rbp), %rax
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x20, %ecx
movb %al, -0x49(%rbp)
je 0x101fe
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x9, %eax
sete %al
movb %al, -0x49(%rbp)
movb -0x49(%rbp), %al
testb $0x1, %al
jne 0x10207
jmp 0x10215
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x101cc
movq -0x28(%rbp), %rdi
leaq 0x22f10(%rip), %rsi     # 0x33130
callq 0x4280
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x10236
movq -0x20(%rbp), %rax
movb $0x0, (%rax)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0x25328(%rip), %rsi     # 0x35575
movb $0x0, %al
callq 0x4190
jmp 0x1034a
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x10286
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x68(%rbp)
jmp 0x10291
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x58(%rbp), %rdx
movq -0x60(%rbp), %rdi
movq -0x68(%rbp), %rcx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %r8
leaq 0x252e4(%rip), %rsi     # 0x35590
movb $0x0, %al
callq 0x4190
cmpq $0x0, -0x18(%rbp)
je 0x10338
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x252e5(%rip), %rsi     # 0x355ae
movb $0x0, %al
callq 0x4190
movq 0x34d21(%rip), %rax     # 0x44ff8
movq (%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x102f7
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x78(%rbp)
jmp 0x10302
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x78(%rbp)
movq -0x70(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0x252a3(%rip), %rsi     # 0x355b4
movb $0x0, %al
callq 0x4190
movq 0x34cd9(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x2529e(%rip), %rsi     # 0x355cf
movb $0x0, %al
callq 0x4190
movq -0x8(%rbp), %rdi
leaq 0x252bd(%rip), %rsi     # 0x35600
movb $0x0, %al
callq 0x4190
jmp 0x1034c
jmp 0x1034e
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x1009a
leaq 0x381ca(%rip), %rax     # 0x48530
cmpl $0x0, (%rax)
je 0x10421
movl 0x3c43b(%rip), %eax     # 0x4c7b0
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x3c430(%rip)     # 0x4c7b0
cmpl $0x0, %eax
jne 0x1041f
movq -0x8(%rbp), %rdi
leaq 0x34e24(%rip), %rax     # 0x451b8
movl (%rax), %edx
leaq 0x25271(%rip), %rsi     # 0x3560e
movb $0x0, %al
callq 0x4190
movq -0x8(%rbp), %rdi
leaq 0x25287(%rip), %rsi     # 0x35636
movb $0x0, %al
callq 0x4190
movq -0x8(%rbp), %rdi
leaq 0x2529b(%rip), %rsi     # 0x3565c
movb $0x0, %al
callq 0x4190
movl $0x0, -0x2c(%rbp)
movslq -0x2c(%rbp), %rcx
leaq 0x35496(%rip), %rax     # 0x45870
cmpq $0x0, (%rax,%rcx,8)
je 0x1040d
movq -0x8(%rbp), %rdi
movslq -0x2c(%rbp), %rcx
leaq 0x35480(%rip), %rax     # 0x45870
movq (%rax,%rcx,8), %rdx
leaq 0x2526c(%rip), %rsi     # 0x35667
movb $0x0, %al
callq 0x4190
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x103cf
movq -0x8(%rbp), %rdi
leaq 0x26838(%rip), %rsi     # 0x36c50
movb $0x0, %al
callq 0x4190
jmp 0x10421
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)