// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x20, %rsp
movb %dil, %al
andb $0x1, %al
movb %al, -0x2(%rbp)
leaq 0xa32a9(%rip), %rdi     # 0xc18f0
callq 0xe2b0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x6be3f(%rip), %rsi     # 0x8a49a
callq 0x1a030
testb $0x1, %al
jne 0x1e669
jmp 0x1e7df
leaq 0x72396(%rip), %rdi     # 0x90a06
callq 0x35010
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x6c577(%rip), %rsi     # 0x8abfb
callq 0x16b70
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1a(%rbp)
jne 0x1e7bc
movq -0x18(%rbp), %rdi
leaq 0x6c55d(%rip), %rsi     # 0x8ac01
callq 0x16b70
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1a(%rbp)
jne 0x1e7bc
movq -0x18(%rbp), %rdi
leaq 0x6c549(%rip), %rsi     # 0x8ac0d
callq 0x16b70
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1a(%rbp)
jne 0x1e7bc
movq -0x18(%rbp), %rdi
leaq 0x6c538(%rip), %rsi     # 0x8ac1c
callq 0x16b70
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1a(%rbp)
jne 0x1e7bc
movq -0x18(%rbp), %rdi
leaq 0x6c51f(%rip), %rsi     # 0x8ac23
callq 0x16b70
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1a(%rbp)
jne 0x1e7bc
movq -0x18(%rbp), %rdi
leaq 0x6c50f(%rip), %rsi     # 0x8ac33
callq 0x16b70
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1a(%rbp)
jne 0x1e7bc
movq -0x18(%rbp), %rdi
leaq 0x6c4f4(%rip), %rsi     # 0x8ac38
callq 0x16b70
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1a(%rbp)
jne 0x1e7bc
movq -0x18(%rbp), %rdi
leaq 0x6c4e6(%rip), %rsi     # 0x8ac46
callq 0x16b70
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1a(%rbp)
jne 0x1e7bc
movq -0x18(%rbp), %rdi
leaq 0x6c4d7(%rip), %rsi     # 0x8ac53
callq 0x16b70
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1a(%rbp)
jne 0x1e7bc
movq -0x18(%rbp), %rdi
leaq 0x6c4d1(%rip), %rsi     # 0x8ac69
callq 0x16b70
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1a(%rbp)
jne 0x1e7bc
movq -0x18(%rbp), %rdi
leaq 0x6c4bb(%rip), %rsi     # 0x8ac6f
callq 0x16b70
movb %al, -0x1a(%rbp)
movb -0x1a(%rbp), %al
andb $0x1, %al
movb %al, -0x19(%rbp)
xorl %eax, %eax
testb $0x1, -0x2(%rbp)
movb %al, -0x1b(%rbp)
je 0x1e7d5
movb -0x19(%rbp), %al
movb %al, -0x1b(%rbp)
movb -0x1b(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x1e84e
movq -0x10(%rbp), %rdi
leaq 0x6c48c(%rip), %rsi     # 0x8ac76
callq 0x1a030
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1c(%rbp)
jne 0x1e846
movq -0x10(%rbp), %rdi
leaq 0x6c474(%rip), %rsi     # 0x8ac7a
callq 0x1a030
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1c(%rbp)
jne 0x1e846
movq -0x10(%rbp), %rdi
leaq 0x6dba7(%rip), %rsi     # 0x8c3c9
callq 0x1a030
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x1c(%rbp)
jne 0x1e846
movq -0x10(%rbp), %rdi
leaq 0x6ceb7(%rip), %rsi     # 0x8b6f5
callq 0x16b70
movb %al, -0x1c(%rbp)
movb -0x1c(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)