This is caused by https://github.com/ClickHouse/ClickHouse/pull/15008 which remove the following codes, see [diffs](https://github.com/ClickHouse/ClickHouse/pull/15008/files#diff-7c684e619b06ba1d15887c5342cf6609)

```c++
static inline size_t _intHash64(UInt64 x)
{
    return static_cast<size_t>(intHash64(x));
}
```

the codes were introduced  by  https://github.com/ClickHouse/ClickHouse/pull/1356:

> Basically, in the current version of Poco, unsigned long no longer aliases to UInt64 with LP64 pocoproject/poco#1870 (or any other type, unsigned long is basically not convertible to anything).
> 
> The size_t aliases to unsigned long with clang, so all the uses of size_t instead of UInt64 when interacting with Poco interfaces are gone pocoproject/poco#1147. I replaced uses with UInt64 where it makes sense, and added an overloaded function for readVarUInt() to support size_t.

-----
Make sure that `git diff` result is empty and you've just pulled fresh master. Try cleaning up cmake cache. Just in case, official build instructions are published here: https://clickhouse.yandex/docs/en/development/build/

**Operating system**
macos

**Cmake version**
cmake version 3.16.2

**Ninja version**

**Compiler name and version**
Apple clang version 11.0.3 (clang-1103.0.32.29)

**Full cmake and/or ninja output**
```
[100%] Building CXX object src/Common/tests/CMakeFiles/int_hashes_perf.dir/int_hashes_perf.cpp.o
/ClickHouse/src/Common/tests/int_hashes_perf.cpp:282:33: error: no matching function for call to 'test'
    if (!method || method == 3) test<intHash64> (n, data.data(), "2: intHash64");
                                ^~~~~~~~~~~~~~~
/ClickHouse/src/Common/tests/int_hashes_perf.cpp:209:20: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Func'
static inline void test(size_t n, const UInt64 * data, const char * name)
```

Source data(BUF_SIZE);
    {
        Stopwatch watch;
        srand48(rdtsc());
        for (size_t i = 0; i < BUF_SIZE; ++i)
            data[i] = lrand48();
        watch.stop();
        double elapsed = watch.elapsedSeconds();
        std::cerr << std::fixed << std::setprecision(2)
            << "Fill. Size: " << BUF_SIZE
            << ", elapsed: " << elapsed
            << " (" << BUF_SIZE / elapsed << " elem/sec.)"
            << std::endl << std::endl;
    }
    setAffinity();
    if (!method || method == 1) test<identity>  (n, data.data(), "0: identity");
    if (!method || method == 2) test<intHash32> (n, data.data(), "1: intHash32");
    if (!method || method == 3) test<intHash64> (n, data.data(), "2: intHash64");
    if (!method || method == 4) test<hash3>     (n, data.data(), "3: two rounds");
    if (!method || method == 5) test<hash4>     (n, data.data(), "4: two rounds and two variables");
    if (!method || method == 6) test<hash5>     (n, data.data(), "5: two rounds with less ops");
    if (!method || method == 7) test<murmurMix> (n, data.data(), "6: murmur64 mixer");
    if (!method || method == 8) test<mulShift>  (n, data.data(), "7: mulShift");
    if (!method || method == 9) test<tabulation>(n, data.data(), "8: tabulation");
#if defined(__x86_64__)
    if (!method || method == 10) test<crc32Hash> (n, data.data(), "9: crc32");
#endif
    return 0;
}