Author: Alexis Engelke Date: 2026-03-07T13:35:51Z New Revision: 898dc857633bebda504a20390220c87761050f08
URL: https://github.com/llvm/llvm-project/commit/898dc857633bebda504a20390220c87761050f08 DIFF: https://github.com/llvm/llvm-project/commit/898dc857633bebda504a20390220c87761050f08.diff LOG: [clangd] Disable PCH for libs that use gRPC (#185185) gRPC adds -pthread, which is incompatible with PCH without it. At some point, we probably should generally switch from -lpthread to -pthread, but until then, disable PCH for affected targets. Fixes https://github.com/llvm/llvm-project/issues/184759. Added: Modified: clang-tools-extra/clangd/index/dex/dexp/CMakeLists.txt clang-tools-extra/clangd/index/remote/CMakeLists.txt clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt clang-tools-extra/clangd/index/remote/monitor/CMakeLists.txt clang-tools-extra/clangd/index/remote/server/CMakeLists.txt clang-tools-extra/clangd/tool/CMakeLists.txt clang/cmake/modules/AddGRPC.cmake Removed: ################################################################################ diff --git a/clang-tools-extra/clangd/index/dex/dexp/CMakeLists.txt b/clang-tools-extra/clangd/index/dex/dexp/CMakeLists.txt index 4fe42cb8786f1..ae11c43fda86a 100644 --- a/clang-tools-extra/clangd/index/dex/dexp/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/dex/dexp/CMakeLists.txt @@ -5,6 +5,9 @@ set(LLVM_LINK_COMPONENTS add_clang_executable(dexp Dexp.cpp + + # Disable PCH, gRPC adds -pthread. + DISABLE_PCH_REUSE ) clang_target_link_libraries(dexp diff --git a/clang-tools-extra/clangd/index/remote/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/CMakeLists.txt index 28df71855a142..ef4d04b47dae2 100644 --- a/clang-tools-extra/clangd/index/remote/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/CMakeLists.txt @@ -32,6 +32,9 @@ if (CLANGD_ENABLE_REMOTE) DEPENDS clangdRemoteIndexProto clangdRemoteIndexServiceProto + + # Disable PCH, gRPC adds -pthread. + DISABLE_PCH_REUSE ) clang_target_link_libraries(clangdRemoteIndex diff --git a/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt index d7e37003e5f98..74963e838677c 100644 --- a/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt @@ -8,4 +8,7 @@ add_clang_library(clangdRemoteMarshalling STATIC DEPENDS clangdRemoteIndexProto + + # Disable PCH, gRPC adds -pthread. + DISABLE_PCH_REUSE ) diff --git a/clang-tools-extra/clangd/index/remote/monitor/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/monitor/CMakeLists.txt index 194c7d5128a98..53351ae901b3d 100644 --- a/clang-tools-extra/clangd/index/remote/monitor/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/monitor/CMakeLists.txt @@ -6,6 +6,9 @@ add_clang_executable(clangd-index-server-monitor DEPENDS clangdRemoteIndexServiceProto + + # Disable PCH, gRPC adds -pthread. + DISABLE_PCH_REUSE ) target_link_libraries(clangd-index-server-monitor diff --git a/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt index 3bea34826f8a1..12090d83928fd 100644 --- a/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt @@ -7,6 +7,9 @@ add_clang_executable(clangd-index-server DEPENDS clangdRemoteIndexProto clangdRemoteIndexServiceProto + + # Disable PCH, gRPC adds -pthread. + DISABLE_PCH_REUSE ) target_link_libraries(clangd-index-server diff --git a/clang-tools-extra/clangd/tool/CMakeLists.txt b/clang-tools-extra/clangd/tool/CMakeLists.txt index 850a82833e444..1bd6a1f864dd3 100644 --- a/clang-tools-extra/clangd/tool/CMakeLists.txt +++ b/clang-tools-extra/clangd/tool/CMakeLists.txt @@ -4,6 +4,9 @@ set(LLVM_OPTIONAL_SOURCES ClangdToolMain.cpp) add_clang_library(clangdMain STATIC ClangdMain.cpp Check.cpp + + # Disable PCH, gRPC adds -pthread. + DISABLE_PCH_REUSE ) add_clang_tool(clangd diff --git a/clang/cmake/modules/AddGRPC.cmake b/clang/cmake/modules/AddGRPC.cmake index 8989bd757d247..5d752bf86459d 100644 --- a/clang/cmake/modules/AddGRPC.cmake +++ b/clang/cmake/modules/AddGRPC.cmake @@ -7,5 +7,8 @@ function(generate_clang_protos_library LibraryName ProtoFile) add_clang_library(${LibraryName} ${ProtoSource} PARTIAL_SOURCES_INTENDED - LINK_LIBS PUBLIC grpc++ protobuf) + LINK_LIBS PUBLIC grpc++ protobuf + # Disable PCH, gRPC adds -pthread. + DISABLE_PCH_REUSE + ) endfunction() _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
