// File: /workspace/github_cpp_makefile_star2_O1/acliusBackHome[P]kamaya/dist/ParseType.cpp
// Function: ParseType::get_base_type_name[abi:cxx11](BaseType, int)
string ParseType::get_base_type_name(BaseType base_type, int specifier) {
    string res;
    if (specifier & S_UNSIGNED) {
        res += "unsigned ";
    }
    if (specifier & S_LONG) {
        res += "long ";
    }
    switch (base_type) {
        case T_UNKNOWN:
            return "unknown";
        case T_SHORT:
            return res + "short";
        case T_INT:
            return res + "int";
        case T_LONG:
            return res + "long";
        case T_FLOAT:
            return res + "float";
        case T_DOUBLE:
            return res + "double";
        case T_BOOL:
            return "bool";
        case T_CHAR:
            return "char";
        case T_ENUM:
            return "enum";
        case T_VOID:
            return "void";
    }
    return "unknown";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movl %edx, %r15d
movl %esi, %r14d
movq %rdi, %rbx
leaq -0x30(%rbp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
testb $0x1, %r15b
je 0x280b7
leaq 0x1edff(%rip), %rsi     # 0x46ead
leaq -0x40(%rbp), %rdi
callq 0x45c0
testb $0x2, %r15b
je 0x280cd
leaq 0x1edf3(%rip), %rsi     # 0x46eb7
leaq -0x40(%rbp), %rdi
callq 0x45c0
cmpl $0x9, %r14d
ja 0x28252
movl %r14d, %eax
leaq 0x1ed63(%rip), %rcx     # 0x46e44
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1e50f(%rip), %rsi     # 0x46607
leaq 0x1e50f(%rip), %rdx     # 0x4660e
movq %rbx, %rdi
callq 0xf65c
jmp 0x2828e
leaq 0x10(%rbx), %r15
movq %r15, (%rbx)
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0xf5c2
leaq 0x1f722(%rip), %rsi     # 0x4784f
movq %rbx, %rdi
callq 0x45c0
jmp 0x2828e
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1ed8c(%rip), %rsi     # 0x46ed4
leaq 0x1ed89(%rip), %rdx     # 0x46ed8
movq %rbx, %rdi
callq 0xf65c
jmp 0x2828e
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1ed65(%rip), %rsi     # 0x46ecf
leaq 0x1ed62(%rip), %rdx     # 0x46ed3
movq %rbx, %rdi
callq 0xf65c
jmp 0x2828e
leaq 0x10(%rbx), %r15
movq %r15, (%rbx)
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0xf5c2
leaq 0x1ed1e(%rip), %rsi     # 0x46ebd
movq %rbx, %rdi
callq 0x45c0
jmp 0x2828e
leaq 0x10(%rbx), %r15
movq %r15, (%rbx)
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0xf5c2
leaq 0x1ecfb(%rip), %rsi     # 0x46ec8
movq %rbx, %rdi
callq 0x45c0
jmp 0x2828e
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1f690(%rip), %rsi     # 0x47878
leaq 0x1f68d(%rip), %rdx     # 0x4787c
movq %rbx, %rdi
callq 0xf65c
jmp 0x2828e
leaq 0x10(%rbx), %r15
movq %r15, (%rbx)
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0xf5c2
leaq 0x1eca6(%rip), %rsi     # 0x46ec3
movq %rbx, %rdi
callq 0x45c0
jmp 0x2828e
leaq 0x10(%rbx), %r15
movq %r15, (%rbx)
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0xf5c2
leaq 0x1f624(%rip), %rsi     # 0x4786c
movq %rbx, %rdi
callq 0x45c0
jmp 0x2828e
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1e3a7(%rip), %rsi     # 0x46607
leaq 0x1e3a7(%rip), %rdx     # 0x4660e
movq %rbx, %rdi
callq 0xf65c
jmp 0x2828e
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1e82b(%rip), %rsi     # 0x46aaa
leaq 0x1e828(%rip), %rdx     # 0x46aae
movq %rbx, %rdi
callq 0xf65c
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x2829c
callq 0x42b0
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x282b4
jmp 0x282b4
jmp 0x282b4
jmp 0x282b4
movq %rax, %r14
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x282d5
callq 0x42b0
jmp 0x282d5
jmp 0x282d2
jmp 0x282d2
jmp 0x282d2
jmp 0x282d2
jmp 0x282d2
jmp 0x282d2
movq %rax, %r14
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0x282e3
callq 0x42b0
movq %r14, %rdi
callq 0x4560
nop