[clang] [clang][deps] Implement efficient in-process `ModuleCache` (PR #129751)

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 18 14:10:19 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `openmp-s390x-linux` running on `systemz-1` while building `clang` at step 5 "compile-openmp".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/88/builds/9292

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (compile-openmp) failure: build (failure)
...
290.152 [878/4/4432] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/TokenBufferTokenManager.cpp.o
290.180 [877/4/4433] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/Synthesis.cpp.o
290.283 [876/4/4434] Building CXX object tools/clang/lib/Tooling/Refactoring/CMakeFiles/obj.clangToolingRefactoring.dir/RefactoringActions.cpp.o
290.303 [875/4/4435] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/Tree.cpp.o
290.324 [874/4/4436] Building CXX object tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningFilesystem.cpp.o
290.406 [873/4/4437] Building CXX object tools/clang/lib/Tooling/Refactoring/CMakeFiles/obj.clangToolingRefactoring.dir/Rename/RenamingAction.cpp.o
290.444 [872/4/4438] Building CXX object tools/clang/lib/Tooling/Syntax/CMakeFiles/obj.clangToolingSyntax.dir/Tokens.cpp.o
290.480 [871/4/4439] Linking CXX static library lib/libclangToolingSyntax.a
290.692 [870/4/4440] Building CXX object tools/clang/lib/Tooling/Refactoring/CMakeFiles/obj.clangToolingRefactoring.dir/Rename/USRFindingAction.cpp.o
291.735 [869/4/4441] Building CXX object tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningService.cpp.o
FAILED: tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningService.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/c++ -DCLANG_EXPORTS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/tools/clang/lib/Tooling/DependencyScanning -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/tools/clang/include -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/include -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningService.cpp.o -MF tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningService.cpp.o.d -o tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningService.cpp.o -c /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
In file included from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp:9:
/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h:117:22: error: declaration of 'clang::tooling::dependencies::ModuleCacheMutexes clang::tooling::dependencies::DependencyScanningService::ModuleCacheMutexes' changes meaning of 'ModuleCacheMutexes' [-fpermissive]
  117 |   ModuleCacheMutexes ModuleCacheMutexes;
      |                      ^~~~~~~~~~~~~~~~~~
In file included from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h:13,
                 from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp:9:
/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h:20:8: note: 'ModuleCacheMutexes' declared here as 'struct clang::tooling::dependencies::ModuleCacheMutexes'
   20 | struct ModuleCacheMutexes {
      |        ^~~~~~~~~~~~~~~~~~
291.785 [869/3/4442] Building CXX object tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/InProcessModuleCache.cpp.o
298.756 [869/2/4443] Building CXX object tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningTool.cpp.o
FAILED: tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningTool.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/c++ -DCLANG_EXPORTS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/tools/clang/lib/Tooling/DependencyScanning -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/tools/clang/include -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/include -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningTool.cpp.o -MF tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningTool.cpp.o.d -o tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningTool.cpp.o -c /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
In file included from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h:12,
                 from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp:9:
/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h:117:22: error: declaration of 'clang::tooling::dependencies::ModuleCacheMutexes clang::tooling::dependencies::DependencyScanningService::ModuleCacheMutexes' changes meaning of 'ModuleCacheMutexes' [-fpermissive]
  117 |   ModuleCacheMutexes ModuleCacheMutexes;
      |                      ^~~~~~~~~~~~~~~~~~
In file included from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h:13,
                 from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h:12,
                 from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp:9:
/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h:20:8: note: 'ModuleCacheMutexes' declared here as 'struct clang::tooling::dependencies::ModuleCacheMutexes'
   20 | struct ModuleCacheMutexes {
      |        ^~~~~~~~~~~~~~~~~~
302.003 [869/1/4444] Building CXX object tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningWorker.cpp.o
FAILED: tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningWorker.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/c++ -DCLANG_EXPORTS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/tools/clang/lib/Tooling/DependencyScanning -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/tools/clang/include -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/include -I/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningWorker.cpp.o -MF tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningWorker.cpp.o.d -o tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/DependencyScanningWorker.cpp.o -c /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
In file included from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h:16,
                 from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp:9:
/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h:117:22: error: declaration of 'clang::tooling::dependencies::ModuleCacheMutexes clang::tooling::dependencies::DependencyScanningService::ModuleCacheMutexes' changes meaning of 'ModuleCacheMutexes' [-fpermissive]
  117 |   ModuleCacheMutexes ModuleCacheMutexes;
      |                      ^~~~~~~~~~~~~~~~~~
In file included from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h:13,
                 from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h:16,
                 from /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp:9:
/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h:20:8: note: 'ModuleCacheMutexes' declared here as 'struct clang::tooling::dependencies::ModuleCacheMutexes'
   20 | struct ModuleCacheMutexes {

```

</details>

https://github.com/llvm/llvm-project/pull/129751


More information about the cfe-commits mailing list