// File: /workspace/github_cpp_makefile_star2_O1/fondoger[P]C0-Compiler/src/error.cpp
// Function: printError(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
static void printError(std::string msg)
{
    std::stringstream buffer;
    buffer << source_filename << ":" << g_line_no << ":"
        << g_word_pos << ":" << msg << std::endl;
    buffer << g_line;
    for (unsigned int i = 0; i < g_word_pos; i++)
        buffer << " ";
    buffer << "^";
    // NOTE:
    // use explicit type conversion here to avoid
    // negative numbers!
    // it took me 2 hour to find this! :(
    for (int i = 0; i < (int)g_pos - (int)g_word_pos - 2; i++)
        buffer << "~";
    buffer << std::endl;
    cached_errors.push_back(buffer.str());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rdi, %r14
leaq -0x1d0(%rbp), %rdi
callq 0x31f0
leaq -0x1c0(%rbp), %rbx
leaq 0x185bb(%rip), %rax     # 0x26068
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %rbx, %rdi
callq 0x3340
movq %rax, %r15
leaq 0xe708(%rip), %rsi      # 0x1c1ce
movl $0x1, %edx
movq %rax, %rdi
callq 0x3340
leaq 0x1bbca(%rip), %rax     # 0x296a4
movl (%rax), %esi
movq %r15, %rdi
callq 0x31c0
movq %rax, %r15
leaq 0xe6e0(%rip), %rsi      # 0x1c1ce
movl $0x1, %edx
movq %rax, %rdi
callq 0x3340
leaq 0x1bba6(%rip), %r12     # 0x296a8
movl (%r12), %esi
movq %r15, %rdi
callq 0x31c0
movq %rax, %r15
leaq 0xe6b6(%rip), %rsi      # 0x1c1ce
movl $0x1, %edx
movq %rax, %rdi
callq 0x3340
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %r15, %rdi
callq 0x3340
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x1bb1b(%rip), %rax     # 0x29680
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %rbx, %rdi
callq 0x3340
cmpl $0x0, (%r12)
je 0xdb9e
xorl %r15d, %r15d
leaq 0xf137(%rip), %r14      # 0x1ccbc
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3340
incl %r15d
cmpl (%r12), %r15d
jb 0xdb85
leaq 0xe69e(%rip), %rsi      # 0x1c243
movl $0x1, %edx
movq %rbx, %rdi
callq 0x3340
leaq 0x1bae7(%rip), %r15     # 0x296a0
movl (%r15), %eax
subl (%r12), %eax
addl $-0x2, %eax
testl %eax, %eax
jle 0xdbf3
xorl %r13d, %r13d
leaq 0xe674(%rip), %r14      # 0x1c245
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3340
incl %r13d
movl (%r15), %eax
subl (%r12), %eax
addl $-0x2, %eax
cmpl %eax, %r13d
jl 0xdbd1
movq -0x1c0(%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq -0x1b8(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x3420
leaq 0x164db(%rip), %rdi     # 0x24110
leaq -0x48(%rbp), %rsi
callq 0xe256
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdc50
callq 0x32a0
movq 0x15349(%rip), %rsi     # 0x22fa0
leaq -0x1d0(%rbp), %rdi
callq 0x3210
leaq -0x150(%rbp), %rdi
callq 0x30e0
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdca1
callq 0x32a0
jmp 0xdca1
jmp 0xdc9e
jmp 0xdc9e
jmp 0xdc9e
movq %rax, %rbx
movq 0x152f8(%rip), %rsi     # 0x22fa0
leaq -0x1d0(%rbp), %rdi
callq 0x3210
leaq -0x150(%rbp), %rdi
callq 0x30e0
movq %rbx, %rdi
callq 0x3480