// File: /workspace/github_cpp_makefile_star2_O2/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 $0x58, %rsp
movq %rdi, %r14
movq 0x38(%r14), %rax
movq 0x10(%rax), %rdi
cmpq %r14, %rdi
je 0x327c7
movq (%rdi), %rax
callq *0x40(%rax)
jmp 0x327b2
leaq 0x60(%r14), %r12
movl 0x60(%r14), %eax
cmpq $0x5, %rax
ja 0x32956
leaq 0x3f958(%rip), %rcx     # 0x72138
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %r12, -0x30(%rbp)
movq 0x48(%r14), %r15
movq 0x50(%r14), %rbx
movq %rbx, %r12
subq %r15, %r12
movq %r12, %r13
sarq $0x6, %r13
testq %r13, %r13
jle 0x3284b
movq (%r15), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x32888
movq 0x10(%r15), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x32878
movq 0x20(%r15), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x3287e
movq 0x30(%r15), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x32884
addq $0x40, %r15
decq %r13
addq $-0x40, %r12
jmp 0x32802
sarq $0x4, %r12
cmpq $0x1, %r12
je 0x328d2
cmpq $0x2, %r12
je 0x328bb
cmpq $0x3, %r12
movq -0x30(%rbp), %r12
jne 0x32891
movq (%r15), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x3288c
addq $0x10, %r15
jmp 0x328bf
addq $0x10, %r15
jmp 0x32888
addq $0x20, %r15
jmp 0x32888
addq $0x30, %r15
movq -0x30(%rbp), %r12
cmpq %rbx, %r15
jne 0x32899
movl $0x4, (%r12)
movq %r14, %rdi
callq 0x329ec
movq 0x38(%r14), %rax
movl $0x2, 0x18(%rax)
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq -0x30(%rbp), %r12
movq (%r15), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x3288c
addq $0x10, %r15
jmp 0x328d6
movq -0x30(%rbp), %r12
movq (%r15), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
cmovneq %rbx, %r15
jmp 0x3288c
movq %r12, %rbx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x30e18
leaq 0x415b0(%rip), %rax     # 0x73ead
leaq -0x78(%rbp), %rsi
movq %rax, (%rsi)
movq $0x3890, 0x8(%rsi)      # imm = 0x3890
movq 0x10(%r14), %rdi
callq 0x2921b
movq -0x38(%rbp), %rdi
leaq 0x41823(%rip), %rsi     # 0x74143
callq 0x24570
movq -0x38(%rbp), %rdi
leaq 0x41eaf(%rip), %rsi     # 0x747df
callq 0x24570
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x3f7de
leaq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0x25486
leaq -0x68(%rbp), %rdi
callq 0x29ee0
movq %r12, %rbx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x30e18
leaq 0x41541(%rip), %rax     # 0x73ead
leaq -0x78(%rbp), %rsi
movq %rax, (%rsi)
movq $0x3893, 0x8(%rsi)      # imm = 0x3893
movq 0x10(%r14), %rdi
callq 0x2921b
movq -0x38(%rbp), %rdi
leaq 0x417b4(%rip), %rsi     # 0x74143
callq 0x24570
movq -0x38(%rbp), %rdi
leaq 0x41e52(%rip), %rsi     # 0x747f1
callq 0x24570
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x3f7de
leaq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0x25486
leaq -0x68(%rbp), %rdi
callq 0x29ee0
jmp 0x329c7
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0x24ad8
jmp 0x329da
jmp 0x329d7
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x30e5e
movq %rbx, %rdi
callq 0x24950
nop