-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[clang-tools-extra] Use llvm::replace (NFC) #140200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
kazutakahirata
merged 1 commit into
llvm:main
from
kazutakahirata:cleanup_001_range_std_replace_clang_tools
May 16, 2025
Merged
[clang-tools-extra] Use llvm::replace (NFC) #140200
kazutakahirata
merged 1 commit into
llvm:main
from
kazutakahirata:cleanup_001_range_std_replace_clang_tools
May 16, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@llvm/pr-subscribers-clang-tidy @llvm/pr-subscribers-clangd Author: Kazu Hirata (kazutakahirata) ChangesFull diff: https://github.com/llvm/llvm-project/pull/140200.diff 10 Files Affected:
diff --git a/clang-tools-extra/clang-doc/HTMLGenerator.cpp b/clang-tools-extra/clang-doc/HTMLGenerator.cpp
index 4ad5ba29b28b8..eea9c6bcd18ad 100644
--- a/clang-tools-extra/clang-doc/HTMLGenerator.cpp
+++ b/clang-tools-extra/clang-doc/HTMLGenerator.cpp
@@ -1022,12 +1022,12 @@ static llvm::Error serializeIndex(ClangDocContext &CDCtx) {
// JavaScript from escaping characters incorrectly, and introducing bad paths
// in the URLs.
std::string RootPathEscaped = RootPath.str().str();
- std::replace(RootPathEscaped.begin(), RootPathEscaped.end(), '\\', '/');
+ llvm::replace(RootPathEscaped, '\\', '/');
OS << "var RootPath = \"" << RootPathEscaped << "\";\n";
llvm::SmallString<128> Base(CDCtx.Base);
std::string BaseEscaped = Base.str().str();
- std::replace(BaseEscaped.begin(), BaseEscaped.end(), '\\', '/');
+ llvm::replace(BaseEscaped, '\\', '/');
OS << "var Base = \"" << BaseEscaped << "\";\n";
CDCtx.Idx.sort();
diff --git a/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp b/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp
index 42d358a15083a..ba89070be59cc 100644
--- a/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp
+++ b/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp
@@ -49,9 +49,9 @@ std::string LLVMHeaderGuardCheck::getHeaderGuard(StringRef Filename,
if (PosLLVM != StringRef::npos)
Guard = Guard.substr(PosLLVM);
- std::replace(Guard.begin(), Guard.end(), '/', '_');
- std::replace(Guard.begin(), Guard.end(), '.', '_');
- std::replace(Guard.begin(), Guard.end(), '-', '_');
+ llvm::replace(Guard, '/', '_');
+ llvm::replace(Guard, '.', '_');
+ llvm::replace(Guard, '-', '_');
// The prevalent style in clang is LLVM_CLANG_FOO_BAR_H
if (StringRef(Guard).starts_with("clang"))
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index 3f63eec2c51a8..04040d580b6f1 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -496,7 +496,7 @@ void IdentifierNamingCheck::HungarianNotation::loadFileConfig(
StringRef Val = Options.get(Buffer, "");
if (!Val.empty()) {
std::string Type = PrimType.str();
- std::replace(Type.begin(), Type.end(), '-', ' ');
+ llvm::replace(Type, '-', ' ');
HNOption.PrimitiveType[Type] = Val.str();
}
}
@@ -1358,7 +1358,7 @@ IdentifierNamingCheck::getFailureInfo(
std::string KindName =
fixupWithCase(Type, StyleNames[SK], ND, Style, HNOption,
IdentifierNamingCheck::CT_LowerCase);
- std::replace(KindName.begin(), KindName.end(), '_', ' ');
+ llvm::replace(KindName, '_', ' ');
std::string Fixup = fixupWithStyle(Type, Name, Style, HNOption, ND);
if (StringRef(Fixup) == Name) {
diff --git a/clang-tools-extra/clangd/Diagnostics.cpp b/clang-tools-extra/clangd/Diagnostics.cpp
index 28bb994a9e99a..bc605fda5b0ce 100644
--- a/clang-tools-extra/clangd/Diagnostics.cpp
+++ b/clang-tools-extra/clangd/Diagnostics.cpp
@@ -800,7 +800,7 @@ void StoreDiags::HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
M << "'";
}
// Don't allow source code to inject newlines into diagnostics.
- std::replace(Message.begin(), Message.end(), '\n', ' ');
+ llvm::replace(Message, '\n', ' ');
}
}
if (Message.empty()) // either !SyntheticMessage, or we failed to make one.
diff --git a/clang-tools-extra/clangd/FindTarget.cpp b/clang-tools-extra/clangd/FindTarget.cpp
index 62f220b32bd10..91fd3b0f8567b 100644
--- a/clang-tools-extra/clangd/FindTarget.cpp
+++ b/clang-tools-extra/clangd/FindTarget.cpp
@@ -57,7 +57,7 @@ LLVM_ATTRIBUTE_UNUSED std::string nodeToString(const DynTypedNode &N) {
OS << ": ";
N.print(OS, PrintingPolicy(LangOptions()));
}
- std::replace(S.begin(), S.end(), '\n', ' ');
+ llvm::replace(S, '\n', ' ');
return S;
}
diff --git a/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp b/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
index d192749870d6f..fa451daf1bb52 100644
--- a/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
+++ b/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
@@ -381,7 +381,7 @@ std::unique_ptr<SymbolIndex> openIndex(llvm::StringRef Index) {
bool runCommand(std::string Request, const SymbolIndex &Index) {
// Split on spaces and add required null-termination.
- std::replace(Request.begin(), Request.end(), ' ', '\0');
+ llvm::replace(Request, ' ', '\0');
llvm::SmallVector<llvm::StringRef> Args;
llvm::StringRef(Request).split(Args, '\0', /*MaxSplit=*/-1,
/*KeepEmpty=*/false);
diff --git a/clang-tools-extra/modularize/ModularizeUtilities.cpp b/clang-tools-extra/modularize/ModularizeUtilities.cpp
index 576e863c8a9d2..a8f1ddf64d34b 100644
--- a/clang-tools-extra/modularize/ModularizeUtilities.cpp
+++ b/clang-tools-extra/modularize/ModularizeUtilities.cpp
@@ -443,7 +443,7 @@ static std::string replaceDotDot(StringRef Path) {
// \returns The file path in canonical form.
std::string ModularizeUtilities::getCanonicalPath(StringRef FilePath) {
std::string Tmp(replaceDotDot(FilePath));
- std::replace(Tmp.begin(), Tmp.end(), '\\', '/');
+ llvm::replace(Tmp, '\\', '/');
StringRef Tmp2(Tmp);
if (Tmp2.starts_with("./"))
Tmp = std::string(Tmp2.substr(2));
diff --git a/clang-tools-extra/modularize/ModuleAssistant.cpp b/clang-tools-extra/modularize/ModuleAssistant.cpp
index b4ec96617449f..7519056833040 100644
--- a/clang-tools-extra/modularize/ModuleAssistant.cpp
+++ b/clang-tools-extra/modularize/ModuleAssistant.cpp
@@ -156,8 +156,8 @@ ensureNoCollisionWithReservedName(llvm::StringRef MightBeReservedName) {
static std::string
ensureVaidModuleName(llvm::StringRef MightBeInvalidName) {
std::string SafeName(MightBeInvalidName);
- std::replace(SafeName.begin(), SafeName.end(), '-', '_');
- std::replace(SafeName.begin(), SafeName.end(), '.', '_');
+ llvm::replace(SafeName, '-', '_');
+ llvm::replace(SafeName, '.', '_');
if (isdigit(SafeName[0]))
SafeName = "_" + SafeName;
return SafeName;
@@ -192,7 +192,7 @@ static bool addModuleDescription(Module *RootModule,
return true;
}
// Make canonical.
- std::replace(FilePath.begin(), FilePath.end(), '\\', '/');
+ llvm::replace(FilePath, '\\', '/');
// Insert module into tree, using subdirectories as submodules.
for (llvm::sys::path::const_iterator I = llvm::sys::path::begin(FilePath),
E = llvm::sys::path::end(FilePath);
diff --git a/clang-tools-extra/modularize/PreprocessorTracker.cpp b/clang-tools-extra/modularize/PreprocessorTracker.cpp
index 336f570217933..04abb2733f5a7 100644
--- a/clang-tools-extra/modularize/PreprocessorTracker.cpp
+++ b/clang-tools-extra/modularize/PreprocessorTracker.cpp
@@ -904,7 +904,7 @@ class PreprocessorTrackerImpl : public PreprocessorTracker {
// Convert to a canonical path.
std::string getCanonicalPath(llvm::StringRef path) const {
std::string CanonicalPath(path);
- std::replace(CanonicalPath.begin(), CanonicalPath.end(), '\\', '/');
+ llvm::replace(CanonicalPath, '\\', '/');
return CanonicalPath;
}
diff --git a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
index 4c916fa30685b..f92e406c652ea 100644
--- a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
+++ b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
@@ -44,7 +44,7 @@ static std::string getSourceLocationString(Preprocessor &PP,
std::string Result = SS.str();
// YAML treats backslash as escape, so use forward slashes.
- std::replace(Result.begin(), Result.end(), '\\', '/');
+ llvm::replace(Result, '\\', '/');
return Result;
}
@@ -653,7 +653,7 @@ void PPCallbacksTracker::appendFilePathArgument(const char *Name,
llvm::StringRef Value) {
std::string Path(Value);
// YAML treats backslash as escape, so use forward slashes.
- std::replace(Path.begin(), Path.end(), '\\', '/');
+ llvm::replace(Path, '\\', '/');
appendQuotedArgument(Name, Path);
}
|
@llvm/pr-subscribers-clang-tools-extra Author: Kazu Hirata (kazutakahirata) ChangesFull diff: https://github.com/llvm/llvm-project/pull/140200.diff 10 Files Affected:
diff --git a/clang-tools-extra/clang-doc/HTMLGenerator.cpp b/clang-tools-extra/clang-doc/HTMLGenerator.cpp
index 4ad5ba29b28b8..eea9c6bcd18ad 100644
--- a/clang-tools-extra/clang-doc/HTMLGenerator.cpp
+++ b/clang-tools-extra/clang-doc/HTMLGenerator.cpp
@@ -1022,12 +1022,12 @@ static llvm::Error serializeIndex(ClangDocContext &CDCtx) {
// JavaScript from escaping characters incorrectly, and introducing bad paths
// in the URLs.
std::string RootPathEscaped = RootPath.str().str();
- std::replace(RootPathEscaped.begin(), RootPathEscaped.end(), '\\', '/');
+ llvm::replace(RootPathEscaped, '\\', '/');
OS << "var RootPath = \"" << RootPathEscaped << "\";\n";
llvm::SmallString<128> Base(CDCtx.Base);
std::string BaseEscaped = Base.str().str();
- std::replace(BaseEscaped.begin(), BaseEscaped.end(), '\\', '/');
+ llvm::replace(BaseEscaped, '\\', '/');
OS << "var Base = \"" << BaseEscaped << "\";\n";
CDCtx.Idx.sort();
diff --git a/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp b/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp
index 42d358a15083a..ba89070be59cc 100644
--- a/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp
+++ b/clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp
@@ -49,9 +49,9 @@ std::string LLVMHeaderGuardCheck::getHeaderGuard(StringRef Filename,
if (PosLLVM != StringRef::npos)
Guard = Guard.substr(PosLLVM);
- std::replace(Guard.begin(), Guard.end(), '/', '_');
- std::replace(Guard.begin(), Guard.end(), '.', '_');
- std::replace(Guard.begin(), Guard.end(), '-', '_');
+ llvm::replace(Guard, '/', '_');
+ llvm::replace(Guard, '.', '_');
+ llvm::replace(Guard, '-', '_');
// The prevalent style in clang is LLVM_CLANG_FOO_BAR_H
if (StringRef(Guard).starts_with("clang"))
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index 3f63eec2c51a8..04040d580b6f1 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -496,7 +496,7 @@ void IdentifierNamingCheck::HungarianNotation::loadFileConfig(
StringRef Val = Options.get(Buffer, "");
if (!Val.empty()) {
std::string Type = PrimType.str();
- std::replace(Type.begin(), Type.end(), '-', ' ');
+ llvm::replace(Type, '-', ' ');
HNOption.PrimitiveType[Type] = Val.str();
}
}
@@ -1358,7 +1358,7 @@ IdentifierNamingCheck::getFailureInfo(
std::string KindName =
fixupWithCase(Type, StyleNames[SK], ND, Style, HNOption,
IdentifierNamingCheck::CT_LowerCase);
- std::replace(KindName.begin(), KindName.end(), '_', ' ');
+ llvm::replace(KindName, '_', ' ');
std::string Fixup = fixupWithStyle(Type, Name, Style, HNOption, ND);
if (StringRef(Fixup) == Name) {
diff --git a/clang-tools-extra/clangd/Diagnostics.cpp b/clang-tools-extra/clangd/Diagnostics.cpp
index 28bb994a9e99a..bc605fda5b0ce 100644
--- a/clang-tools-extra/clangd/Diagnostics.cpp
+++ b/clang-tools-extra/clangd/Diagnostics.cpp
@@ -800,7 +800,7 @@ void StoreDiags::HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
M << "'";
}
// Don't allow source code to inject newlines into diagnostics.
- std::replace(Message.begin(), Message.end(), '\n', ' ');
+ llvm::replace(Message, '\n', ' ');
}
}
if (Message.empty()) // either !SyntheticMessage, or we failed to make one.
diff --git a/clang-tools-extra/clangd/FindTarget.cpp b/clang-tools-extra/clangd/FindTarget.cpp
index 62f220b32bd10..91fd3b0f8567b 100644
--- a/clang-tools-extra/clangd/FindTarget.cpp
+++ b/clang-tools-extra/clangd/FindTarget.cpp
@@ -57,7 +57,7 @@ LLVM_ATTRIBUTE_UNUSED std::string nodeToString(const DynTypedNode &N) {
OS << ": ";
N.print(OS, PrintingPolicy(LangOptions()));
}
- std::replace(S.begin(), S.end(), '\n', ' ');
+ llvm::replace(S, '\n', ' ');
return S;
}
diff --git a/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp b/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
index d192749870d6f..fa451daf1bb52 100644
--- a/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
+++ b/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
@@ -381,7 +381,7 @@ std::unique_ptr<SymbolIndex> openIndex(llvm::StringRef Index) {
bool runCommand(std::string Request, const SymbolIndex &Index) {
// Split on spaces and add required null-termination.
- std::replace(Request.begin(), Request.end(), ' ', '\0');
+ llvm::replace(Request, ' ', '\0');
llvm::SmallVector<llvm::StringRef> Args;
llvm::StringRef(Request).split(Args, '\0', /*MaxSplit=*/-1,
/*KeepEmpty=*/false);
diff --git a/clang-tools-extra/modularize/ModularizeUtilities.cpp b/clang-tools-extra/modularize/ModularizeUtilities.cpp
index 576e863c8a9d2..a8f1ddf64d34b 100644
--- a/clang-tools-extra/modularize/ModularizeUtilities.cpp
+++ b/clang-tools-extra/modularize/ModularizeUtilities.cpp
@@ -443,7 +443,7 @@ static std::string replaceDotDot(StringRef Path) {
// \returns The file path in canonical form.
std::string ModularizeUtilities::getCanonicalPath(StringRef FilePath) {
std::string Tmp(replaceDotDot(FilePath));
- std::replace(Tmp.begin(), Tmp.end(), '\\', '/');
+ llvm::replace(Tmp, '\\', '/');
StringRef Tmp2(Tmp);
if (Tmp2.starts_with("./"))
Tmp = std::string(Tmp2.substr(2));
diff --git a/clang-tools-extra/modularize/ModuleAssistant.cpp b/clang-tools-extra/modularize/ModuleAssistant.cpp
index b4ec96617449f..7519056833040 100644
--- a/clang-tools-extra/modularize/ModuleAssistant.cpp
+++ b/clang-tools-extra/modularize/ModuleAssistant.cpp
@@ -156,8 +156,8 @@ ensureNoCollisionWithReservedName(llvm::StringRef MightBeReservedName) {
static std::string
ensureVaidModuleName(llvm::StringRef MightBeInvalidName) {
std::string SafeName(MightBeInvalidName);
- std::replace(SafeName.begin(), SafeName.end(), '-', '_');
- std::replace(SafeName.begin(), SafeName.end(), '.', '_');
+ llvm::replace(SafeName, '-', '_');
+ llvm::replace(SafeName, '.', '_');
if (isdigit(SafeName[0]))
SafeName = "_" + SafeName;
return SafeName;
@@ -192,7 +192,7 @@ static bool addModuleDescription(Module *RootModule,
return true;
}
// Make canonical.
- std::replace(FilePath.begin(), FilePath.end(), '\\', '/');
+ llvm::replace(FilePath, '\\', '/');
// Insert module into tree, using subdirectories as submodules.
for (llvm::sys::path::const_iterator I = llvm::sys::path::begin(FilePath),
E = llvm::sys::path::end(FilePath);
diff --git a/clang-tools-extra/modularize/PreprocessorTracker.cpp b/clang-tools-extra/modularize/PreprocessorTracker.cpp
index 336f570217933..04abb2733f5a7 100644
--- a/clang-tools-extra/modularize/PreprocessorTracker.cpp
+++ b/clang-tools-extra/modularize/PreprocessorTracker.cpp
@@ -904,7 +904,7 @@ class PreprocessorTrackerImpl : public PreprocessorTracker {
// Convert to a canonical path.
std::string getCanonicalPath(llvm::StringRef path) const {
std::string CanonicalPath(path);
- std::replace(CanonicalPath.begin(), CanonicalPath.end(), '\\', '/');
+ llvm::replace(CanonicalPath, '\\', '/');
return CanonicalPath;
}
diff --git a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
index 4c916fa30685b..f92e406c652ea 100644
--- a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
+++ b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
@@ -44,7 +44,7 @@ static std::string getSourceLocationString(Preprocessor &PP,
std::string Result = SS.str();
// YAML treats backslash as escape, so use forward slashes.
- std::replace(Result.begin(), Result.end(), '\\', '/');
+ llvm::replace(Result, '\\', '/');
return Result;
}
@@ -653,7 +653,7 @@ void PPCallbacksTracker::appendFilePathArgument(const char *Name,
llvm::StringRef Value) {
std::string Path(Value);
// YAML treats backslash as escape, so use forward slashes.
- std::replace(Path.begin(), Path.end(), '\\', '/');
+ llvm::replace(Path, '\\', '/');
appendQuotedArgument(Name, Path);
}
|
tgymnich
approved these changes
May 16, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.