// File: halfflat[P]tinyopt/test/googletest/googletest/src/gtest.cc
// Function: testing::internal::ReportInvalidTestSuiteType(char const*, testing::internal::CodeLocation)
void ReportInvalidTestSuiteType(const char* test_suite_name,
                                CodeLocation code_location) {
  Message errors;
  errors
      << "Attempted redefinition of test suite " << test_suite_name << ".\n"
      << "All tests in the same test suite must use the same test fixture\n"
      << "class.  However, in test suite " << test_suite_name << ", you tried\n"
      << "to define a test using a fixture class different from the one\n"
      << "used earlier. This can happen if the two fixture classes are\n"
      << "from different namespaces and have the same name. You should\n"
      << "probably rename one of the classes to put the tests into different\n"
      << "test suites.";

  GTEST_LOG_(ERROR) << FormatFileLocation(code_location.file.c_str(),
                                          code_location.line)
                    << " " << errors.GetString();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rsi, -0x80(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x18(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x84210
movq -0x78(%rbp), %rdi
leaq 0x44899(%rip), %rsi     # 0xce958
callq 0xa8160
movq %rax, -0x70(%rbp)
jmp 0x8a0ca
movq -0x70(%rbp), %rdi
leaq -0x8(%rbp), %rsi
callq 0xa2dc0
movq %rax, -0x88(%rbp)
jmp 0x8a0e0
movq -0x88(%rbp), %rdi
leaq 0x44af5(%rip), %rsi     # 0xcebe3
callq 0xa4d00
movq %rax, -0x90(%rbp)
jmp 0x8a0fc
movq -0x90(%rbp), %rdi
leaq 0x445d2(%rip), %rsi     # 0xce6dc
callq 0xa7a70
movq %rax, -0x98(%rbp)
jmp 0x8a118
movq -0x98(%rbp), %rdi
leaq 0x446dc(%rip), %rsi     # 0xce802
callq 0xa7bb0
movq %rax, -0xa0(%rbp)
jmp 0x8a134
movq -0xa0(%rbp), %rdi
leaq -0x8(%rbp), %rsi
callq 0xa2dc0
movq %rax, -0xa8(%rbp)
jmp 0x8a14d
movq -0xa8(%rbp), %rdi
leaq 0x44823(%rip), %rsi     # 0xce97e
callq 0xa2d80
movq %rax, -0xb0(%rbp)
jmp 0x8a169
movq -0xb0(%rbp), %rdi
leaq 0x44814(%rip), %rsi     # 0xce98b
callq 0xa7c30
movq %rax, -0xb8(%rbp)
jmp 0x8a185
movq -0xb8(%rbp), %rdi
leaq 0x44837(%rip), %rsi     # 0xce9ca
callq 0xa7b70
movq %rax, -0xc0(%rbp)
jmp 0x8a1a1
movq -0xc0(%rbp), %rdi
leaq 0x44859(%rip), %rsi     # 0xcea08
callq 0xa7b70
movq %rax, -0xc8(%rbp)
jmp 0x8a1bd
movq -0xc8(%rbp), %rdi
leaq 0x4487b(%rip), %rsi     # 0xcea46
callq 0xa81a0
movq %rax, -0xd0(%rbp)
jmp 0x8a1d9
movq -0xd0(%rbp), %rdi
leaq 0x44743(%rip), %rsi     # 0xce92a
callq 0xa2d80
jmp 0x8a1ee
leaq 0x43ec6(%rip), %rdx     # 0xce0bb
leaq -0x28(%rbp), %rdi
movl $0x2, %esi
movl $0xafb, %ecx            # imm = 0xAFB
callq 0x7d880
jmp 0x8a20a
leaq -0x28(%rbp), %rdi
callq 0x1f280
movq %rax, -0xd8(%rbp)
jmp 0x8a21c
movq -0x80(%rbp), %rdi
callq 0x102c0
movq %rax, %rsi
movq -0x80(%rbp), %rax
movl 0x20(%rax), %edx
leaq -0x48(%rbp), %rdi
callq 0x7d500
jmp 0x8a23a
movq -0xd8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x10680
movq %rax, -0xe0(%rbp)
jmp 0x8a253
movq -0xe0(%rbp), %rdi
leaq 0x44299(%rip), %rsi     # 0xce4fa
callq 0x10720
movq %rax, -0xe8(%rbp)
jmp 0x8a26f
leaq -0x68(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x77710
jmp 0x8a27e
movq -0xe8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x10680
jmp 0x8a290
leaq -0x68(%rbp), %rdi
callq 0x10fc8
leaq -0x48(%rbp), %rdi
callq 0x10fc8
leaq -0x28(%rbp), %rdi
callq 0x7d9c0
leaq -0x18(%rbp), %rdi
callq 0x1d500
addq $0xf0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x8a30e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x8a305
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x8a2fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x10fc8
leaq -0x48(%rbp), %rdi
callq 0x10fc8
leaq -0x28(%rbp), %rdi
callq 0x7d9c0
leaq -0x18(%rbp), %rdi
callq 0x1d500
movq -0x20(%rbp), %rdi
callq 0x10e00