https://github.com/kazutakahirata created 
https://github.com/llvm/llvm-project/pull/166894

In C++17, static constexpr members are implicitly inline, so they no
longer require an out-of-line definition.

Identified with readability-redundant-declaration.


>From d1c619a075f1bfab6250c7c4716ef81c55f23802 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <[email protected]>
Date: Thu, 6 Nov 2025 13:35:55 -0800
Subject: [PATCH] [clang-tools-extra] Remove redundant declarations (NFC)

In C++17, static constexpr members are implicitly inline, so they no
longer require an out-of-line definition.

Identified with readability-redundant-declaration.
---
 clang-tools-extra/clang-doc/BitcodeWriter.cpp     | 2 --
 clang-tools-extra/clangd/ClangdLSPServer.cpp      | 1 -
 clang-tools-extra/clangd/FileDistance.cpp         | 1 -
 clang-tools-extra/clangd/FuzzyMatch.cpp           | 3 ---
 clang-tools-extra/clangd/index/SymbolLocation.cpp | 3 ---
 5 files changed, 10 deletions(-)

diff --git a/clang-tools-extra/clang-doc/BitcodeWriter.cpp 
b/clang-tools-extra/clang-doc/BitcodeWriter.cpp
index e23511bf63690..3a7ac6e2abcdd 100644
--- a/clang-tools-extra/clang-doc/BitcodeWriter.cpp
+++ b/clang-tools-extra/clang-doc/BitcodeWriter.cpp
@@ -303,8 +303,6 @@ static const std::vector<std::pair<BlockId, 
std::vector<RecordId>>>
 
 // AbbreviationMap
 
-constexpr unsigned char BitCodeConstants::Signature[];
-
 void ClangDocBitcodeWriter::AbbreviationMap::add(RecordId RID,
                                                  unsigned AbbrevID) {
   assert(RecordIdNameMap[RID] && "Unknown RecordId.");
diff --git a/clang-tools-extra/clangd/ClangdLSPServer.cpp 
b/clang-tools-extra/clangd/ClangdLSPServer.cpp
index 0f765e96fb152..f8e6da73bbb1f 100644
--- a/clang-tools-extra/clangd/ClangdLSPServer.cpp
+++ b/clang-tools-extra/clangd/ClangdLSPServer.cpp
@@ -456,7 +456,6 @@ class ClangdLSPServer::MessageHandler : public 
Transport::MessageHandler {
 
   ClangdLSPServer &Server;
 };
-constexpr int ClangdLSPServer::MessageHandler::MaxReplayCallbacks;
 
 // call(), notify(), and reply() wrap the Transport, adding logging and 
locking.
 void ClangdLSPServer::callMethod(StringRef Method, llvm::json::Value Params,
diff --git a/clang-tools-extra/clangd/FileDistance.cpp 
b/clang-tools-extra/clangd/FileDistance.cpp
index 06c1a8bc92a86..d587c26a82145 100644
--- a/clang-tools-extra/clangd/FileDistance.cpp
+++ b/clang-tools-extra/clangd/FileDistance.cpp
@@ -54,7 +54,6 @@ static llvm::SmallString<128> canonicalize(llvm::StringRef 
Path) {
   return Result;
 }
 
-constexpr const unsigned FileDistance::Unreachable;
 const llvm::hash_code FileDistance::RootHash =
     llvm::hash_value(llvm::StringRef("/"));
 
diff --git a/clang-tools-extra/clangd/FuzzyMatch.cpp 
b/clang-tools-extra/clangd/FuzzyMatch.cpp
index de7280d80361d..cf5182bc1b2d7 100644
--- a/clang-tools-extra/clangd/FuzzyMatch.cpp
+++ b/clang-tools-extra/clangd/FuzzyMatch.cpp
@@ -62,9 +62,6 @@
 namespace clang {
 namespace clangd {
 
-constexpr int FuzzyMatcher::MaxPat;
-constexpr int FuzzyMatcher::MaxWord;
-
 static char lower(char C) { return C >= 'A' && C <= 'Z' ? C + ('a' - 'A') : C; 
}
 // A "negative infinity" score that won't overflow.
 // We use this to mark unreachable states and forbidden solutions.
diff --git a/clang-tools-extra/clangd/index/SymbolLocation.cpp 
b/clang-tools-extra/clangd/index/SymbolLocation.cpp
index 61da267b93ce5..058cb1e0945f2 100644
--- a/clang-tools-extra/clangd/index/SymbolLocation.cpp
+++ b/clang-tools-extra/clangd/index/SymbolLocation.cpp
@@ -11,9 +11,6 @@
 namespace clang {
 namespace clangd {
 
-constexpr uint32_t SymbolLocation::Position::MaxLine;
-constexpr uint32_t SymbolLocation::Position::MaxColumn;
-
 void SymbolLocation::Position::setLine(uint32_t L) {
   if (L > MaxLine)
     L = MaxLine;

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to