// File: /workspace/github_cpp_makefile_star2_O3/halfflat[P]tinyopt/test/googletest/googletest/src/gtest-printers.cc
// Function: void testing::internal::PrintCharAndCodeTo<signed char>(signed char, std::ostream*)
void PrintCharAndCodeTo(Char c, ostream* os) {
  // First, print c as a literal in the most readable form we can find.
  *os << GetCharWidthPrefix(c) << "'";
  const CharFormat format = PrintAsCharLiteralTo(c, os);
  *os << "'";

  // To aid user debugging, we also print c's code in decimal, unless
  // it's 0 (in which case c was printed as '\\0', making the code
  // obvious).
  if (c == 0) return;
  *os << " (" << static_cast<int>(c);

  // For more convenience, we print c's code again in hexadecimal,
  // unless c was already printed in the form '\x##' or the code is in
  // [1, 9].
  if (format == kHexEscape || (1 <= c && c <= 9)) {
    // Do nothing.
  } else {
    *os << ", 0x" << String::FormatHexInt(static_cast<int>(c));
  }
  *os << ")";
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movl %edi, %ebp
leaq 0xcfd7(%rip), %rsi      # 0x6efd5
movq %rbx, %rdi
xorl %edx, %edx
callq 0xd600
leaq 0xf85b(%rip), %rsi      # 0x7186a
movl $0x1, %edx
movq %rbx, %rdi
callq 0xd600
movzbl %bpl, %r14d
cmpl $0xd, %ebp
ja 0x62069
movl %ebp, %eax
leaq 0xee3a(%rip), %rcx      # 0x70e68
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xfc83(%rip), %rsi      # 0x71cc1
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
leaq 0xf818(%rip), %rsi      # 0x7186a
movl $0x1, %edx
movq %rbx, %rdi
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xd600
cmpl $0x27, %ebp
je 0x620e5
cmpl $0x5c, %ebp
jne 0x6207c
leaq 0x11549(%rip), %rsi     # 0x735c3
jmp 0x620ec
leal -0x20(%r14), %eax
cmpl $0x5e, %eax
ja 0x621b1
leaq 0x8(%rsp), %rsi
movb %bpl, (%rsi)
movl $0x1, %edx
movq %rbx, %rdi
callq 0xd600
xorl %r15d, %r15d
jmp 0x6220f
leaq 0x1151c(%rip), %rsi     # 0x735c9
jmp 0x620ec
leaq 0x1053d(%rip), %rsi     # 0x725f3
jmp 0x620ec
leaq 0x10537(%rip), %rsi     # 0x725f6
jmp 0x620ec
leaq 0x114fe(%rip), %rsi     # 0x735c6
jmp 0x620ec
leaq 0x1051f(%rip), %rsi     # 0x725f0
jmp 0x620ec
leaq 0x10510(%rip), %rsi     # 0x725ea
jmp 0x620ec
leaq 0x1050a(%rip), %rsi     # 0x725ed
jmp 0x620ec
leaq 0x114d4(%rip), %rsi     # 0x735c0
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
leaq 0xf76a(%rip), %rsi      # 0x7186a
movl $0x1, %edx
movq %rbx, %rdi
callq 0xd600
movl $0x2, %r15d
leaq 0xfb4d(%rip), %rsi      # 0x71c67
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
movq %rbx, %rdi
movl %r14d, %esi
callq 0xda30
cmpl $0x1, %r15d
sete %al
cmpb $0xa, %bpl
setb %cl
orb %al, %cl
jne 0x62192
leaq 0x11470(%rip), %rsi     # 0x735bb
movl $0x4, %edx
movq %rbx, %rdi
callq 0xd600
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl %r14d, %esi
callq 0x4f1aa
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %rbx, %rdi
callq 0xd600
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x62192
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0xc913(%rip), %rsi      # 0x6eaac
movl $0x1, %edx
movq %rbx, %rdi
callq 0xd600
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %r15d
leaq 0x11408(%rip), %rsi     # 0x735cc
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movl 0x18(%rbx,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rbx,%rcx)
movq -0x18(%rax), %rax
orl $0x4000, 0x18(%rbx,%rax) # imm = 0x4000
movq %rbx, %rdi
movl %r14d, %esi
callq 0xda30
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl %r15d, 0x18(%rbx,%rax)
movl $0x1, %r15d
leaq 0xf654(%rip), %rsi      # 0x7186a
movl $0x1, %edx
movq %rbx, %rdi
callq 0xd600
testb %bpl, %bpl
je 0x621a6
movsbl %bpl, %r14d
jmp 0x62113
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x62253
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
callq 0xda70