// File: /workspace/github_cpp_makefile_star2_O2/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 %rbx
subq $0x398, %rsp            # imm = 0x398
movq %rdi, %rbx
leaq -0x68(%rbp), %r14
movq %rsi, (%r14)
movq %rdx, 0x8(%r14)
movq 0x128(%rdi), %rdi
movq (%rdi), %rax
callq *0x80(%rax)
leaq -0x1e8(%rbp), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x25734
leaq -0x240(%rbp), %rdi
movl $0x210, %esi            # imm = 0x210
movq %r15, %rdx
callq 0x25bae
leaq -0x1e8(%rbp), %rdi
movq %r14, %rsi
callq 0x3d4fc
leaq -0x240(%rbp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x24690
movq %r15, %rdi
callq 0x24ad8
leaq 0x160(%rbx), %rsi
leaq -0x370(%rbp), %rdi
movq %r14, %rdx
callq 0x25cc0
leaq -0x370(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ea1e
movq %rbx, %rdi
callq 0x2f27c
movq 0x38(%rbx), %rdx
leaq 0x90(%rdx), %rsi
leaq -0xb8(%rbp), %rdi
callq 0x2fb9e
xorps %xmm0, %xmm0
leaq -0x260(%rbp), %rdx
movaps %xmm0, (%rdx)
andq $0x0, 0x10(%rdx)
movq $0x1, 0x8(%rdx)
leaq -0x2e0(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
xorps %xmm0, %xmm0
xorl %ecx, %ecx
callq 0x2ab66
movq 0x128(%rbx), %rdi
movq (%rdi), %rax
leaq -0x2e0(%rbp), %rsi
callq *0x58(%rax)
movq 0x38(%rbx), %rsi
leaq -0x3a8(%rbp), %rdx
andl $0x0, (%rdx)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rdx)
movups %xmm0, 0x8(%rdx)
movups %xmm0, 0x18(%rdx)
pushq $0x1
popq %rax
movq %rax, 0x28(%rdx)
movq %rax, 0x10(%rdx)
movq 0x128(%rbx), %r14
leaq -0x48(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movb %cl, (%rax)
leaq -0x28(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
leaq -0x1e8(%rbp), %rdi
leaq -0x58(%rbp), %rcx
leaq -0x38(%rbp), %r8
xorl %r9d, %r9d
callq 0x2abf8
movq (%r14), %rax
leaq -0x1e8(%rbp), %rsi
movq %r14, %rdi
callq *0x60(%rax)
leaq -0x1e8(%rbp), %rdi
callq 0x2acba
leaq -0x38(%rbp), %rdi
callq 0x24ad8
leaq -0x58(%rbp), %rdi
callq 0x24ad8
incq 0x118(%rbx)
leaq 0xf0(%rbx), %r14
leaq -0x1d8(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0x1e8(%rbp), %rsi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movq %r14, %rdx
movq %rcx, %r8
callq 0x2e0dc
leaq -0x1e8(%rbp), %rdi
callq 0x24ad8
movq 0x128(%rbx), %r15
addq $0x10, %rbx
leaq -0x1e8(%rbp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x2adec
movq (%r15), %rax
leaq -0x1e8(%rbp), %rsi
movq %r15, %rdi
callq *0x70(%rax)
leaq -0x1e8(%rbp), %rdi
callq 0x2ae4a
leaq -0x2e0(%rbp), %rdi
callq 0x2abc0
leaq -0xb8(%rbp), %rdi
callq 0x3e0d2
leaq -0x338(%rbp), %rdi
callq 0x3ecc2
leaq -0x240(%rbp), %rdi
callq 0x3ecc2
addq $0x398, %rsp            # imm = 0x398
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x1e8(%rbp), %rdi
callq 0x2ae4a
jmp 0x2f230
jmp 0x2f22d
movq %rax, %rbx
leaq -0x1e8(%rbp), %rdi
jmp 0x2f226
movq %rax, %rbx
leaq -0x1e8(%rbp), %rdi
callq 0x2acba
jmp 0x2f219
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x24ad8
leaq -0x58(%rbp), %rdi
callq 0x24ad8
jmp 0x2f230
movq %rax, %rbx
leaq -0x2e0(%rbp), %rdi
callq 0x2abc0
leaq -0xb8(%rbp), %rdi
callq 0x3e0d2
jmp 0x2f25b
movq %rax, %rbx
jmp 0x2f23c
jmp 0x2f258
jmp 0x2f253
movq %rax, %rbx
jmp 0x2f267
movq %rax, %rbx
leaq -0x338(%rbp), %rdi
callq 0x3ecc2
leaq -0x240(%rbp), %rdi
callq 0x3ecc2
movq %rbx, %rdi
callq 0x24950
nop