The problem is that member functions have __attribute__((thiscall)) in the AST when targeting 32-bit Windows, and the test doesn't expect that. I wasn't sure how to fix that. Alternatively, maybe the test could have a target triple so that the AST doesn't vary between host platforms? [2044/2045] Running the Clangd regression tests llvm-lit.py: C:/src/llvm.monorepo/llvm\utils\lit\lit\llvm\config.py:342: note: using clang: c:\src\llvm.monorepo\build.32_2019\bin\clang.exe -- Testing: 724 tests, 32 workers -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. FAIL: Clangd Unit Tests :: ./ClangdTests.exe/Hover.All (723 of 724) ******************** TEST 'Clangd Unit Tests :: ./ClangdTests.exe/Hover.All' FAILED ******************** Note: Google Test filter = Hover.All [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from Hover [ RUN ] Hover.All C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1628): error: Expected: H->Type Which is: int () __attribute__((thiscall)) To be equal to: Expected.Type Which is: int () Google Test trace: C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1621): instance-method x → int // In Foo int x() C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1604): // Method call struct Foo { int x(); }; int main() { Foo bar; bar.^[[x]](); } C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1628): error: Expected: H->Type Which is: int () __attribute__((thiscall)) To be equal to: Expected.Type Which is: int () Google Test trace: C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1621): instance-method method → int // In cls<int> int method() C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1604): // should not crash. template <class T> struct cls { int method(); }; auto test = cls<int>().[[m^ethod]](); [ FAILED ] Hover.All (959 ms) [----------] 1 test from Hover (959 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test case ran. (959 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] Hover.All 1 FAILED TEST Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213812 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213900 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213904 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp Building first preamble for C:\clangd-test\TestTU.cpp Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp ******************** Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Testing Time: 5.27s ******************** Failing Tests (1): Clangd Unit Tests :: ./ClangdTests.exe/Hover.All Expected Passes : 715 Unsupported Tests : 8 Unexpected Failures: 1 FAILED: tools/clang/tools/extra/clangd/test/CMakeFiles/check-clangd cmd.exe /C "cd /D C:\src\llvm.monorepo\build.32_2019\tools\clang\tools\extra\clangd\test && C:\python_27_amd64\files\python.exe C:/src/llvm.monorepo/build.32_2019/./bin/llvm-lit.py -sv C:/src/llvm.monorepo/build.32_2019/tools/clang/tools/extra/clangd/test/../unittests C:/src/llvm.monorepo/build.32_2019/tools/clang/tools/extra/clangd/test" ninja: build stopped: subcommand failed.
Forgot to mention: this was on the 10.x branch at 54b022d344412fc9f1dfe37ee05de934a01e1ea4, but I assume it's the same on trunk.
Sent out https://reviews.llvm.org/D73613, thanks for target triplet suggestion!
Committed to trunk as 55b0e9c9d5de7c5d70552ac9ca9ffc14097e983b and cherry-picked to release branch as 9a174549742aae9e5bc9ab099cad849b0282f0e3
Great, thanks!