# If we see the same function name, but with different hashes, make
# sure we keep both.

# RUN: llvm-profdata merge %s -o %t 2>&1
# RUN: llvm-profdata show %t -all-functions -counts > %t.out

# The function ordering is non-deterministic, so we need to do our
# checks in multiple runs.
# RUN: FileCheck -check-prefix=FOO3 -check-prefix=BOTH %s -input-file %t.out
# RUN: FileCheck -check-prefix=FOO4 -check-prefix=BOTH %s -input-file %t.out

# FOO3: Hash: 0x{{0+}}3
# FOO3-NEXT: Counters: 3
# FOO3-NEXT: Function count: 1
# FOO3-NEXT: Block counts: [2, 3]
foo
3
3
1
2
3

# FOO4: Hash: 0x{{0+}}4
# FOO4-NEXT: Counters: 4
# FOO4-NEXT: Function count: 11
# FOO4-NEXT: Block counts: [22, 33, 44]
foo
4
4
11
22
33
44

# BOTH: Total functions: 2
# BOTH: Maximum function count: 11
# BOTH: Maximum internal block count: 44
