// File: /workspace/github_cpp_makefile_star2_O1/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 0x2f7ff
movq (%rdi), %rax
callq *0x40(%rax)
movq 0x38(%rbx), %rax
jmp 0x2f7ea
movl 0x60(%rbx), %eax
cmpq $0x5, %rax
ja 0x2f9cd
leaq 0x4a925(%rip), %rcx     # 0x7a138
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x48(%rbx), %r12
movq 0x50(%rbx), %r14
movq %r14, %r13
subq %r12, %r13
sarq $0x6, %r13
testq %r13, %r13
jle 0x2f894
incq %r13
addq $0x20, %r12
movq %r12, %r15
movq -0x20(%r15), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8ec
movq -0x10(%r15), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8f2
movq (%r15), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8fc
movq 0x10(%r15), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8f8
decq %r13
addq $0x40, %r15
cmpq $0x1, %r13
jg 0x2f83d
addq $-0x20, %r15
movq %r15, %r12
movq %r14, %rax
subq %r12, %rax
sarq $0x4, %rax
cmpq $0x1, %rax
je 0x2f8d7
cmpq $0x2, %rax
je 0x2f8c5
movq %r14, %r15
cmpq $0x3, %rax
jne 0x2f8fc
movq (%r12), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8e7
addq $0x10, %r12
movq (%r12), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x2f8e7
addq $0x10, %r12
movq (%r12), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
cmovneq %r14, %r12
movq %r12, %r15
jmp 0x2f8fc
addq $-0x20, %r15
jmp 0x2f8fc
addq $-0x10, %r15
jmp 0x2f8fc
addq $0x10, %r15
cmpq %r14, %r15
jne 0x2f908
movl $0x4, 0x60(%rbx)
movq 0x40(%rbx), %rax
testq %rax, %rax
je 0x2f9ae
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 0x2d4f4
leaq 0x4c58f(%rip), %rax     # 0x7bed5
leaq -0x70(%rbp), %rsi
movq %rax, (%rsi)
movq $0x3890, 0x8(%rsi)      # imm = 0x3890
movq 0x10(%r14), %rdi
callq 0x22e23
movq -0x30(%rbp), %rdi
leaq 0x4c802(%rip), %rsi     # 0x7c16b
movl $0x19, %edx
callq 0x1b5e0
movq -0x30(%rbp), %rdi
leaq 0x4ce89(%rip), %rsi     # 0x7c807
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 0x23e3c
leaq 0x4ce08(%rip), %rdi     # 0x7c7bd
leaq 0x4c519(%rip), %rsi     # 0x7bed5
leaq 0x4ce66(%rip), %rcx     # 0x7c829
movl $0x38a4, %edx           # imm = 0x38A4
callq 0x1b320
leaq -0x40(%rbp), %r14
movq %r14, %rdi
callq 0x2d4f4
leaq 0x4c4f5(%rip), %rax     # 0x7bed5
leaq -0x70(%rbp), %rsi
movq %rax, (%rsi)
movq $0x3893, 0x8(%rsi)      # imm = 0x3893
movq 0x10(%r14), %rdi
callq 0x22e23
movq -0x30(%rbp), %rdi
leaq 0x4c768(%rip), %rsi     # 0x7c16b
movl $0x19, %edx
callq 0x1b5e0
movq -0x30(%rbp), %rdi
leaq 0x4ce01(%rip), %rsi     # 0x7c819
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 0x23e3c
jmp 0x2fa4a
movq %rax, %rbx
leaq -0x50(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2fa66
callq 0x1b4d0
jmp 0x2fa66
jmp 0x2fa63
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x2d53a
movq %rbx, %rdi
callq 0x1b910
nop