// File: /workspace/github_cpp_makefile_star2_O3/halfflat[P]tinyopt/test/googletest/googletest/src/gtest.cc
// Function: testing::internal::TypeParameterizedTestSuiteRegistry::CheckForInstantiations()
void TypeParameterizedTestSuiteRegistry::CheckForInstantiations() {
  const auto& ignored = *GetIgnoredParameterizedTestSuites();
  for (const auto& testcase : suites_) {
    if (testcase.second.instantiated) continue;
    if (ignored.find(testcase.first) != ignored.end()) continue;

    std::string message =
        "Type parameterized test suite " + testcase.first +
        " is defined via REGISTER_TYPED_TEST_SUITE_P, but never instantiated "
        "via INSTANTIATE_TYPED_TEST_SUITE_P. None of the test cases will run."
        "\n\n"
        "Ideally, TYPED_TEST_P definitions should only ever be included as "
        "part of binaries that intend to use them. (As opposed to, for "
        "example, being placed in a library that may be linked in to get "
        "other "
        "utilities.)"
        "\n\n"
        "To suppress this error for this test suite, insert the following "
        "line "
        "(in a non-header) in the namespace it is defined in:"
        "\n\n"
        "GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(" +
        testcase.first + ");";

    std::string full_name =
        "UninstantiatedTypeParameterizedTestSuite<" + testcase.first + ">";
    RegisterTest(  //
        "GoogleTestVerification", full_name.c_str(),
        nullptr,  // No type parameter.
        nullptr,  // No value parameter.
        testcase.second.code_location.file.c_str(),
        testcase.second.code_location.line, [message, testcase] {
          return new FailureTest(testcase.second.code_location, message,
                                 kErrorOnUninstantiatedTypeParameterizedTest);
        });
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rdi, %rbx
callq 0x490c6
movq 0x18(%rbx), %r14
addq $0x8, %rbx
cmpq %rbx, %r14
je 0x4a76f
movq 0x4a809(%rip), %rax     # 0x949e0
leaq 0x130(%rax), %rcx
movq %rcx, 0x128(%rsp)
addq $0x138, %rax            # imm = 0x138
movq %rax, 0x130(%rsp)
leaq 0xc0(%rsp), %r15
movq %rbx, 0x120(%rsp)
cmpb $0x0, 0x68(%r14)
jne 0x4a75b
leaq 0x20(%r14), %rbp
movq 0x128(%rsp), %rdi
movq %rbp, %rsi
callq 0x6969a
cmpq 0x130(%rsp), %rax
jne 0x4a75b
leaq 0x50(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2762c(%rip), %rsi     # 0x7186c
movq %rbp, %rdx
callq 0x2113f
movq %rbx, %rdi
leaq 0x27639(%rip), %rsi     # 0x7188b
callq 0xdb40
leaq 0x38(%rsp), %rsi
movq %rsi, 0x28(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0xb0(%rsp), %rbx
je 0x4a287
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x4a28d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x20(%r14), %rsi
movq 0x28(%r14), %rdx
leaq 0x28(%rsp), %rdi
callq 0xd180
movq %r15, 0xb0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4a2e3
movq %rdx, 0xb0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xc0(%rsp)
jmp 0x4a2ea
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0xb8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
leaq 0x274f6(%rip), %rsi     # 0x71805
callq 0xdb40
leaq 0x80(%rsp), %rsi
movq %rsi, 0x70(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4a342
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0x4a348
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x78(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0xb0(%rsp), %rdi
cmpq %r15, %rdi
je 0x4a37d
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4a399
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x4a3b5
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
leaq 0x276d4(%rip), %rsi     # 0x71a93
movq %rbp, %rdx
callq 0x2113f
movq %rbx, %rdi
leaq 0x28140(%rip), %rsi     # 0x72511
callq 0xdb40
leaq 0xa0(%rsp), %rsi
movq %rsi, 0x90(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4a40a
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0x4a410
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x98(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0xb0(%rsp), %rdi
movq %r15, %rbx
cmpq %r15, %rdi
je 0x4a44b
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x90(%rsp), %r12
movq 0x40(%r14), %r13
movl 0x60(%r14), %r15d
leaq 0x148(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x70(%rsp), %rsi
movq 0x78(%rsp), %rdx
addq %rsi, %rdx
leaq 0x138(%rsp), %rdi
callq 0x152da
leaq 0x158(%rsp), %rdi
movq %rbp, %rsi
callq 0x624dc
leaq 0x50(%rsp), %rdi
movq %r13, %rsi
leaq 0x27(%rsp), %rdx
callq 0x2008e
leaq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x152da
movl %r15d, 0x48(%rsp)
movl $0x78, %edi
callq 0xd500
movq %rax, %rbp
movq %rbx, 0xb0(%rsp)
movq 0x138(%rsp), %rax
leaq 0x148(%rsp), %rdx
cmpq %rdx, %rax
je 0x4a511
movq %rax, 0xb0(%rsp)
movq 0x148(%rsp), %rax
movq %rax, 0xc0(%rsp)
jmp 0x4a517
movups (%rdx), %xmm0
movups %xmm0, (%rbx)
movq 0x140(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq %rdx, 0x138(%rsp)
movq $0x0, 0x140(%rsp)
movb $0x0, 0x148(%rsp)
leaq 0xd0(%rsp), %rdi
leaq 0x158(%rsp), %rsi
callq 0x624dc
leaq 0x49189(%rip), %rax     # 0x936e8
movq %rax, (%rbp)
leaq 0x18(%rbp), %r15
movq %r15, 0x8(%rbp)
movq 0xb0(%rsp), %rax
movq %rbx, %rcx
cmpq %rbx, %rax
je 0x4a58d
movq %rax, 0x8(%rbp)
movq 0xc0(%rsp), %rax
movq %rax, 0x18(%rbp)
jmp 0x4a594
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0xb8(%rsp), %rax
movq %rax, 0x10(%rbp)
movq %rcx, 0xb0(%rsp)
movq $0x0, 0xb8(%rsp)
movb $0x0, 0xc0(%rsp)
movq %rbp, %rdi
addq $0x28, %rdi
leaq 0xd0(%rsp), %rsi
callq 0x624dc
movq %rbp, 0x10(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
leaq 0x2724b(%rip), %rdi     # 0x7182e
movq %r12, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
leaq 0x28(%rsp), %r8
leaq 0x4a41a(%rip), %r9      # 0x94a10
callq 0x50d2a
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
movq %rbx, %r15
je 0x4a623
movq 0x100(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
movq 0x120(%rsp), %rbx
je 0x4a650
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0xb0(%rsp), %rdi
cmpq %r15, %rdi
je 0x4a66d
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4a689
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x4a6a5
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x4a6ca
movq 0x188(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
cmpq %rax, %rdi
je 0x4a6ef
movq 0x168(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0x4a714
movq 0x148(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x4a739
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x4a75b
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xd530
movq %r14, %rdi
callq 0xd360
movq %rax, %r14
cmpq %rbx, %rax
jne 0x4a204
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
jmp 0x4a8ce
movq %rax, %r14
movq 0xb0(%rsp), %rdi
cmpq %r15, %rdi
je 0x4a8f3
movq 0xc0(%rsp), %rsi
jmp 0x4a8eb
movq %rax, %r14
jmp 0x4a8f3
movq %rax, %r14
movq 0xb0(%rsp), %rdi
cmpq %r15, %rdi
je 0x4a7d7
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x4a7d7
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4a7f8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x4a7f8
movq %rax, %r14
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x4a915
movq 0x60(%rsp), %rsi
jmp 0x4a90d
movq %rax, %r14
leaq 0xb0(%rsp), %rdi
callq 0x4a948
jmp 0x4a87f
movq %rax, %r14
movq 0x8(%rbp), %rdi
cmpq %r15, %rdi
je 0x4a83e
movq (%r15), %rsi
incq %rsi
callq 0xd530
leaq 0xb0(%rsp), %rdi
callq 0x4a948
jmp 0x4a86d
movq %rax, %r14
movq 0xb0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4a86d
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xd530
movl $0x78, %esi
movq %rbp, %rdi
callq 0xd530
jmp 0x4a87f
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4a8a0
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x4a8a0
movq %rax, %r14
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x4a8c1
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x4a8c1
movq %rax, %r14
leaq 0x138(%rsp), %rdi
callq 0x4a948
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x4a8f3
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x4a915
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xd530
movq %r14, %rdi
callq 0xda70
movq %rax, %r14
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0x4a8ce
movq 0x148(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x4a8ce
nop