// File: /workspace/github_cpp_makefile_star2_O2/WeihuaZhu[P]hpc_prog2/./gtest/gtest-all.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 0x11849
movl %esi, %ebp
movq %rdi, %rbx
leaq 0x48(%rsp), %rdi
callq 0x11b74
movq %rsp, %rdi
callq 0x8f22
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd9a1(%rip), %rsi      # 0x1f101
callq 0x6410
movq 0x8(%rbx), %rax
leaq 0x8(%rsp), %rsi
movq %rax, (%rsi)
movq %rsp, %rdi
callq 0x1589c
leaq 0xd324(%rip), %rsi      # 0x1eaa4
movq %rax, %rdi
callq 0x1556a
movl 0x20(%rbx), %eax
decl %eax
cmpl $0x3, %eax
ja 0x1193a
leaq 0xbb73(%rip), %rcx      # 0x1d310
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
testb %bpl, %bpl
je 0x11975
movq 0x48(%rsp), %rdi
movq 0x10(%rbx), %rsi
callq 0x11c70
movb $0x1, %bpl
testb %al, %al
jne 0x11ab5
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd9b0(%rip), %rsi      # 0x1f187
callq 0x6410
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd9cb(%rip), %rsi      # 0x1f1b6
callq 0x6410
movq 0x10(%rbx), %rax
movq (%rax), %rax
leaq 0x28(%rsp), %rsi
movq %rax, (%rsi)
movq %rsp, %rdi
callq 0x1589c
leaq 0xd296(%rip), %rsi      # 0x1eaa4
movq %rax, %rdi
callq 0x1556a
leaq 0xd9a6(%rip), %rsi      # 0x1f1c3
movq %rax, %rdi
callq 0x16b50
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x11b89
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x15554
jmp 0x11aa9
xorl %ebp, %ebp
jmp 0x11ae9
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd8f9(%rip), %rsi      # 0x1f158
callq 0x6410
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd8b7(%rip), %rsi      # 0x1f12a
callq 0x6410
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x11b89
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x8(%rsp), %rsi
callq 0x63c0
jmp 0x11aa9
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd88a(%rip), %rsi      # 0x1f137
callq 0x6410
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd869(%rip), %rsi      # 0x1f12a
callq 0x6410
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x11b89
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x8(%rsp), %rsi
callq 0x63c0
jmp 0x11aa9
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd813(%rip), %rsi      # 0x1f10e
callq 0x6410
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd81b(%rip), %rsi      # 0x1f12a
callq 0x6410
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x11b89
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x8(%rsp), %rsi
callq 0x63c0
jmp 0x11aa9
leaq 0xc920(%rip), %rdx      # 0x1e261
leaq 0x8(%rsp), %rdi
pushq $0x3
popq %rsi
movl $0x1b99, %ecx           # imm = 0x1B99
callq 0x1418e
movq 0x1c68e(%rip), %rdi     # 0x2dfe8
leaq 0xd8af(%rip), %rsi      # 0x1f210
callq 0x6410
leaq 0x8(%rsp), %rdi
callq 0x14252
jmp 0x11ab3
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd84c(%rip), %rsi      # 0x1f1d0
callq 0x6410
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd86b(%rip), %rsi      # 0x1f203
callq 0x6410
movl 0x1c(%rbx), %ebx
leaq 0x28(%rsp), %rdi
callq 0x8f22
movl %ebx, %ebp
andl $0x7f, %ebx
je 0x119e9
movl %ebx, %eax
shll $0x18, %eax
addl $0x1000000, %eax        # imm = 0x1000000
cmpl $0x2000000, %eax        # imm = 0x2000000
jl 0x11a11
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
leaq 0xe07a(%rip), %rsi      # 0x1fa4c
callq 0x6410
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
movl %ebx, %esi
callq 0x68e0
jmp 0x11a11
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
leaq 0xe03a(%rip), %rsi      # 0x1fa33
callq 0x6410
movl %ebp, %eax
movzbl %ah, %esi
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
callq 0x68e0
testb %bpl, %bpl
jns 0x11a2b
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
leaq 0xe03c(%rip), %rsi      # 0x1fa62
callq 0x6410
movq 0x28(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x90f7
leaq 0x28(%rsp), %rdi
callq 0x731c
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x8(%rsp), %rsi
callq 0x63c0
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd03f(%rip), %rsi      # 0x1eaa4
callq 0x6410
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0xd74a(%rip), %rsi      # 0x1f1c3
callq 0x6410
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x11b89
movq (%rsp), %rdi
addq $0x10, %rdi
leaq 0x28(%rsp), %rsi
callq 0x63c0
leaq 0x28(%rsp), %rdi
callq 0x6a28
leaq 0x8(%rsp), %rdi
callq 0x6a28
xorl %ebp, %ebp
movq (%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x90f7
leaq 0x8(%rsp), %rdi
callq 0x110cc
leaq 0x8(%rsp), %rdi
callq 0x6a28
movq %rsp, %rdi
callq 0x731c
leaq 0x48(%rsp), %rdi
callq 0x6a28
movl %ebp, %eax
addq $0x68, %rsp
popq %rbx
popq %rbp
retq
jmp 0x11b2e
jmp 0x11b2e
jmp 0x11b3f
jmp 0x11b57
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x6a28
jmp 0x11b42
jmp 0x11b3f
jmp 0x11b57
jmp 0x11b57
jmp 0x11b3f
jmp 0x11b3f
jmp 0x11b3f
jmp 0x11b57
jmp 0x11b57
jmp 0x11b57
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x14252
jmp 0x11b5a
jmp 0x11b57
jmp 0x11b57
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x731c
jmp 0x11b5a
jmp 0x11b3f
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6a28
jmp 0x11b5a
jmp 0x11b57
movq %rax, %rbx
jmp 0x11b62
jmp 0x11b57
movq %rax, %rbx
movq %rsp, %rdi
callq 0x731c
leaq 0x48(%rsp), %rdi
callq 0x6a28
movq %rbx, %rdi
callq 0x6900