// File: ahupowerdns[P]mcounter/./ext/doctest.h
// Function: doctest::detail::Subcase::~Subcase()
Subcase::~Subcase() {
        if(m_entered) {
            // only mark the subcase stack as passed if no subcases have been skipped
            if(g_cs->should_reenter == false)
                g_cs->subcasesPassed.insert(g_cs->subcasesStack);
            g_cs->subcasesStack.pop_back();

#if defined(__cpp_lib_uncaught_exceptions) && __cpp_lib_uncaught_exceptions >= 201411L && (!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200)
            if(std::uncaught_exceptions() > 0
#else
            if(std::uncaught_exception()
#endif
            && g_cs->shouldLogCurrentException) {
                DOCTEST_ITERATE_THROUGH_REPORTERS(
                        test_case_exception, {"exception thrown in subcase - will translate later "
                                              "when the whole test case has been exited (cannot "
                                              "translate while there is an active exception)",
                                              false});
                g_cs->shouldLogCurrentException = false;
            }
            DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_end, DOCTEST_EMPTY);
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
testb $0x1, 0x28(%rax)
je 0xa20f
movq 0x474e0(%rip), %rax     # 0x51548
movb 0x115c(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0xa0b8
movq 0x474c9(%rip), %rsi     # 0x51548
movq %rsi, %rdi
addq $0x1128, %rdi           # imm = 0x1128
addq $0x1110, %rsi           # imm = 0x1110
callq 0x21020
movb %dl, -0x89(%rbp)
movq %rax, -0x88(%rbp)
jmp 0xa0a4
movb -0x89(%rbp), %al
movq -0x88(%rbp), %rcx
movq %rcx, -0x18(%rbp)
movb %al, -0x10(%rbp)
movq 0x47489(%rip), %rdi     # 0x51548
addq $0x1110, %rdi           # imm = 0x1110
callq 0x20ef0
callq 0x6590
cmpl $0x0, %eax
jle 0xa1a3
movq 0x47468(%rip), %rdi     # 0x51548
addq $0x115d, %rdi           # imm = 0x115D
callq 0x21070
testb $0x1, %al
jne 0xa0f5
jmp 0xa1a3
movq 0x4744c(%rip), %rax     # 0x51548
addq $0x10d0, %rax           # imm = 0x10D0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x20f20
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
callq 0x20f50
movq %rax, -0x30(%rbp)
leaq -0x28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x20f80
testb $0x1, %al
jne 0xa133
jmp 0xa18e
leaq -0x28(%rbp), %rdi
callq 0x20fc0
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x98(%rbp)
leaq 0x2e495(%rip), %rsi     # 0x385ea
leaq -0x58(%rbp), %rdi
callq 0x7960
jmp 0xa160
movq -0x98(%rbp), %rdi
movb $0x0, -0x40(%rbp)
movq (%rdi), %rax
movq 0x30(%rax), %rax
leaq -0x58(%rbp), %rsi
callq *%rax
jmp 0xa17a
leaq -0x58(%rbp), %rdi
callq 0x210f0
leaq -0x28(%rbp), %rdi
callq 0x20fe0
jmp 0xa120
movq 0x473b3(%rip), %rdi     # 0x51548
addq $0x115d, %rdi           # imm = 0x115D
xorl %esi, %esi
callq 0x20d60
movq 0x4739e(%rip), %rax     # 0x51548
addq $0x10d0, %rax           # imm = 0x10D0
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
callq 0x20f20
movq %rax, -0x68(%rbp)
movq -0x60(%rbp), %rdi
callq 0x20f50
movq %rax, -0x70(%rbp)
leaq -0x68(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x20f80
testb $0x1, %al
jne 0xa1e1
jmp 0xa20d
leaq -0x68(%rbp), %rdi
callq 0x20fc0
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
jmp 0xa200
jmp 0xa202
leaq -0x68(%rbp), %rdi
callq 0x20fe0
jmp 0xa1ce
jmp 0xa20f
movq -0x80(%rbp), %rdi
callq 0x21000
addq $0xa0, %rsp
popq %rbp
retq
movq %rax, %rdi
callq 0x20cc0
nopl (%rax)