// File: /workspace/github_cpp_makefile_star2_O1/halfflat[P]tinyopt/test/googletest/googletest/src/gtest-printers.cc
// Function: void testing::internal::PrintCharAndCodeTo<unsigned char>(unsigned 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 %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %rbx
movl %edi, %ebp
leaq 0xd900(%rip), %rsi      # 0x70ff8
movq %rbx, %rdi
xorl %edx, %edx
callq 0xd600
leaq 0x10151(%rip), %rsi     # 0x7385a
movl $0x1, %edx
movq %rbx, %rdi
callq 0xd600
cmpl $0xd, %ebp
ja 0x63736
movl %ebp, %eax
leaq 0xf6fc(%rip), %rcx      # 0x72e20
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1057d(%rip), %rsi     # 0x73cb1
jmp 0x637aa
cmpl $0x27, %ebp
je 0x637a3
cmpl $0x5c, %ebp
jne 0x63749
leaq 0x11e6c(%rip), %rsi     # 0x755b3
jmp 0x637aa
movl %ebp, %eax
addl $-0x20, %eax
cmpl $0x5e, %eax
ja 0x63869
movq %rsp, %rsi
movb %bpl, (%rsi)
movl $0x1, %edx
jmp 0x637af
leaq 0x11e4e(%rip), %rsi     # 0x755b9
jmp 0x637aa
leaq 0x10e6f(%rip), %rsi     # 0x745e3
jmp 0x637aa
leaq 0x10e69(%rip), %rsi     # 0x745e6
jmp 0x637aa
leaq 0x11e30(%rip), %rsi     # 0x755b6
jmp 0x637aa
leaq 0x10e51(%rip), %rsi     # 0x745e0
jmp 0x637aa
leaq 0x10e42(%rip), %rsi     # 0x745da
jmp 0x637aa
leaq 0x10e3c(%rip), %rsi     # 0x745dd
jmp 0x637aa
leaq 0x11e06(%rip), %rsi     # 0x755b0
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
xorl %r14d, %r14d
leaq 0x10099(%rip), %rsi     # 0x7385a
movl $0x1, %edx
movq %rbx, %rdi
callq 0xd600
testb %bpl, %bpl
je 0x63860
leaq 0x10479(%rip), %rsi     # 0x73c57
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
movq %rbx, %rdi
movl %ebp, %esi
callq 0xda30
cmpb $0xa, %bpl
setb %al
orb %r14b, %al
jne 0x6384c
leaq 0x11da3(%rip), %rsi     # 0x755ab
movl $0x4, %edx
movq %rbx, %rdi
callq 0xd600
movq %rsp, %r14
movq %r14, %rdi
movl %ebp, %esi
callq 0x509f6
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %rbx, %rdi
callq 0xd600
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6384c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0xd27c(%rip), %rsi      # 0x70acf
movl $0x1, %edx
movq %rbx, %rdi
callq 0xd600
addq $0x20, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %r14d
leaq 0x11d40(%rip), %rsi     # 0x755bc
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 %ebp, %esi
callq 0xda30
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl %r14d, 0x18(%rbx,%rax)
movb $0x1, %r14b
jmp 0x637ba
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x638e6
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
callq 0xda70