// File: /workspace/github_c_makefile_star2_O0/deplinenoise[P]tundra/unittest/googletest/googletest/src/gtest-death-test.cc
// Function: testing::internal::ParseInternalRunDeathTestFlag()
InternalRunDeathTestFlag* ParseInternalRunDeathTestFlag() {
  if (GTEST_FLAG(internal_run_death_test) == "") return NULL;

  // GTEST_HAS_DEATH_TEST implies that we have ::std::string, so we
  // can use it here.
  int line = -1;
  int index = -1;
  ::std::vector< ::std::string> fields;
  SplitString(GTEST_FLAG(internal_run_death_test).c_str(), '|', &fields);
  int write_fd = -1;

# if GTEST_OS_WINDOWS

  unsigned int parent_process_id = 0;
  size_t write_handle_as_size_t = 0;
  size_t event_handle_as_size_t = 0;

  if (fields.size() != 6
      || !ParseNaturalNumber(fields[1], &line)
      || !ParseNaturalNumber(fields[2], &index)
      || !ParseNaturalNumber(fields[3], &parent_process_id)
      || !ParseNaturalNumber(fields[4], &write_handle_as_size_t)
      || !ParseNaturalNumber(fields[5], &event_handle_as_size_t)) {
    DeathTestAbort("Bad --gtest_internal_run_death_test flag: " +
                   GTEST_FLAG(internal_run_death_test));
  }
  write_fd = GetStatusFileDescriptor(parent_process_id,
                                     write_handle_as_size_t,
                                     event_handle_as_size_t);
# else

  if (fields.size() != 4
      || !ParseNaturalNumber(fields[1], &line)
      || !ParseNaturalNumber(fields[2], &index)
      || !ParseNaturalNumber(fields[3], &write_fd)) {
    DeathTestAbort("Bad --gtest_internal_run_death_test flag: "
        + GTEST_FLAG(internal_run_death_test));
  }

# endif  // GTEST_OS_WINDOWS

  return new InternalRunDeathTestFlag(fields[0], line, index, write_fd);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
leaq 0x94eae(%rip), %rdi     # 0xc1a70
leaq 0x63c07(%rip), %rsi     # 0x907d0
callq 0x36ab0
testb $0x1, %al
jne 0x2cbd4
jmp 0x2cbe1
movq $0x0, -0x8(%rbp)
jmp 0x2ce03
movl $0xffffffff, -0xc(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x10(%rbp) # imm = 0xFFFFFFFF
leaq -0x28(%rbp), %rdi
callq 0x306e0
leaq 0x94e71(%rip), %rdi     # 0xc1a70
callq 0xe2b0
movq %rax, -0x90(%rbp)
leaq -0x49(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0xee90
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
leaq -0x48(%rbp), %rdi
callq 0x30890
jmp 0x2cc34
leaq -0x48(%rbp), %rdi
movl $0x7c, %esi
leaq -0x28(%rbp), %rdx
callq 0x16bd0
jmp 0x2cc48
leaq -0x48(%rbp), %rdi
callq 0xf058
leaq -0x49(%rbp), %rdi
callq 0xe850
movl $0xffffffff, -0x60(%rbp) # imm = 0xFFFFFFFF
leaq -0x28(%rbp), %rdi
callq 0x31b70
cmpq $0x4, %rax
jne 0x2cd02
leaq -0x28(%rbp), %rdi
movl $0x1, %esi
callq 0x379f0
movq %rax, %rdi
leaq -0xc(%rbp), %rsi
callq 0x388e0
movb %al, -0x91(%rbp)
jmp 0x2cc96
movb -0x91(%rbp), %al
testb $0x1, %al
jne 0x2cca2
jmp 0x2cd02
leaq -0x28(%rbp), %rdi
movl $0x2, %esi
callq 0x379f0
movq %rax, %rdi
leaq -0x10(%rbp), %rsi
callq 0x388e0
movb %al, -0x92(%rbp)
jmp 0x2ccc4
movb -0x92(%rbp), %al
testb $0x1, %al
jne 0x2ccd0
jmp 0x2cd02
leaq -0x28(%rbp), %rdi
movl $0x3, %esi
callq 0x379f0
movq %rax, %rdi
leaq -0x60(%rbp), %rsi
callq 0x388e0
movb %al, -0x93(%rbp)
jmp 0x2ccf2
movb -0x93(%rbp), %al
testb $0x1, %al
jne 0x2cd8a
jmp 0x2cd02
leaq 0x5ea57(%rip), %rsi     # 0x8b760
leaq 0x94d60(%rip), %rdx     # 0xc1a70
leaq -0x80(%rbp), %rdi
callq 0x387d0
jmp 0x2cd1b
leaq -0x80(%rbp), %rdi
callq 0x27a00
jmp 0x2cd26
leaq -0x80(%rbp), %rdi
callq 0xf058
jmp 0x2cd8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2cd54
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0xf058
leaq -0x49(%rbp), %rdi
callq 0xe850
jmp 0x2cdf8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2cdf8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0xf058
jmp 0x2cdf8
movl $0x30, %edi
callq 0xe770
movq %rax, -0xa0(%rbp)
jmp 0x2cd9d
xorl %eax, %eax
movl %eax, %esi
leaq -0x28(%rbp), %rdi
callq 0x379f0
movq -0xa0(%rbp), %rdi
movq %rax, %rsi
movl -0xc(%rbp), %edx
movl -0x10(%rbp), %ecx
movl -0x60(%rbp), %r8d
callq 0x38a20
jmp 0x2cdc5
movq -0xa0(%rbp), %rax
movq %rax, -0x8(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x30700
jmp 0x2ce03
movq -0xa0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
movl $0x30, %esi
callq 0xe7a0
leaq -0x28(%rbp), %rdi
callq 0x30700
jmp 0x2ce10
movq -0x8(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0xee80
nopl (%rax)