// File: /workspace/github_c_makefile_star2_O2/deplinenoise[P]tundra/unittest/googletest/googletest/src/gtest-death-test.cc
// Function: testing::internal::DeathTestImpl::Passed(bool)
bool DeathTestImpl::Passed(bool status_ok) {
  if (!spawned())
    return false;

  const std::string error_message = GetCapturedStderr();

  bool success = false;
  Message buffer;

  buffer << "Death test: " << statement() << "\n";
  switch (outcome()) {
    case LIVED:
      buffer << "    Result: failed to die.\n"
             << " Error msg:\n" << FormatDeathTestOutput(error_message);
      break;
    case THREW:
      buffer << "    Result: threw an exception.\n"
             << " Error msg:\n" << FormatDeathTestOutput(error_message);
      break;
    case RETURNED:
      buffer << "    Result: illegal return in test statement.\n"
             << " Error msg:\n" << FormatDeathTestOutput(error_message);
      break;
    case DIED:
      if (status_ok) {
        const bool matched = RE::PartialMatch(error_message.c_str(), *regex());
        if (matched) {
          success = true;
        } else {
          buffer << "    Result: died but not with expected error.\n"
                 << "  Expected: " << regex()->pattern() << "\n"
                 << "Actual msg:\n" << FormatDeathTestOutput(error_message);
        }
      } else {
        buffer << "    Result: died but not with expected exit code:\n"
               << "            " << ExitSummary(status()) << "\n"
               << "Actual msg:\n" << FormatDeathTestOutput(error_message);
      }
      break;
    case IN_PROGRESS:
    default:
      GTEST_LOG_(FATAL)
          << "DeathTest::Passed somehow called before conclusion of test";
  }

  DeathTest::set_last_death_test_message(buffer.GetString());
  return success;
}

// Assembly:
pushq %rbp
pushq %rbx
subq $0x68, %rsp
cmpb $0x1, 0x18(%rdi)
jne 0x1b79b
movl %esi, %ebp
movq %rdi, %rbx
leaq 0x48(%rsp), %rdi
callq 0x1bac6
movq %rsp, %rdi
callq 0x11c8e
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x298bb(%rip), %rsi     # 0x44f6d
callq 0xd5e0
movq 0x8(%rbx), %rax
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movq %rsp, %rdi
callq 0x1fab0
leaq 0x291b6(%rip), %rsi     # 0x44888
movq %rax, %rdi
callq 0x1f5ae
movl 0x20(%rbx), %eax
decl %eax
cmpl $0x3, %eax
ja 0x1b88c
leaq 0x27991(%rip), %rcx     # 0x43080
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
testb %bpl, %bpl
je 0x1b8c7
movq 0x48(%rsp), %rdi
movq 0x10(%rbx), %rsi
callq 0x1bbc2
movb $0x1, %bpl
testb %al, %al
jne 0x1ba07
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x298ca(%rip), %rsi     # 0x44ff3
callq 0xd5e0
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x298e5(%rip), %rsi     # 0x45022
callq 0xd5e0
movq 0x10(%rbx), %rax
movq (%rax), %rax
leaq 0x28(%rsp), %rsi
movq %rax, (%rsi)
movq %rsp, %rdi
callq 0x1fab0
leaq 0x29128(%rip), %rsi     # 0x44888
movq %rax, %rdi
callq 0x1f5ae
leaq 0x298c0(%rip), %rsi     # 0x4502f
movq %rax, %rdi
callq 0x1fae0
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1badb
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x1f598
jmp 0x1b9fb
xorl %ebp, %ebp
jmp 0x1ba3b
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x29813(%rip), %rsi     # 0x44fc4
callq 0xd5e0
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x297d1(%rip), %rsi     # 0x44f96
callq 0xd5e0
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1badb
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x8(%rsp), %rsi
callq 0xd520
jmp 0x1b9fb
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x297a4(%rip), %rsi     # 0x44fa3
callq 0xd5e0
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x29783(%rip), %rsi     # 0x44f96
callq 0xd5e0
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1badb
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x8(%rsp), %rsi
callq 0xd520
jmp 0x1b9fb
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x2972d(%rip), %rsi     # 0x44f7a
callq 0xd5e0
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x29735(%rip), %rsi     # 0x44f96
callq 0xd5e0
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1badb
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x8(%rsp), %rsi
callq 0xd520
jmp 0x1b9fb
leaq 0x295df(%rip), %rdx     # 0x44e72
leaq 0x8(%rsp), %rdi
pushq $0x3
popq %rsi
movl $0x246, %ecx            # imm = 0x246
callq 0x1e178
movq 0x4d73c(%rip), %rdi     # 0x68fe8
leaq 0x297c9(%rip), %rsi     # 0x4507c
callq 0xd5e0
leaq 0x8(%rsp), %rdi
callq 0x1e23c
jmp 0x1ba05
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x29766(%rip), %rsi     # 0x4503c
callq 0xd5e0
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x29785(%rip), %rsi     # 0x4506f
callq 0xd5e0
movl 0x1c(%rbx), %ebx
leaq 0x28(%rsp), %rdi
callq 0x11c8e
movl %ebx, %ebp
andl $0x7f, %ebx
je 0x1b93b
movl %ebx, %eax
shll $0x18, %eax
addl $0x1000000, %eax        # imm = 0x1000000
cmpl $0x2000000, %eax        # imm = 0x2000000
jl 0x1b963
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
leaq 0x2a05f(%rip), %rsi     # 0x45983
callq 0xd5e0
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
movl %ebx, %esi
callq 0xdbd0
jmp 0x1b963
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
leaq 0x2a01f(%rip), %rsi     # 0x4596a
callq 0xd5e0
movl %ebp, %eax
movzbl %ah, %esi
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
callq 0xdbd0
testb %bpl, %bpl
jns 0x1b97d
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
leaq 0x2a021(%rip), %rsi     # 0x45999
callq 0xd5e0
movq 0x28(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x11e63
leaq 0x28(%rsp), %rdi
callq 0x1f8e0
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x8(%rsp), %rsi
callq 0xd520
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x28ed1(%rip), %rsi     # 0x44888
callq 0xd5e0
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x29664(%rip), %rsi     # 0x4502f
callq 0xd5e0
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1badb
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x28(%rsp), %rsi
callq 0xd520
leaq 0x28(%rsp), %rdi
callq 0xdd68
leaq 0x8(%rsp), %rdi
callq 0xdd68
xorl %ebp, %ebp
movq (%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x11e63
leaq 0x8(%rsp), %rdi
callq 0x1b01e
leaq 0x8(%rsp), %rdi
callq 0xdd68
movq %rsp, %rdi
callq 0x1f8e0
leaq 0x48(%rsp), %rdi
callq 0xdd68
movl %ebp, %eax
addq $0x68, %rsp
popq %rbx
popq %rbp
retq
jmp 0x1ba80
jmp 0x1ba80
jmp 0x1ba91
jmp 0x1baa9
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xdd68
jmp 0x1ba94
jmp 0x1ba91
jmp 0x1baa9
jmp 0x1baa9
jmp 0x1ba91
jmp 0x1ba91
jmp 0x1ba91
jmp 0x1baa9
jmp 0x1baa9
jmp 0x1baa9
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x1e23c
jmp 0x1baac
jmp 0x1baa9
jmp 0x1baa9
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x1f8e0
jmp 0x1baac
jmp 0x1ba91
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xdd68
jmp 0x1baac
jmp 0x1baa9
movq %rax, %rbx
jmp 0x1bab4
jmp 0x1baa9
movq %rax, %rbx
movq %rsp, %rdi
callq 0x1f8e0
leaq 0x48(%rsp), %rdi
callq 0xdd68
movq %rbx, %rdi
callq 0xdbf0