// File: /workspace/github_c_makefile_star2_O2/deplinenoise[P]tundra/unittest/googletest/googletest/src/gtest.cc
// Function: testing::internal::ShouldUseColor(bool)
bool ShouldUseColor(bool stdout_is_tty) {
  const char* const gtest_color = GTEST_FLAG(color).c_str();

  if (String::CaseInsensitiveCStringEquals(gtest_color, "auto")) {
#if GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MINGW
    // On Windows the TERM variable is usually not set, but the
    // console there does support colors.
    return stdout_is_tty;
#else
    // On non-Windows platforms, we rely on the TERM variable.
    const char* const term = posix::GetEnv("TERM");
    const bool term_supports_color =
        String::CStringEquals(term, "xterm") ||
        String::CStringEquals(term, "xterm-color") ||
        String::CStringEquals(term, "xterm-256color") ||
        String::CStringEquals(term, "screen") ||
        String::CStringEquals(term, "screen-256color") ||
        String::CStringEquals(term, "tmux") ||
        String::CStringEquals(term, "tmux-256color") ||
        String::CStringEquals(term, "rxvt-unicode") ||
        String::CStringEquals(term, "rxvt-unicode-256color") ||
        String::CStringEquals(term, "linux") ||
        String::CStringEquals(term, "cygwin");
    return stdout_is_tty && term_supports_color;
#endif  // GTEST_OS_WINDOWS
  }

  return String::CaseInsensitiveCStringEquals(gtest_color, "yes") ||
      String::CaseInsensitiveCStringEquals(gtest_color, "true") ||
      String::CaseInsensitiveCStringEquals(gtest_color, "t") ||
      String::CStringEquals(gtest_color, "1");
  // We take "yes", "true", "t", and "1" as meaning "yes".  If the
  // value is neither one of these nor "auto", we treat it as "no" to
  // be conservative.
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %edi, %ebp
movq 0x53776(%rip), %r14     # 0x69720
leaq 0x2e01b(%rip), %rsi     # 0x43fcc
movq %r14, %rdi
callq 0x13884
testb %al, %al
je 0x160b6
leaq 0x34133(%rip), %rdi     # 0x4a0fb
callq 0xd7e0
movq %rax, %r14
leaq 0x2e6d4(%rip), %rsi     # 0x446ab
movq %rax, %rdi
callq 0x11b5a
movb $0x1, %bl
testb %al, %al
jne 0x160b1
leaq 0x2e6c1(%rip), %rsi     # 0x446b1
movq %r14, %rdi
callq 0x11b5a
testb %al, %al
jne 0x160b1
leaq 0x2e6b6(%rip), %rsi     # 0x446bd
movq %r14, %rdi
callq 0x11b5a
testb %al, %al
jne 0x160b1
leaq 0x2e6ae(%rip), %rsi     # 0x446cc
movq %r14, %rdi
callq 0x11b5a
testb %al, %al
jne 0x160b1
leaq 0x2e69e(%rip), %rsi     # 0x446d3
movq %r14, %rdi
callq 0x11b5a
testb %al, %al
jne 0x160b1
leaq 0x2e69b(%rip), %rsi     # 0x446e3
movq %r14, %rdi
callq 0x11b5a
testb %al, %al
jne 0x160b1
leaq 0x2e68d(%rip), %rsi     # 0x446e8
movq %r14, %rdi
callq 0x11b5a
testb %al, %al
jne 0x160b1
leaq 0x2e688(%rip), %rsi     # 0x446f6
movq %r14, %rdi
callq 0x11b5a
testb %al, %al
jne 0x160b1
leaq 0x2e682(%rip), %rsi     # 0x44703
movq %r14, %rdi
callq 0x11b5a
testb %al, %al
jne 0x160b1
leaq 0x2e685(%rip), %rsi     # 0x44719
movq %r14, %rdi
callq 0x11b5a
testb %al, %al
jne 0x160b1
leaq 0x2e678(%rip), %rsi     # 0x4471f
movq %r14, %rdi
callq 0x11b5a
movl %eax, %ebx
andb %bpl, %bl
jmp 0x160f1
leaq 0x2e669(%rip), %rsi     # 0x44726
movq %r14, %rdi
callq 0x13884
movb $0x1, %bl
testb %al, %al
jne 0x160f1
leaq 0x2e658(%rip), %rsi     # 0x4472a
movq %r14, %rdi
callq 0x13884
testb %al, %al
jne 0x160f1
leaq 0x2fcf9(%rip), %rsi     # 0x45dde
movq %r14, %rdi
callq 0x13884
testb %al, %al
je 0x160f8
movl %ebx, %eax
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x2f048(%rip), %rsi     # 0x45147
movq %r14, %rdi
popq %rbx
popq %r14
popq %rbp
jmp 0x11b5a