// File: /workspace/github_cpp_makefile_star2_O2/halfflat[P]tinyopt/test/googletest/googletest/src/gtest.cc
// Function: testing::internal::XmlUnitTestResultPrinter::OutputXmlTestResult(std::ostream*, testing::TestResult const&)
void XmlUnitTestResultPrinter::OutputXmlTestResult(::std::ostream* stream,
                                                   const TestResult& result) {
  int failures = 0;
  int skips = 0;
  for (int i = 0; i < result.total_part_count(); ++i) {
    const TestPartResult& part = result.GetTestPartResult(i);
    if (part.failed()) {
      if (++failures == 1 && skips == 0) {
        *stream << ">\n";
      }
      const std::string location =
          internal::FormatCompilerIndependentFileLocation(part.file_name(),
                                                          part.line_number());
      const std::string summary = location + "\n" + part.summary();
      *stream << "      <failure message=\"" << EscapeXmlAttribute(summary)
              << "\" type=\"\">";
      const std::string detail = location + "\n" + part.message();
      OutputXmlCDataSection(stream, RemoveInvalidXmlCharacters(detail).c_str());
      *stream << "</failure>\n";
    } else if (part.skipped()) {
      if (++skips == 1 && failures == 0) {
        *stream << ">\n";
      }
      const std::string location =
          internal::FormatCompilerIndependentFileLocation(part.file_name(),
                                                          part.line_number());
      const std::string summary = location + "\n" + part.summary();
      *stream << "      <skipped message=\""
              << EscapeXmlAttribute(summary.c_str()) << "\">";
      const std::string detail = location + "\n" + part.message();
      OutputXmlCDataSection(stream, RemoveInvalidXmlCharacters(detail).c_str());
      *stream << "</skipped>\n";
    }
  }

  if (failures == 0 && skips == 0 && result.test_property_count() == 0) {
    *stream << " />\n";
  } else {
    if (failures == 0 && skips == 0) {
      *stream << ">\n";
    }
    OutputXmlTestProperties(stream, result);
    *stream << "    </testcase>\n";
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rsi, %r13
movq %rdi, %rbx
movl $0x0, 0xc(%rsp)
leaq 0x88(%rsp), %rbp
leaq 0x28(%rsp), %r14
xorl %r15d, %r15d
movl $0x0, 0x10(%rsp)
movq %rdi, 0x18(%rsp)
movq %rsi, 0x20(%rsp)
movq 0x40(%r13), %rax
subq 0x38(%r13), %rax
cqto
pushq $0x70
popq %rcx
idivq %rcx
cmpl %eax, %r15d
jge 0x44b9b
movq %r13, %rdi
movl %r15d, %esi
callq 0x3fadc
movq %rax, %r12
movl (%rax), %eax
leal -0x1(%rax), %ecx
cmpl $0x1, %ecx
ja 0x44a3e
movl 0x10(%rsp), %eax
orl 0xc(%rsp), %eax
jne 0x4493d
movq %rbx, %rdi
leaq 0x17be2(%rip), %rsi     # 0x5c51a
callq 0xd550
movq 0x10(%r12), %rsi
testq %rsi, %rsi
je 0x4494c
movq 0x8(%r12), %rsi
movl 0x28(%r12), %edx
leaq 0x68(%rsp), %r13
movq %r13, %rdi
callq 0x39d05
movq %rbp, %rdi
movq %r13, %rsi
leaq 0x147ee(%rip), %rdx     # 0x59159
callq 0x1dd28
movq 0x30(%r12), %rdx
leaq 0x48(%rsp), %rdi
movq %rbp, %rsi
callq 0x4c05c
movq 0x18(%rsp), %rbx
movq %rbp, %rdi
callq 0xdbe8
movq %rbx, %rdi
leaq 0x17b96(%rip), %rsi     # 0x5c52f
callq 0xd550
movq %rax, %r13
movq %rbp, %rdi
leaq 0x48(%rsp), %rsi
callq 0x4e74c
movq %r13, %rdi
movq %rbp, %rsi
callq 0xd4e0
movq %rax, %rdi
leaq 0x17b85(%rip), %rsi     # 0x5c548
callq 0xd550
movq %rbp, %rdi
callq 0xdbe8
movq %r14, %rdi
leaq 0x68(%rsp), %rsi
leaq 0x1477a(%rip), %rdx     # 0x59159
callq 0x1dd28
movq 0x50(%r12), %rdx
movq %rbp, %rdi
movq %r14, %rsi
callq 0x4c05c
movq %r14, %rdi
callq 0xdbe8
movq %r14, %rdi
movq %rbp, %rsi
callq 0x43898
movq 0x18(%rsp), %rbx
movq 0x20(%rsp), %r13
movq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x43e74
movq %r14, %rdi
callq 0xdbe8
movq %rbx, %rdi
leaq 0x17b23(%rip), %rsi     # 0x5c553
callq 0xd550
incl 0x10(%rsp)
jmp 0x44b77
cmpl $0x3, %eax
jne 0x44b93
movl 0xc(%rsp), %eax
orl 0x10(%rsp), %eax
jne 0x44a60
movq %rbx, %rdi
leaq 0x17abf(%rip), %rsi     # 0x5c51a
callq 0xd550
movq 0x10(%r12), %rsi
testq %rsi, %rsi
je 0x44a6f
movq 0x8(%r12), %rsi
movl 0x28(%r12), %edx
leaq 0x68(%rsp), %r13
movq %r13, %rdi
callq 0x39d05
movq %rbp, %rdi
movq %r13, %rsi
leaq 0x146cb(%rip), %rdx     # 0x59159
callq 0x1dd28
movq 0x30(%r12), %rdx
leaq 0x48(%rsp), %rdi
movq %rbp, %rsi
callq 0x4c05c
movq 0x18(%rsp), %rbx
movq %rbp, %rdi
callq 0xdbe8
movq %rbx, %rdi
leaq 0x17aa3(%rip), %rsi     # 0x5c55f
callq 0xd550
movq %rax, %r13
movq 0x48(%rsp), %rsi
movq %r14, %rbx
movq %r14, %rdi
leaq 0x17(%rsp), %rdx
callq 0x1337a
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x4e74c
movq %r13, %rdi
movq %rbp, %rsi
callq 0xd4e0
movq %rax, %rdi
leaq 0x17a57(%rip), %rsi     # 0x5c550
callq 0xd550
movq %rbp, %rdi
callq 0xdbe8
movq %r14, %rdi
callq 0xdbe8
movq %r14, %rdi
leaq 0x68(%rsp), %rsi
leaq 0x1463c(%rip), %rdx     # 0x59159
callq 0x1dd28
movq 0x50(%r12), %rdx
movq %rbp, %rdi
movq %r14, %rsi
callq 0x4c05c
movq %r14, %rdi
callq 0xdbe8
movq %r14, %rdi
movq %rbp, %rsi
callq 0x43898
movq 0x18(%rsp), %rbx
movq 0x20(%rsp), %r13
movq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x43e74
movq %r14, %rdi
callq 0xdbe8
movq %rbx, %rdi
leaq 0x17a0a(%rip), %rsi     # 0x5c578
callq 0xd550
incl 0xc(%rsp)
movq %rbp, %rdi
callq 0xdbe8
leaq 0x48(%rsp), %rdi
callq 0xdbe8
leaq 0x68(%rsp), %rdi
callq 0xdbe8
incl %r15d
jmp 0x448ef
movl 0x10(%rsp), %eax
orl 0xc(%rsp), %eax
jne 0x44bc4
movq 0x58(%r13), %rax
subq 0x50(%r13), %rax
shrq $0x6, %rax
testl %eax, %eax
je 0x44bf0
leaq 0x1795e(%rip), %rsi     # 0x5c51a
movq %rbx, %rdi
callq 0xd550
movq %rbx, %rdi
movq %r13, %rsi
callq 0x4513a
leaq 0x179ae(%rip), %rsi     # 0x5c584
movq %rbx, %rdi
callq 0xd550
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x17921(%rip), %rsi     # 0x5c518
jmp 0x44bd6
jmp 0x44c2e
jmp 0x44c16
jmp 0x44c25
jmp 0x44c57
jmp 0x44c33
jmp 0x44c2e
jmp 0x44c2e
jmp 0x44c57
jmp 0x44c25
jmp 0x44c0f
jmp 0x44c2e
movq %rax, %rbx
jmp 0x44c71
jmp 0x44c57
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xdbe8
jmp 0x44c5a
movq %rax, %rbx
jmp 0x44c50
jmp 0x44c57
jmp 0x44c2e
movq %rax, %rbx
jmp 0x44c67
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
jmp 0x44c6c
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xdbe8
leaq 0x28(%rsp), %rdi
jmp 0x44c62
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xdbe8
leaq 0x48(%rsp), %rdi
callq 0xdbe8
leaq 0x68(%rsp), %rdi
callq 0xdbe8
movq %rbx, %rdi
callq 0xdaa0
nop