// File: /workspace/github_cpp_makefile_star2_O3/xelia-it[P]mustache/third-party/catch2/single_include/catch2/catch.hpp
// Function: Catch::TestCaseTracking::TrackerBase::close()
void TrackerBase::close() {

        // Close any still open children (e.g. generators)
        while( &m_ctx.currentTracker() != this )
            m_ctx.currentTracker().close();

        switch( m_runState ) {
            case NeedsAnotherRun:
                break;

            case Executing:
                m_runState = CompletedSuccessfully;
                break;
            case ExecutingChildren:
                if( std::all_of(m_children.begin(), m_children.end(), [](ITrackerPtr const& t){ return t->isComplete(); }) )
                    m_runState = CompletedSuccessfully;
                break;

            case NotStarted:
            case CompletedSuccessfully:
            case Failed:
                CATCH_INTERNAL_ERROR( "Illogical state: " << m_runState );

            default:
                CATCH_INTERNAL_ERROR( "Unknown state: " << m_runState );
        }
        moveToParent();
        m_ctx.completeCycle();
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
movq 0x38(%rdi), %rax
movq 0x10(%rax), %rdi
cmpq %rbx, %rdi
je 0x2f7d3
movq (%rdi), %rax
callq *0x40(%rax)
movq 0x38(%rbx), %rax
jmp 0x2f7be
movl 0x60(%rbx), %eax
cmpq $0x5, %rax
ja 0x2f98b
leaq 0x49951(%rip), %rcx     # 0x79138
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x48(%rbx), %r14
movq 0x50(%rbx), %r15
movq %r15, %r12
subq %r14, %r12
movq %r12, %r13
sarq $0x6, %r13
testq %r13, %r13
jle 0x2f861
incq %r13
addq $0x20, %r14
movq -0x20(%r14), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8aa
movq -0x10(%r14), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8b0
movq (%r14), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8ba
movq 0x10(%r14), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8b6
decq %r13
addq $0x40, %r14
addq $-0x40, %r12
cmpq $0x1, %r13
jg 0x2f811
addq $-0x20, %r14
sarq $0x4, %r12
cmpq $0x1, %r12
je 0x2f899
cmpq $0x2, %r12
je 0x2f888
cmpq $0x3, %r12
jne 0x2f8bf
movq (%r14), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8ba
addq $0x10, %r14
movq (%r14), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8ba
addq $0x10, %r14
movq (%r14), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
cmovneq %r15, %r14
jmp 0x2f8ba
addq $-0x20, %r14
jmp 0x2f8ba
addq $-0x10, %r14
jmp 0x2f8ba
addq $0x10, %r14
cmpq %r15, %r14
jne 0x2f8c6
movl $0x4, 0x60(%rbx)
movq 0x40(%rbx), %rax
testq %rax, %rax
je 0x2f96c
movq 0x38(%rbx), %rcx
movq %rax, 0x10(%rcx)
movl $0x2, 0x18(%rcx)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq -0x40(%rbp), %r14
movq %r14, %rdi
callq 0x2d4e2
leaq 0x4b5d1(%rip), %rax     # 0x7aed5
leaq -0x70(%rbp), %rsi
movq %rax, (%rsi)
movq $0x3890, 0x8(%rsi)      # imm = 0x3890
movq 0x10(%r14), %rdi
callq 0x22e17
movq -0x30(%rbp), %rdi
leaq 0x4b844(%rip), %rsi     # 0x7b16b
movl $0x19, %edx
callq 0x1b5e0
movq -0x30(%rbp), %rdi
leaq 0x4becb(%rip), %rsi     # 0x7b807
movl $0x11, %edx
callq 0x1b5e0
movq -0x30(%rbp), %rdi
movl 0x60(%rbx), %esi
callq 0x1b8c0
movq -0x30(%rbp), %rsi
addq $0x8, %rsi
leaq -0x60(%rbp), %rdi
callq 0x1b7f0
leaq -0x60(%rbp), %rdi
callq 0x23e01
leaq 0x4be4a(%rip), %rdi     # 0x7b7bd
leaq 0x4b55b(%rip), %rsi     # 0x7aed5
leaq 0x4bea8(%rip), %rcx     # 0x7b829
movl $0x38a4, %edx           # imm = 0x38A4
callq 0x1b320
leaq -0x40(%rbp), %r14
movq %r14, %rdi
callq 0x2d4e2
leaq 0x4b537(%rip), %rax     # 0x7aed5
leaq -0x70(%rbp), %rsi
movq %rax, (%rsi)
movq $0x3893, 0x8(%rsi)      # imm = 0x3893
movq 0x10(%r14), %rdi
callq 0x22e17
movq -0x30(%rbp), %rdi
leaq 0x4b7aa(%rip), %rsi     # 0x7b16b
movl $0x19, %edx
callq 0x1b5e0
movq -0x30(%rbp), %rdi
leaq 0x4be43(%rip), %rsi     # 0x7b819
movl $0xf, %edx
callq 0x1b5e0
movq -0x30(%rbp), %rdi
movl 0x60(%rbx), %esi
callq 0x1b8c0
movq -0x30(%rbp), %rsi
addq $0x8, %rsi
leaq -0x60(%rbp), %rdi
callq 0x1b7f0
leaq -0x60(%rbp), %rdi
callq 0x23e01
jmp 0x2fa08
movq %rax, %rbx
leaq -0x50(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2fa24
callq 0x1b4d0
jmp 0x2fa24
jmp 0x2fa21
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x2d528
movq %rbx, %rdi
callq 0x1b910
nop