-
Notifications
You must be signed in to change notification settings - Fork 14.4k
[clang] Use range-based for loops (NFC) #146811
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
[clang] Use range-based for loops (NFC) #146811
Conversation
Note that LLVM Coding Standards discourages std::for_each and llvm::for_each unless the callable object already exists.
@llvm/pr-subscribers-clang-driver Author: Kazu Hirata (kazutakahirata) ChangesNote that LLVM Coding Standards discourages std::for_each and Full diff: https://github.com/llvm/llvm-project/pull/146811.diff 5 Files Affected:
diff --git a/clang/include/clang/Sema/DeclSpec.h b/clang/include/clang/Sema/DeclSpec.h
index 6c4a32c4ac2f0..567ad2d5934d4 100644
--- a/clang/include/clang/Sema/DeclSpec.h
+++ b/clang/include/clang/Sema/DeclSpec.h
@@ -1821,8 +1821,8 @@ class DecompositionDeclarator {
if (DeleteBindings)
delete[] Bindings;
else
- llvm::for_each(llvm::MutableArrayRef(Bindings, NumBindings),
- [](Binding &B) { B.Attrs.reset(); });
+ for (Binding &B : llvm::MutableArrayRef(Bindings, NumBindings))
+ B.Attrs.reset();
Bindings = nullptr;
NumBindings = 0;
DeleteBindings = false;
diff --git a/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp b/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
index 2623b9bffe6ae..70172d44845a3 100644
--- a/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
+++ b/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
@@ -75,11 +75,8 @@ class OpenACCClauseCIREmitter final
void setLastDeviceTypeClause(const OpenACCDeviceTypeClause &clause) {
lastDeviceTypeValues.clear();
- llvm::for_each(clause.getArchitectures(),
- [this](const DeviceTypeArgument &arg) {
- lastDeviceTypeValues.push_back(
- decodeDeviceType(arg.getIdentifierInfo()));
- });
+ for (const DeviceTypeArgument &arg : clause.getArchitectures())
+ lastDeviceTypeValues.push_back(decodeDeviceType(arg.getIdentifierInfo()));
}
mlir::Value emitIntExpr(const Expr *intExpr) {
@@ -511,11 +508,9 @@ class OpenACCClauseCIREmitter final
if constexpr (isOneOfTypes<OpTy, mlir::acc::InitOp,
mlir::acc::ShutdownOp>) {
- llvm::for_each(
- clause.getArchitectures(), [this](const DeviceTypeArgument &arg) {
- operation.addDeviceType(builder.getContext(),
- decodeDeviceType(arg.getIdentifierInfo()));
- });
+ for (const DeviceTypeArgument &arg : clause.getArchitectures())
+ operation.addDeviceType(builder.getContext(),
+ decodeDeviceType(arg.getIdentifierInfo()));
} else if constexpr (isOneOfTypes<OpTy, mlir::acc::SetOp>) {
assert(!operation.getDeviceTypeAttr() && "already have device-type?");
assert(clause.getArchitectures().size() <= 1);
diff --git a/clang/lib/Driver/ToolChains/HIPSPV.cpp b/clang/lib/Driver/ToolChains/HIPSPV.cpp
index c86790f66a79e..7c83ebcface2a 100644
--- a/clang/lib/Driver/ToolChains/HIPSPV.cpp
+++ b/clang/lib/Driver/ToolChains/HIPSPV.cpp
@@ -149,11 +149,9 @@ void HIPSPVToolChain::addClangTargetOptions(
CC1Args.append(
{"-fvisibility=hidden", "-fapply-global-visibility-to-externs"});
- llvm::for_each(getDeviceLibs(DriverArgs),
- [&](const BitCodeLibraryInfo &BCFile) {
- CC1Args.append({"-mlink-builtin-bitcode",
- DriverArgs.MakeArgString(BCFile.Path)});
- });
+ for (const BitCodeLibraryInfo &BCFile : getDeviceLibs(DriverArgs))
+ CC1Args.append(
+ {"-mlink-builtin-bitcode", DriverArgs.MakeArgString(BCFile.Path)});
}
Tool *HIPSPVToolChain::buildLinker() const {
diff --git a/clang/tools/clang-installapi/ClangInstallAPI.cpp b/clang/tools/clang-installapi/ClangInstallAPI.cpp
index f68236abaa6c9..60e9fc4354be4 100644
--- a/clang/tools/clang-installapi/ClangInstallAPI.cpp
+++ b/clang/tools/clang-installapi/ClangInstallAPI.cpp
@@ -102,8 +102,8 @@ static bool run(ArrayRef<const char *> Args, const char *ProgName) {
if (!Opts.DriverOpts.DylibToVerify.empty()) {
TargetList Targets;
- llvm::for_each(Opts.DriverOpts.Targets,
- [&](const auto &T) { Targets.push_back(T.first); });
+ for (const auto &T : Opts.DriverOpts.Targets)
+ Targets.push_back(T.first);
if (!Ctx.Verifier->verifyBinaryAttrs(Targets, Ctx.BA, Ctx.Reexports,
Opts.LinkerOpts.AllowableClients,
Opts.LinkerOpts.RPaths, Ctx.FT))
diff --git a/clang/tools/clang-installapi/Options.cpp b/clang/tools/clang-installapi/Options.cpp
index 52b48a34d361c..64324a3f8b010 100644
--- a/clang/tools/clang-installapi/Options.cpp
+++ b/clang/tools/clang-installapi/Options.cpp
@@ -100,8 +100,8 @@ getArgListFromJSON(const StringRef Input, llvm::opt::OptTable *Table,
}
std::vector<const char *> CArgs(Storage.size());
- llvm::for_each(Storage,
- [&CArgs](StringRef Str) { CArgs.emplace_back(Str.data()); });
+ for (StringRef Str : Storage)
+ CArgs.emplace_back(Str.data());
unsigned MissingArgIndex, MissingArgCount;
return Table->ParseArgs(CArgs, MissingArgIndex, MissingArgCount);
@@ -730,8 +730,8 @@ Options::Options(DiagnosticsEngine &Diag, FileManager *FM,
// After all InstallAPI necessary arguments have been collected. Go back and
// assign values that were unknown before the clang driver opt table was used.
ArchitectureSet AllArchs;
- llvm::for_each(DriverOpts.Targets,
- [&AllArchs](const auto &T) { AllArchs.set(T.first.Arch); });
+ for (const auto &T : DriverOpts.Targets)
+ AllArchs.set(T.first.Arch);
auto assignDefaultLibAttrs = [&AllArchs](LibAttrs &Attrs) {
for (auto &[_, Archs] : Attrs.get())
if (Archs.empty())
@@ -794,8 +794,8 @@ std::pair<LibAttrs, ReexportedInterfaces> Options::getReexportedLibraries() {
};
PlatformSet Platforms;
- llvm::for_each(DriverOpts.Targets,
- [&](const auto &T) { Platforms.insert(T.first.Platform); });
+ for (const auto &T : DriverOpts.Targets)
+ Platforms.insert(T.first.Platform);
// Populate search paths by looking at user paths before system ones.
PathSeq FwkSearchPaths(FEOpts.FwkPaths.begin(), FEOpts.FwkPaths.end());
for (const PlatformType P : Platforms) {
|
@llvm/pr-subscribers-clangir Author: Kazu Hirata (kazutakahirata) ChangesNote that LLVM Coding Standards discourages std::for_each and Full diff: https://github.com/llvm/llvm-project/pull/146811.diff 5 Files Affected:
diff --git a/clang/include/clang/Sema/DeclSpec.h b/clang/include/clang/Sema/DeclSpec.h
index 6c4a32c4ac2f0..567ad2d5934d4 100644
--- a/clang/include/clang/Sema/DeclSpec.h
+++ b/clang/include/clang/Sema/DeclSpec.h
@@ -1821,8 +1821,8 @@ class DecompositionDeclarator {
if (DeleteBindings)
delete[] Bindings;
else
- llvm::for_each(llvm::MutableArrayRef(Bindings, NumBindings),
- [](Binding &B) { B.Attrs.reset(); });
+ for (Binding &B : llvm::MutableArrayRef(Bindings, NumBindings))
+ B.Attrs.reset();
Bindings = nullptr;
NumBindings = 0;
DeleteBindings = false;
diff --git a/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp b/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
index 2623b9bffe6ae..70172d44845a3 100644
--- a/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
+++ b/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
@@ -75,11 +75,8 @@ class OpenACCClauseCIREmitter final
void setLastDeviceTypeClause(const OpenACCDeviceTypeClause &clause) {
lastDeviceTypeValues.clear();
- llvm::for_each(clause.getArchitectures(),
- [this](const DeviceTypeArgument &arg) {
- lastDeviceTypeValues.push_back(
- decodeDeviceType(arg.getIdentifierInfo()));
- });
+ for (const DeviceTypeArgument &arg : clause.getArchitectures())
+ lastDeviceTypeValues.push_back(decodeDeviceType(arg.getIdentifierInfo()));
}
mlir::Value emitIntExpr(const Expr *intExpr) {
@@ -511,11 +508,9 @@ class OpenACCClauseCIREmitter final
if constexpr (isOneOfTypes<OpTy, mlir::acc::InitOp,
mlir::acc::ShutdownOp>) {
- llvm::for_each(
- clause.getArchitectures(), [this](const DeviceTypeArgument &arg) {
- operation.addDeviceType(builder.getContext(),
- decodeDeviceType(arg.getIdentifierInfo()));
- });
+ for (const DeviceTypeArgument &arg : clause.getArchitectures())
+ operation.addDeviceType(builder.getContext(),
+ decodeDeviceType(arg.getIdentifierInfo()));
} else if constexpr (isOneOfTypes<OpTy, mlir::acc::SetOp>) {
assert(!operation.getDeviceTypeAttr() && "already have device-type?");
assert(clause.getArchitectures().size() <= 1);
diff --git a/clang/lib/Driver/ToolChains/HIPSPV.cpp b/clang/lib/Driver/ToolChains/HIPSPV.cpp
index c86790f66a79e..7c83ebcface2a 100644
--- a/clang/lib/Driver/ToolChains/HIPSPV.cpp
+++ b/clang/lib/Driver/ToolChains/HIPSPV.cpp
@@ -149,11 +149,9 @@ void HIPSPVToolChain::addClangTargetOptions(
CC1Args.append(
{"-fvisibility=hidden", "-fapply-global-visibility-to-externs"});
- llvm::for_each(getDeviceLibs(DriverArgs),
- [&](const BitCodeLibraryInfo &BCFile) {
- CC1Args.append({"-mlink-builtin-bitcode",
- DriverArgs.MakeArgString(BCFile.Path)});
- });
+ for (const BitCodeLibraryInfo &BCFile : getDeviceLibs(DriverArgs))
+ CC1Args.append(
+ {"-mlink-builtin-bitcode", DriverArgs.MakeArgString(BCFile.Path)});
}
Tool *HIPSPVToolChain::buildLinker() const {
diff --git a/clang/tools/clang-installapi/ClangInstallAPI.cpp b/clang/tools/clang-installapi/ClangInstallAPI.cpp
index f68236abaa6c9..60e9fc4354be4 100644
--- a/clang/tools/clang-installapi/ClangInstallAPI.cpp
+++ b/clang/tools/clang-installapi/ClangInstallAPI.cpp
@@ -102,8 +102,8 @@ static bool run(ArrayRef<const char *> Args, const char *ProgName) {
if (!Opts.DriverOpts.DylibToVerify.empty()) {
TargetList Targets;
- llvm::for_each(Opts.DriverOpts.Targets,
- [&](const auto &T) { Targets.push_back(T.first); });
+ for (const auto &T : Opts.DriverOpts.Targets)
+ Targets.push_back(T.first);
if (!Ctx.Verifier->verifyBinaryAttrs(Targets, Ctx.BA, Ctx.Reexports,
Opts.LinkerOpts.AllowableClients,
Opts.LinkerOpts.RPaths, Ctx.FT))
diff --git a/clang/tools/clang-installapi/Options.cpp b/clang/tools/clang-installapi/Options.cpp
index 52b48a34d361c..64324a3f8b010 100644
--- a/clang/tools/clang-installapi/Options.cpp
+++ b/clang/tools/clang-installapi/Options.cpp
@@ -100,8 +100,8 @@ getArgListFromJSON(const StringRef Input, llvm::opt::OptTable *Table,
}
std::vector<const char *> CArgs(Storage.size());
- llvm::for_each(Storage,
- [&CArgs](StringRef Str) { CArgs.emplace_back(Str.data()); });
+ for (StringRef Str : Storage)
+ CArgs.emplace_back(Str.data());
unsigned MissingArgIndex, MissingArgCount;
return Table->ParseArgs(CArgs, MissingArgIndex, MissingArgCount);
@@ -730,8 +730,8 @@ Options::Options(DiagnosticsEngine &Diag, FileManager *FM,
// After all InstallAPI necessary arguments have been collected. Go back and
// assign values that were unknown before the clang driver opt table was used.
ArchitectureSet AllArchs;
- llvm::for_each(DriverOpts.Targets,
- [&AllArchs](const auto &T) { AllArchs.set(T.first.Arch); });
+ for (const auto &T : DriverOpts.Targets)
+ AllArchs.set(T.first.Arch);
auto assignDefaultLibAttrs = [&AllArchs](LibAttrs &Attrs) {
for (auto &[_, Archs] : Attrs.get())
if (Archs.empty())
@@ -794,8 +794,8 @@ std::pair<LibAttrs, ReexportedInterfaces> Options::getReexportedLibraries() {
};
PlatformSet Platforms;
- llvm::for_each(DriverOpts.Targets,
- [&](const auto &T) { Platforms.insert(T.first.Platform); });
+ for (const auto &T : DriverOpts.Targets)
+ Platforms.insert(T.first.Platform);
// Populate search paths by looking at user paths before system ones.
PathSeq FwkSearchPaths(FEOpts.FwkPaths.begin(), FEOpts.FwkPaths.end());
for (const PlatformType P : Platforms) {
|
@llvm/pr-subscribers-clang Author: Kazu Hirata (kazutakahirata) ChangesNote that LLVM Coding Standards discourages std::for_each and Full diff: https://github.com/llvm/llvm-project/pull/146811.diff 5 Files Affected:
diff --git a/clang/include/clang/Sema/DeclSpec.h b/clang/include/clang/Sema/DeclSpec.h
index 6c4a32c4ac2f0..567ad2d5934d4 100644
--- a/clang/include/clang/Sema/DeclSpec.h
+++ b/clang/include/clang/Sema/DeclSpec.h
@@ -1821,8 +1821,8 @@ class DecompositionDeclarator {
if (DeleteBindings)
delete[] Bindings;
else
- llvm::for_each(llvm::MutableArrayRef(Bindings, NumBindings),
- [](Binding &B) { B.Attrs.reset(); });
+ for (Binding &B : llvm::MutableArrayRef(Bindings, NumBindings))
+ B.Attrs.reset();
Bindings = nullptr;
NumBindings = 0;
DeleteBindings = false;
diff --git a/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp b/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
index 2623b9bffe6ae..70172d44845a3 100644
--- a/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
+++ b/clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
@@ -75,11 +75,8 @@ class OpenACCClauseCIREmitter final
void setLastDeviceTypeClause(const OpenACCDeviceTypeClause &clause) {
lastDeviceTypeValues.clear();
- llvm::for_each(clause.getArchitectures(),
- [this](const DeviceTypeArgument &arg) {
- lastDeviceTypeValues.push_back(
- decodeDeviceType(arg.getIdentifierInfo()));
- });
+ for (const DeviceTypeArgument &arg : clause.getArchitectures())
+ lastDeviceTypeValues.push_back(decodeDeviceType(arg.getIdentifierInfo()));
}
mlir::Value emitIntExpr(const Expr *intExpr) {
@@ -511,11 +508,9 @@ class OpenACCClauseCIREmitter final
if constexpr (isOneOfTypes<OpTy, mlir::acc::InitOp,
mlir::acc::ShutdownOp>) {
- llvm::for_each(
- clause.getArchitectures(), [this](const DeviceTypeArgument &arg) {
- operation.addDeviceType(builder.getContext(),
- decodeDeviceType(arg.getIdentifierInfo()));
- });
+ for (const DeviceTypeArgument &arg : clause.getArchitectures())
+ operation.addDeviceType(builder.getContext(),
+ decodeDeviceType(arg.getIdentifierInfo()));
} else if constexpr (isOneOfTypes<OpTy, mlir::acc::SetOp>) {
assert(!operation.getDeviceTypeAttr() && "already have device-type?");
assert(clause.getArchitectures().size() <= 1);
diff --git a/clang/lib/Driver/ToolChains/HIPSPV.cpp b/clang/lib/Driver/ToolChains/HIPSPV.cpp
index c86790f66a79e..7c83ebcface2a 100644
--- a/clang/lib/Driver/ToolChains/HIPSPV.cpp
+++ b/clang/lib/Driver/ToolChains/HIPSPV.cpp
@@ -149,11 +149,9 @@ void HIPSPVToolChain::addClangTargetOptions(
CC1Args.append(
{"-fvisibility=hidden", "-fapply-global-visibility-to-externs"});
- llvm::for_each(getDeviceLibs(DriverArgs),
- [&](const BitCodeLibraryInfo &BCFile) {
- CC1Args.append({"-mlink-builtin-bitcode",
- DriverArgs.MakeArgString(BCFile.Path)});
- });
+ for (const BitCodeLibraryInfo &BCFile : getDeviceLibs(DriverArgs))
+ CC1Args.append(
+ {"-mlink-builtin-bitcode", DriverArgs.MakeArgString(BCFile.Path)});
}
Tool *HIPSPVToolChain::buildLinker() const {
diff --git a/clang/tools/clang-installapi/ClangInstallAPI.cpp b/clang/tools/clang-installapi/ClangInstallAPI.cpp
index f68236abaa6c9..60e9fc4354be4 100644
--- a/clang/tools/clang-installapi/ClangInstallAPI.cpp
+++ b/clang/tools/clang-installapi/ClangInstallAPI.cpp
@@ -102,8 +102,8 @@ static bool run(ArrayRef<const char *> Args, const char *ProgName) {
if (!Opts.DriverOpts.DylibToVerify.empty()) {
TargetList Targets;
- llvm::for_each(Opts.DriverOpts.Targets,
- [&](const auto &T) { Targets.push_back(T.first); });
+ for (const auto &T : Opts.DriverOpts.Targets)
+ Targets.push_back(T.first);
if (!Ctx.Verifier->verifyBinaryAttrs(Targets, Ctx.BA, Ctx.Reexports,
Opts.LinkerOpts.AllowableClients,
Opts.LinkerOpts.RPaths, Ctx.FT))
diff --git a/clang/tools/clang-installapi/Options.cpp b/clang/tools/clang-installapi/Options.cpp
index 52b48a34d361c..64324a3f8b010 100644
--- a/clang/tools/clang-installapi/Options.cpp
+++ b/clang/tools/clang-installapi/Options.cpp
@@ -100,8 +100,8 @@ getArgListFromJSON(const StringRef Input, llvm::opt::OptTable *Table,
}
std::vector<const char *> CArgs(Storage.size());
- llvm::for_each(Storage,
- [&CArgs](StringRef Str) { CArgs.emplace_back(Str.data()); });
+ for (StringRef Str : Storage)
+ CArgs.emplace_back(Str.data());
unsigned MissingArgIndex, MissingArgCount;
return Table->ParseArgs(CArgs, MissingArgIndex, MissingArgCount);
@@ -730,8 +730,8 @@ Options::Options(DiagnosticsEngine &Diag, FileManager *FM,
// After all InstallAPI necessary arguments have been collected. Go back and
// assign values that were unknown before the clang driver opt table was used.
ArchitectureSet AllArchs;
- llvm::for_each(DriverOpts.Targets,
- [&AllArchs](const auto &T) { AllArchs.set(T.first.Arch); });
+ for (const auto &T : DriverOpts.Targets)
+ AllArchs.set(T.first.Arch);
auto assignDefaultLibAttrs = [&AllArchs](LibAttrs &Attrs) {
for (auto &[_, Archs] : Attrs.get())
if (Archs.empty())
@@ -794,8 +794,8 @@ std::pair<LibAttrs, ReexportedInterfaces> Options::getReexportedLibraries() {
};
PlatformSet Platforms;
- llvm::for_each(DriverOpts.Targets,
- [&](const auto &T) { Platforms.insert(T.first.Platform); });
+ for (const auto &T : DriverOpts.Targets)
+ Platforms.insert(T.first.Platform);
// Populate search paths by looking at user paths before system ones.
PathSeq FwkSearchPaths(FEOpts.FwkPaths.begin(), FEOpts.FwkPaths.end());
for (const PlatformType P : Platforms) {
|
Note that LLVM Coding Standards discourages std::for_each and
llvm::for_each unless the callable object already exists.