// File: /workspace/github_cpp_makefile_star2_O3/xelia-it[P]mustache/third-party/catch2/single_include/catch2/catch.hpp
// Function: Catch::RunContext::handleFatalErrorCondition(Catch::StringRef)
void RunContext::handleFatalErrorCondition( StringRef message ) {
        // First notify reporter that bad things happened
        m_reporter->fatalErrorEncountered(message);

        // Don't rebuild the result -- the stringification itself can cause more fatal errors
        // Instead, fake a result data.
        AssertionResultData tempResult( ResultWas::FatalErrorCondition, { false } );
        tempResult.message = static_cast<std::string>(message);
        AssertionResult result(m_lastAssertionInfo, tempResult);

        assertionEnded(result);

        handleUnfinishedSections();

        // Recreate section for test case (as we will lose the one that was in scope)
        auto const& testCaseInfo = m_activeTestCase->getTestCaseInfo();
        SectionInfo testCaseSection(testCaseInfo.lineInfo, testCaseInfo.name);

        Counts assertions;
        assertions.failed = 1;
        SectionStats testCaseSectionStats(testCaseSection, assertions, 0, false);
        m_reporter->sectionEnded(testCaseSectionStats);

        auto const& testInfo = m_activeTestCase->getTestCaseInfo();

        Totals deltaTotals;
        deltaTotals.testCases.failed = 1;
        deltaTotals.assertions.failed = 1;
        m_reporter->testCaseEnded(TestCaseStats(testInfo,
                                  deltaTotals,
                                  std::string(),
                                  std::string(),
                                  false));
        m_totals.testCases.failed++;
        testGroupEnded(std::string(), m_totals, 1, 1);
        m_reporter->testRunEnded(TestRunStats(m_runInfo, m_totals, false));
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x388, %rsp            # imm = 0x388
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
movq 0x128(%rdi), %rdi
movq (%rdi), %rax
callq *0x80(%rax)
leaq -0x240(%rbp), %r12
movq %r12, %rdi
xorl %esi, %esi
callq 0x1d0b8
leaq -0xc0(%rbp), %rdi
movl $0x210, %esi            # imm = 0x210
movq %r12, %rdx
callq 0x1d67a
leaq -0x230(%rbp), %r12
movq %r12, -0x10(%r12)
addq %r15, %r14
leaq -0x240(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x431c8
leaq -0xc0(%rbp), %rdi
leaq -0x240(%rbp), %r14
movq %r14, %rsi
callq 0x1b640
movq (%r14), %rdi
cmpq %r12, %rdi
je 0x2a73a
callq 0x1b4d0
leaq 0x160(%rbx), %rsi
leaq -0x2f0(%rbp), %rdi
leaq -0xc0(%rbp), %rdx
callq 0x1d7b2
leaq -0x2f0(%rbp), %rsi
movq %rbx, %rdi
callq 0x2a08c
movq %rbx, %rdi
callq 0x2aa36
movq 0x38(%rbx), %rdx
leaq 0x90(%rdx), %rsi
leaq -0x110(%rbp), %rdi
callq 0x2b788
xorps %xmm0, %xmm0
leaq -0x260(%rbp), %rdx
movaps %xmm0, (%rdx)
movq $0x0, 0x10(%rdx)
movq $0x1, 0x8(%rdx)
leaq -0x370(%rbp), %rdi
leaq -0x110(%rbp), %rsi
xorps %xmm0, %xmm0
xorl %ecx, %ecx
callq 0x24cf2
movq 0x128(%rbx), %rdi
movq (%rdi), %rax
leaq -0x370(%rbp), %rsi
callq *0x58(%rax)
movq 0x38(%rbx), %rsi
leaq -0x3a8(%rbp), %rdx
movl $0x0, (%rdx)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rdx)
movups %xmm0, 0x8(%rdx)
movups %xmm0, 0x18(%rdx)
movl $0x1, %eax
movq %rax, 0x28(%rdx)
movq %rax, 0x10(%rdx)
movq 0x128(%rbx), %r14
leaq -0x58(%rbp), %r15
movq %r15, -0x10(%r15)
xorl %eax, %eax
movq %rax, -0x8(%r15)
movb %al, (%r15)
leaq -0x38(%rbp), %r13
movq %r13, -0x10(%r13)
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq -0x240(%rbp), %rdi
leaq -0x68(%rbp), %rcx
leaq -0x48(%rbp), %r8
xorl %r9d, %r9d
callq 0x24e16
movq (%r14), %rax
leaq -0x240(%rbp), %rsi
movq %r14, %rdi
callq *0x60(%rax)
leaq -0x240(%rbp), %rdi
callq 0x24f12
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x2a861
callq 0x1b4d0
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
je 0x2a86f
callq 0x1b4d0
leaq 0xf0(%rbx), %r14
incq 0x118(%rbx)
leaq -0x240(%rbp), %rsi
movq %r12, (%rsi)
movq $0x0, 0x8(%rsi)
movb $0x0, 0x10(%rsi)
movl $0x1, %ecx
movl $0x1, %r8d
movq %rbx, %rdi
movq %r14, %rdx
callq 0x294ba
movq -0x240(%rbp), %rdi
cmpq %r12, %rdi
je 0x2a8ba
callq 0x1b4d0
movq 0x128(%rbx), %r15
addq $0x10, %rbx
leaq -0x240(%rbp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x250f2
movq (%r15), %rax
leaq -0x240(%rbp), %rsi
movq %r15, %rdi
callq *0x70(%rax)
leaq -0x240(%rbp), %rdi
callq 0x25164
leaq -0x370(%rbp), %rdi
callq 0x24db6
leaq -0xe0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2a916
callq 0x1b4d0
leaq -0x100(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2a92b
callq 0x1b4d0
leaq -0x288(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2a940
callq 0x1b4d0
leaq -0x2a8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2a955
callq 0x1b4d0
leaq -0x90(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2a96a
callq 0x1b4d0
leaq -0xb0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2a97f
callq 0x1b4d0
addq $0x388, %rsp            # imm = 0x388
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x240(%rbp), %rdi
callq 0x25164
jmp 0x2a9ea
jmp 0x2a9e7
movq %rax, %rbx
movq -0x240(%rbp), %rdi
cmpq %r12, %rdi
jne 0x2a9e0
jmp 0x2a9ea
movq %rax, %rbx
leaq -0x240(%rbp), %rdi
callq 0x24f12
jmp 0x2a9c9
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x2a9d7
callq 0x1b4d0
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
je 0x2a9ea
callq 0x1b4d0
jmp 0x2a9ea
movq %rax, %rbx
leaq -0x370(%rbp), %rdi
callq 0x24db6
leaq -0x110(%rbp), %rdi
callq 0x3edc6
jmp 0x2aa15
movq %rax, %rbx
jmp 0x2a9f6
jmp 0x2aa12
jmp 0x2aa0d
movq %rax, %rbx
jmp 0x2aa21
movq %rax, %rbx
leaq -0x2f0(%rbp), %rdi
callq 0x3ed90
leaq -0xc0(%rbp), %rdi
callq 0x3f90e
movq %rbx, %rdi
callq 0x1b910
nop