// File: /workspace/github_cpp_makefile_star2_O2/halfflat[P]tinyopt/test/test_version.cc
// Function: version_consistent_Test::TestBody()
TEST(version, consistent) {
#if defined(TINYOPT_VERSION) && defined(TINYOPT_VERSION_MAJOR) && defined(TINYOPT_VERSION_MINOR) && defined(TINYOPT_VERSION_PATCH) && defined(TINYOPT_VERSION_PRERELEASE)
    ASSERT_TRUE(TINYOPT_VERSION_MAJOR>=0);
    ASSERT_TRUE(TINYOPT_VERSION_MINOR>=0);
    ASSERT_TRUE(TINYOPT_VERSION_PATCH>=0);

    std::stringstream version_nopatch, version;
    version_nopatch << TINYOPT_VERSION_MAJOR << "." << TINYOPT_VERSION_MINOR;
    version << TINYOPT_VERSION_MAJOR << "." << TINYOPT_VERSION_MINOR << "." << TINYOPT_VERSION_PATCH;

    std::stringstream pre;
    pre << TINYOPT_VERSION_PRERELEASE;
    if (!pre.str().empty()) {
        version_nopatch << "-" << TINYOPT_VERSION_PRERELEASE;
        version << "-" << TINYOPT_VERSION_PRERELEASE;
    }

    if (TINYOPT_VERSION_PATCH>0) {
        ASSERT_EQ(version.str(), TINYOPT_VERSION);
    }
    else {
        ASSERT_TRUE(version_nopatch.str()==TINYOPT_VERSION || version.str()==TINYOPT_VERSION);
    }
#else
    FAIL() << "Missing version defines.";
#endif
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x4f8, %rsp            # imm = 0x4F8
movb $0x1, %bpl
leaq 0x68(%rsp), %rbx
movb %bpl, -0x8(%rbx)
andq $0x0, (%rbx)
movq %rbx, %rdi
callq 0x13646
movb %bpl, -0x8(%rbx)
leaq 0x68(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, %rdi
callq 0x13646
movb %bpl, -0x8(%rbx)
leaq 0x68(%rsp), %rdi
andq $0x0, (%rdi)
callq 0x13646
leaq 0x60(%rsp), %rdi
callq 0xd3b0
leaq 0x370(%rsp), %rdi
callq 0xd3b0
leaq 0x70(%rsp), %rbx
pushq $0x1
popq %rsi
movq %rbx, %rdi
callq 0xda80
leaq 0x223a0(%rip), %rsi     # 0x577ec
movq %rax, %rdi
callq 0xd550
pushq $0x1
popq %rsi
movq %rax, %rdi
callq 0xda80
leaq 0x380(%rsp), %r14
pushq $0x1
popq %rsi
movq %r14, %rdi
callq 0xda80
leaq 0x22373(%rip), %rsi     # 0x577ec
movq %rax, %rdi
callq 0xd550
pushq $0x1
popq %rsi
movq %rax, %rdi
callq 0xda80
leaq 0x22359(%rip), %rsi     # 0x577ec
movq %rax, %rdi
callq 0xd550
movq %rax, %rdi
xorl %esi, %esi
callq 0xda80
leaq 0x1e8(%rsp), %rdi
callq 0xd3b0
leaq 0x1f8(%rsp), %rdi
leaq 0x23ba9(%rip), %rsi     # 0x5906a
callq 0xd550
leaq 0x200(%rsp), %rsi
leaq 0x20(%rsp), %rdi
callq 0xd9e0
leaq 0x20(%rsp), %rdi
movq 0x8(%rdi), %r15
callq 0xdbe8
testq %r15, %r15
je 0x35527
leaq 0x27587(%rip), %rsi     # 0x5ca79
movq %rbx, %rdi
callq 0xd550
leaq 0x23b69(%rip), %rsi     # 0x5906a
movq %rax, %rdi
callq 0xd550
leaq 0x27569(%rip), %rsi     # 0x5ca79
movq %r14, %rdi
callq 0xd550
leaq 0x23b4b(%rip), %rsi     # 0x5906a
movq %rax, %rdi
callq 0xd550
leaq 0x78(%rsp), %rsi
leaq 0x20(%rsp), %rdi
callq 0xd9e0
leaq 0x2474e(%rip), %rsi     # 0x59c8b
leaq 0x20(%rsp), %rdi
callq 0x24f71
testb %al, %al
je 0x35565
movb $0x1, 0x10(%rsp)
andq $0x0, 0x18(%rsp)
leaq 0x20(%rsp), %rdi
callq 0xdbe8
jmp 0x3562b
leaq 0x388(%rsp), %rsi
leaq 0x40(%rsp), %rdi
callq 0xd9e0
leaq 0x2470d(%rip), %rsi     # 0x59c8b
leaq 0x40(%rsp), %rbx
movq %rbx, %rdi
callq 0x24f71
movl %eax, %ebp
movb %al, 0x10(%rsp)
andq $0x0, 0x18(%rsp)
movq %rbx, %rdi
callq 0xdbe8
leaq 0x20(%rsp), %rdi
callq 0xdbe8
testb %bpl, %bpl
jne 0x3562b
leaq 0x40(%rsp), %rdi
callq 0x3d5f6
leaq 0x246db(%rip), %rdx     # 0x59c9a
leaq 0x20b49(%rip), %rcx     # 0x5610f
leaq 0x20b48(%rip), %r8      # 0x56115
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x399e5
movq 0x20(%rsp), %r8
leaq 0x24653(%rip), %rdx     # 0x59c3b
leaq 0x8(%rsp), %rdi
pushq $0x2
popq %rsi
pushq $0x3d
popq %rcx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
leaq 0x20(%rsp), %rdi
callq 0xdbe8
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x3562b
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
callq 0x13646
leaq 0x1e8(%rsp), %rdi
callq 0xd410
leaq 0x370(%rsp), %rdi
callq 0xd410
leaq 0x60(%rsp), %rdi
callq 0xd410
addq $0x4f8, %rsp            # imm = 0x4F8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x3b616
jmp 0x35679
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xdbe8
jmp 0x35688
movq %rax, %rbx
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x3569d
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x3569d
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x13646
jmp 0x356c6
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xdbe8
jmp 0x356c6
jmp 0x356c3
jmp 0x356c3
jmp 0x356d5
movq %rax, %rbx
jmp 0x356e5
movq %rax, %rbx
leaq 0x1e8(%rsp), %rdi
callq 0xd410
jmp 0x356d8
movq %rax, %rbx
leaq 0x370(%rsp), %rdi
callq 0xd410
leaq 0x60(%rsp), %rdi
callq 0xd410
movq %rbx, %rdi
callq 0xdaa0
nop