// File: /workspace/github_c_makefile_star2_O0/deplinenoise[P]tundra/unittest/googletest/googletest/src/gtest-port.cc
// Function: testing::internal::ParseInt32(testing::Message const&, char const*, int*)
bool ParseInt32(const Message& src_text, const char* str, Int32* value) {
  // Parses the environment variable as a decimal integer.
  char* end = NULL;
  const long long_value = strtol(str, &end, 10);  // NOLINT

  // Has strtol() consumed all characters in the string?
  if (*end != '\0') {
    // No - an invalid character was encountered.
    Message msg;
    msg << "WARNING: " << src_text
        << " is expected to be a 32-bit integer, but actually"
        << " has value \"" << str << "\".\n";
    printf("%s", msg.GetString().c_str());
    fflush(stdout);
    return false;
  }

  // Is the parsed value in the range of an Int32?
  const Int32 result = static_cast<Int32>(long_value);
  if (long_value == LONG_MAX || long_value == LONG_MIN ||
      // The parsed value overflows as a long.  (strtol() returns
      // LONG_MAX or LONG_MIN when the input overflows.)
      result != long_value
      // The parsed value overflows as an Int32.
      ) {
    Message msg;
    msg << "WARNING: " << src_text
        << " is expected to be a 32-bit integer, but actually"
        << " has value " << str << ", which overflows.\n";
    printf("%s", msg.GetString().c_str());
    fflush(stdout);
    return false;
  }

  *value = result;
  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x28(%rbp), %rsi
movl $0xa, %edx
callq 0xeb90
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x26a98
leaq -0x38(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x16d70
movq -0xa8(%rbp), %rdi
leaq 0x64f05(%rip), %rsi     # 0x8b888
callq 0x30c20
movq %rax, -0xa0(%rbp)
jmp 0x26991
movq -0xa0(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x38dd0
movq %rax, -0xb0(%rbp)
jmp 0x269aa
movq -0xb0(%rbp), %rdi
leaq 0x64eda(%rip), %rsi     # 0x8b892
callq 0x38e10
movq %rax, -0xb8(%rbp)
jmp 0x269c6
movq -0xb8(%rbp), %rdi
leaq 0x64ef0(%rip), %rsi     # 0x8b8c4
callq 0x31fe0
movq %rax, -0xc0(%rbp)
jmp 0x269e2
movq -0xc0(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x31ec0
movq %rax, -0xc8(%rbp)
jmp 0x269fb
movq -0xc8(%rbp), %rdi
leaq 0x64ec8(%rip), %rsi     # 0x8b8d1
callq 0x31e80
jmp 0x26a10
leaq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x170f0
jmp 0x26a1f
leaq -0x68(%rbp), %rdi
callq 0xe2b0
movq %rax, %rsi
leaq 0x6495b(%rip), %rdi     # 0x8b38d
xorl %eax, %eax
callq 0xe0a0
jmp 0x26a3b
leaq -0x68(%rbp), %rdi
callq 0xf058
movq 0x9a545(%rip), %rax     # 0xc0f90
movq (%rax), %rdi
callq 0xe970
jmp 0x26a55
movb $0x0, -0x1(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x31070
jmp 0x26c13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x26a8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x68(%rbp), %rdi
callq 0xf058
leaq -0x38(%rbp), %rdi
callq 0x31070
jmp 0x26c21
movq -0x30(%rbp), %rax
movl %eax, -0x6c(%rbp)
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rax, -0x30(%rbp)
je 0x26acd
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
cmpq %rax, -0x30(%rbp)
je 0x26acd
movslq -0x6c(%rbp), %rax
cmpq -0x30(%rbp), %rax
je 0x26c06
leaq -0x78(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x16d70
movq -0xd8(%rbp), %rdi
leaq 0x64d9d(%rip), %rsi     # 0x8b888
callq 0x30c20
movq %rax, -0xd0(%rbp)
jmp 0x26af9
movq -0xd0(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x38dd0
movq %rax, -0xe0(%rbp)
jmp 0x26b12
movq -0xe0(%rbp), %rdi
leaq 0x64d72(%rip), %rsi     # 0x8b892
callq 0x38e10
movq %rax, -0xe8(%rbp)
jmp 0x26b2e
movq -0xe8(%rbp), %rdi
leaq 0x64d99(%rip), %rsi     # 0x8b8d5
callq 0x32080
movq %rax, -0xf0(%rbp)
jmp 0x26b4a
movq -0xf0(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x31ec0
movq %rax, -0xf8(%rbp)
jmp 0x26b63
movq -0xf8(%rbp), %rdi
leaq 0x64d70(%rip), %rsi     # 0x8b8e1
callq 0x38e50
jmp 0x26b78
leaq -0x98(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x170f0
jmp 0x26b8a
leaq -0x98(%rbp), %rdi
callq 0xe2b0
movq %rax, %rsi
leaq 0x647ed(%rip), %rdi     # 0x8b38d
xorl %eax, %eax
callq 0xe0a0
jmp 0x26ba9
leaq -0x98(%rbp), %rdi
callq 0xf058
movq 0x9a3d4(%rip), %rax     # 0xc0f90
movq (%rax), %rdi
callq 0xe970
jmp 0x26bc6
movb $0x0, -0x1(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x31070
jmp 0x26c13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x26bfb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x98(%rbp), %rdi
callq 0xf058
leaq -0x78(%rbp), %rdi
callq 0x31070
jmp 0x26c21
movl -0x6c(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0xee80
nopw (%rax,%rax)