// File: /workspace/github_c_makefile_star2_O1/Yamsman[P]scc/src/sym.c
// Function: symtable_predef
void symtable_predef(symtable *stb) {
	//Get date and time strings
	static char sdate[16];
	static char stime[16];
	time_t c_time = time(NULL);
	struct tm *l_time = localtime(&c_time);
	strftime(sdate, 16, "\"%b %d %Y\"", l_time);
	strftime(stime, 16, "\"%H:%M:%S\"", l_time);

	//Static buffer for __FILE__ and __LINE__ (filled in lex_expand_macro)
	static char sfili[256];
	
	//Predefine macros
	PREDEF_MACRO(stb, __DATE__, sdate);
	PREDEF_MACRO(stb, __FILE__, sfili);
	PREDEF_MACRO(stb, __LINE__, sfili);
	PREDEF_MACRO(stb, __STDC__, "1");
	PREDEF_MACRO(stb, __STDC_HOSTED__, "0");
	PREDEF_MACRO(stb, __STDC_VERSION__, "199901L");
	PREDEF_MACRO(stb, __TIME__, stime);
	return;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
xorl %r13d, %r13d
xorl %edi, %edi
callq 0x3160
movq %rsp, %rdi
movq %rax, (%rdi)
callq 0x3050
movq %rax, %r12
leaq 0x88f5(%rip), %r15      # 0x145a0
leaq 0x330e(%rip), %rdx      # 0xefc0
movl $0x10, %esi
movq %r15, %rdi
movq %rax, %rcx
callq 0x31b0
leaq 0x88e7(%rip), %r14      # 0x145b0
leaq 0x32fb(%rip), %rdx      # 0xefcb
movl $0x10, %esi
movq %r14, %rdi
movq %r12, %rcx
callq 0x31b0
movl $0x40, %edi
callq 0x3170
movq %rax, %r12
movaps 0x32ac(%rip), %xmm0     # 0xefa0
movups %xmm0, (%rax)
leaq 0x28(%rax), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movl %r13d, 0x20(%rax)
xorl %esi, %esi
callq 0xc964
movq %r13, 0x38(%r12)
leaq 0x32bd(%rip), %rsi      # 0xefd6
movq %rbx, %rdi
movq %r12, %rdx
xorl %ecx, %ecx
callq 0xbf25
movq %r15, 0x48(%rax)
movl $0x1, %ebp
movl %ebp, 0x54(%rax)
movl $0x40, %edi
callq 0x3170
movq %rax, %r15
movaps 0x325a(%rip), %xmm0     # 0xefa0
movups %xmm0, (%rax)
leaq 0x28(%rax), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movl %r13d, 0x20(%rax)
xorl %esi, %esi
callq 0xc964
movq %r13, 0x38(%r15)
leaq 0x20d0(%rip), %rsi      # 0xde3a
movq %rbx, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0xbf25
leaq 0x8842(%rip), %r12      # 0x145c0
movq %r12, 0x48(%rax)
movl %ebp, 0x54(%rax)
movl $0x40, %edi
callq 0x3170
movq %rax, %r15
movaps 0x3207(%rip), %xmm0     # 0xefa0
movups %xmm0, (%rax)
leaq 0x28(%rax), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movl %r13d, 0x20(%rax)
xorl %esi, %esi
callq 0xc964
movq %r13, 0x38(%r15)
leaq 0x208b(%rip), %rsi      # 0xde48
movq %rbx, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0xbf25
movq %r12, 0x48(%rax)
movl %ebp, 0x54(%rax)
movl $0x40, %edi
callq 0x3170
movq %rax, %r15
movaps 0x31bb(%rip), %xmm0     # 0xefa0
movups %xmm0, (%rax)
leaq 0x28(%rax), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movl %r13d, 0x20(%rax)
xorl %esi, %esi
callq 0xc964
movq %r13, 0x38(%r15)
leaq 0x31d6(%rip), %rsi      # 0xefdf
movq %rbx, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0xbf25
leaq 0x18f4(%rip), %rcx      # 0xd711
movq %rcx, 0x48(%rax)
movl %ebp, 0x54(%rax)
movl $0x40, %edi
callq 0x3170
movq %rax, %r15
movaps 0x3168(%rip), %xmm0     # 0xefa0
movups %xmm0, (%rax)
leaq 0x28(%rax), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movl %r13d, 0x20(%rax)
xorl %esi, %esi
callq 0xc964
movq %r13, 0x38(%r15)
leaq 0x318c(%rip), %rsi      # 0xefe8
movq %rbx, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0xbf25
leaq 0x189d(%rip), %rcx      # 0xd70d
movq %rcx, 0x48(%rax)
movl %ebp, 0x54(%rax)
movl $0x40, %edi
callq 0x3170
movq %rax, %r15
movaps 0x3115(%rip), %xmm0     # 0xefa0
movups %xmm0, (%rax)
leaq 0x28(%rax), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movl %r13d, 0x20(%rax)
xorl %esi, %esi
callq 0xc964
movq %r13, 0x38(%r15)
leaq 0x3149(%rip), %rsi      # 0xeff8
movq %rbx, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0xbf25
leaq 0x3146(%rip), %rcx      # 0xf009
movq %rcx, 0x48(%rax)
movl %ebp, 0x54(%rax)
movl $0x40, %edi
callq 0x3170
movq %rax, %r15
movaps 0x30c2(%rip), %xmm0     # 0xefa0
movups %xmm0, (%rax)
leaq 0x28(%rax), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movl %r13d, 0x20(%rax)
xorl %esi, %esi
callq 0xc964
movq %r13, 0x38(%r15)
leaq 0x310f(%rip), %rsi      # 0xf011
movq %rbx, %rdi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0xbf25
movq %r14, 0x48(%rax)
movl %ebp, 0x54(%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq