// File: WeihuaZhu[P]hpc_prog2/./gtest/gtest-all.cc
// Function: testing::internal::UnitTestImpl::ListTestsMatchingFilter()
void UnitTestImpl::ListTestsMatchingFilter() {
  // Print at most this many characters for each type/value parameter.
  const int kMaxParamLength = 250;

  for (size_t i = 0; i < test_cases_.size(); i++) {
    const TestCase* const test_case = test_cases_[i];
    bool printed_test_case_name = false;

    for (size_t j = 0; j < test_case->test_info_list().size(); j++) {
      const TestInfo* const test_info =
          test_case->test_info_list()[j];
      if (test_info->matches_filter_) {
        if (!printed_test_case_name) {
          printed_test_case_name = true;
          printf("%s.", test_case->name());
          if (test_case->type_param() != NULL) {
            printf("  # %s = ", kTypeParamLabel);
            // We print the type parameter on a single line to make
            // the output easy to parse by a program.
            PrintOnOneLine(test_case->type_param(), kMaxParamLength);
          }
          printf("\n");
        }
        printf("  %s", test_info->name());
        if (test_info->value_param() != NULL) {
          printf("  # %s = ", kValueParamLabel);
          // We print the value parameter on a single line to make the
          // output easy to parse by a program.
          PrintOnOneLine(test_info->value_param(), kMaxParamLength);
        }
        printf("\n");
      }
    }
  }
  fflush(stdout);
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq %rax, 0x18(%rsp)
movl $0xfa, 0x4c(%rsp)
movq $0x0, 0x40(%rsp)
movq 0x18(%rsp), %rdi
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsp)
addq $0xb8, %rdi
callq 0x33480
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jae 0x28637
movq 0x18(%rsp), %rdi
addq $0xb8, %rdi
movq 0x40(%rsp), %rsi
callq 0x38e10
movq (%rax), %rax
movq %rax, 0x38(%rsp)
movb $0x0, 0x37(%rsp)
movq $0x0, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
callq 0x354e0
movq %rax, %rdi
callq 0x36280
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jae 0x28622
movq 0x38(%rsp), %rdi
callq 0x354e0
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x354f0
movq (%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
testb $0x1, 0x5a(%rax)
je 0x2860d
testb $0x1, 0x37(%rsp)
jne 0x285a8
movb $0x1, 0x37(%rsp)
movq 0x38(%rsp), %rdi
callq 0x36950
movq %rax, %rsi
leaq 0x251c8(%rip), %rdi     # 0x4d71f
movb $0x0, %al
callq 0xe090
movq 0x38(%rsp), %rdi
callq 0x36970
cmpq $0x0, %rax
je 0x2859a
leaq 0x251ae(%rip), %rdi     # 0x4d723
leaq 0x23416(%rip), %rsi     # 0x4b992
movb $0x0, %al
callq 0xe090
movq 0x38(%rsp), %rdi
callq 0x36970
movq %rax, %rdi
movl $0xfa, %esi
callq 0x28bd0
leaq 0x24bd4(%rip), %rdi     # 0x4d175
movb $0x0, %al
callq 0xe090
movq 0x20(%rsp), %rdi
callq 0x35510
movq %rax, %rsi
leaq 0x25171(%rip), %rdi     # 0x4d72d
movb $0x0, %al
callq 0xe090
movq 0x20(%rsp), %rdi
callq 0x36900
cmpq $0x0, %rax
je 0x285ff
leaq 0x25149(%rip), %rdi     # 0x4d723
leaq 0x233bb(%rip), %rsi     # 0x4b99c
movb $0x0, %al
callq 0xe090
movq 0x20(%rsp), %rdi
callq 0x36900
movq %rax, %rdi
movl $0xfa, %esi
callq 0x28bd0
leaq 0x24b6f(%rip), %rdi     # 0x4d175
movb $0x0, %al
callq 0xe090
jmp 0x2860f
movq 0x28(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
jmp 0x284dc
jmp 0x28624
movq 0x40(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x40(%rsp)
jmp 0x28484
movq 0x3c942(%rip), %rax     # 0x64f80
movq (%rax), %rdi
callq 0xecc0
addq $0x58, %rsp
retq
nopl (%rax,%rax)