Merge topic 'modernize-for-loops-c-arrays'

706b93fa55 Modernize: C-arrays and loops over them

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2951
This commit is contained in:
Brad King
2019-02-19 12:56:20 +00:00
committed by Kitware Robot
6 changed files with 80 additions and 76 deletions
+11 -12
View File
@@ -7,6 +7,7 @@
#include <algorithm>
#include <assert.h>
#include <cstring>
#include <initializer_list>
#include <iterator>
#include <sstream>
#include <stdio.h>
@@ -2280,10 +2281,9 @@ void cmGlobalGenerator::AddGlobalTarget_Package(
return;
}
const char* reservedTargets[] = { "package", "PACKAGE" };
for (const char* const* tn = cm::cbegin(reservedTargets);
tn != cm::cend(reservedTargets); ++tn) {
if (!this->CheckCMP0037(*tn, "when CPack packaging is enabled")) {
static const auto reservedTargets = { "package", "PACKAGE" };
for (auto const& target : reservedTargets) {
if (!this->CheckCMP0037(target, "when CPack packaging is enabled")) {
return;
}
}
@@ -2330,10 +2330,10 @@ void cmGlobalGenerator::AddGlobalTarget_PackageSource(
return;
}
const char* reservedTargets[] = { "package_source" };
for (const char* const* tn = cm::cbegin(reservedTargets);
tn != cm::cend(reservedTargets); ++tn) {
if (!this->CheckCMP0037(*tn, "when CPack source packaging is enabled")) {
static const auto reservedTargets = { "package_source" };
for (auto const& target : reservedTargets) {
if (!this->CheckCMP0037(target,
"when CPack source packaging is enabled")) {
return;
}
}
@@ -2360,10 +2360,9 @@ void cmGlobalGenerator::AddGlobalTarget_Test(
return;
}
const char* reservedTargets[] = { "test", "RUN_TESTS" };
for (const char* const* tn = cm::cbegin(reservedTargets);
tn != cm::cend(reservedTargets); ++tn) {
if (!this->CheckCMP0037(*tn, "when CTest testing is enabled")) {
static const auto reservedTargets = { "test", "RUN_TESTS" };
for (auto const& target : reservedTargets) {
if (!this->CheckCMP0037(target, "when CTest testing is enabled")) {
return;
}
}
+23 -26
View File
@@ -34,6 +34,7 @@
#include "cmsys/RegularExpression.hxx"
#include <algorithm>
#include <assert.h>
#include <initializer_list>
#include <iterator>
#include <sstream>
#include <stdio.h>
@@ -51,25 +52,23 @@
// replaced in the form <var> with GetSafeDefinition(var).
// ${LANG} is replaced in the variable first with all enabled
// languages.
static const char* ruleReplaceVars[] = {
"CMAKE_${LANG}_COMPILER",
"CMAKE_SHARED_LIBRARY_CREATE_${LANG}_FLAGS",
"CMAKE_SHARED_MODULE_CREATE_${LANG}_FLAGS",
"CMAKE_SHARED_MODULE_${LANG}_FLAGS",
"CMAKE_SHARED_LIBRARY_${LANG}_FLAGS",
"CMAKE_${LANG}_LINK_FLAGS",
"CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG",
"CMAKE_${LANG}_ARCHIVE",
"CMAKE_AR",
"CMAKE_CURRENT_SOURCE_DIR",
"CMAKE_CURRENT_BINARY_DIR",
"CMAKE_RANLIB",
"CMAKE_LINKER",
"CMAKE_MT",
"CMAKE_CUDA_HOST_COMPILER",
"CMAKE_CUDA_HOST_LINK_LAUNCHER",
"CMAKE_CL_SHOWINCLUDES_PREFIX"
};
static auto ruleReplaceVars = { "CMAKE_${LANG}_COMPILER",
"CMAKE_SHARED_LIBRARY_CREATE_${LANG}_FLAGS",
"CMAKE_SHARED_MODULE_CREATE_${LANG}_FLAGS",
"CMAKE_SHARED_MODULE_${LANG}_FLAGS",
"CMAKE_SHARED_LIBRARY_${LANG}_FLAGS",
"CMAKE_${LANG}_LINK_FLAGS",
"CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG",
"CMAKE_${LANG}_ARCHIVE",
"CMAKE_AR",
"CMAKE_CURRENT_SOURCE_DIR",
"CMAKE_CURRENT_BINARY_DIR",
"CMAKE_RANLIB",
"CMAKE_LINKER",
"CMAKE_MT",
"CMAKE_CUDA_HOST_COMPILER",
"CMAKE_CUDA_HOST_LINK_LAUNCHER",
"CMAKE_CL_SHOWINCLUDES_PREFIX" };
cmLocalGenerator::cmLocalGenerator(cmGlobalGenerator* gg, cmMakefile* makefile)
: cmOutputConverter(makefile->GetStateSnapshot())
@@ -138,15 +137,13 @@ cmLocalGenerator::cmLocalGenerator(cmGlobalGenerator* gg, cmMakefile* makefile)
this->VariableMappings[compilerOptionSysroot] =
this->Makefile->GetSafeDefinition(compilerOptionSysroot);
for (const char* const* replaceIter = cm::cbegin(ruleReplaceVars);
replaceIter != cm::cend(ruleReplaceVars); ++replaceIter) {
std::string actualReplace = *replaceIter;
if (actualReplace.find("${LANG}") != std::string::npos) {
cmSystemTools::ReplaceString(actualReplace, "${LANG}", lang);
for (std::string replaceVar : ruleReplaceVars) {
if (replaceVar.find("${LANG}") != std::string::npos) {
cmSystemTools::ReplaceString(replaceVar, "${LANG}", lang);
}
this->VariableMappings[actualReplace] =
this->Makefile->GetSafeDefinition(actualReplace);
this->VariableMappings[replaceVar] =
this->Makefile->GetSafeDefinition(replaceVar);
}
}
}
+14 -6
View File
@@ -7,7 +7,7 @@
#include "cmsys/RegularExpression.hxx"
#include <algorithm>
#include <iterator>
#include <array>
#include <sstream>
#include <utility>
@@ -137,13 +137,21 @@ std::string cmQtAutoGen::Tools(bool moc, bool uic, bool rcc)
std::string cmQtAutoGen::Quoted(std::string const& text)
{
static const char* rep[18] = { "\\", "\\\\", "\"", "\\\"", "\a", "\\a",
"\b", "\\b", "\f", "\\f", "\n", "\\n",
"\r", "\\r", "\t", "\\t", "\v", "\\v" };
const std::array<std::pair<const char*, const char*>, 9> replaces = {
{ { "\\", "\\\\" },
{ "\"", "\\\"" },
{ "\a", "\\a" },
{ "\b", "\\b" },
{ "\f", "\\f" },
{ "\n", "\\n" },
{ "\r", "\\r" },
{ "\t", "\\t" },
{ "\v", "\\v" } }
};
std::string res = text;
for (const char* const* it = cm::cbegin(rep); it != cm::cend(rep); it += 2) {
cmSystemTools::ReplaceString(res, *it, *(it + 1));
for (auto const& pair : replaces) {
cmSystemTools::ReplaceString(res, pair.first, pair.second);
}
res = '"' + res;
res += '"';
+6 -5
View File
@@ -5,6 +5,7 @@
#include "cmsys/RegularExpression.hxx"
#include <algorithm>
#include <assert.h>
#include <initializer_list>
#include <iterator>
#include <set>
#include <sstream>
@@ -312,23 +313,23 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
// Setup per-configuration property default values.
if (this->GetType() != cmStateEnums::UTILITY) {
const char* configProps[] = {
static const auto configProps = {
/* clang-format needs this comment to break after the opening brace */
"ARCHIVE_OUTPUT_DIRECTORY_", "LIBRARY_OUTPUT_DIRECTORY_",
"RUNTIME_OUTPUT_DIRECTORY_", "PDB_OUTPUT_DIRECTORY_",
"COMPILE_PDB_OUTPUT_DIRECTORY_", "MAP_IMPORTED_CONFIG_",
"INTERPROCEDURAL_OPTIMIZATION_", nullptr
"INTERPROCEDURAL_OPTIMIZATION_"
};
for (std::string const& configName : configNames) {
std::string configUpper = cmSystemTools::UpperCase(configName);
for (const char** p = configProps; *p; ++p) {
for (auto const& prop : configProps) {
// Interface libraries have no output locations, so honor only
// the configuration map.
if (this->TargetTypeValue == cmStateEnums::INTERFACE_LIBRARY &&
strcmp(*p, "MAP_IMPORTED_CONFIG_") != 0) {
strcmp(prop, "MAP_IMPORTED_CONFIG_") != 0) {
continue;
}
std::string property = *p;
std::string property = prop;
property += configUpper;
this->SetPropertyDefault(property, nullptr);
}
+11 -12
View File
@@ -99,6 +99,7 @@
#include "cmsys/RegularExpression.hxx"
#include <algorithm>
#include <cstring>
#include <initializer_list>
#include <iostream>
#include <iterator>
#include <memory> // IWYU pragma: keep
@@ -1892,11 +1893,10 @@ bool cmake::LoadCache(const std::string& path, bool internal,
std::set<std::string>& includes)
{
bool result = this->State->LoadCache(path, internal, excludes, includes);
static const char* entries[] = { "CMAKE_CACHE_MAJOR_VERSION",
"CMAKE_CACHE_MINOR_VERSION" };
for (const char* const* nameIt = cm::cbegin(entries);
nameIt != cm::cend(entries); ++nameIt) {
this->UnwatchUnusedCli(*nameIt);
static const auto entries = { "CMAKE_CACHE_MAJOR_VERSION",
"CMAKE_CACHE_MINOR_VERSION" };
for (auto const& entry : entries) {
this->UnwatchUnusedCli(entry);
}
return result;
}
@@ -1904,13 +1904,12 @@ bool cmake::LoadCache(const std::string& path, bool internal,
bool cmake::SaveCache(const std::string& path)
{
bool result = this->State->SaveCache(path, this->GetMessenger());
static const char* entries[] = { "CMAKE_CACHE_MAJOR_VERSION",
"CMAKE_CACHE_MINOR_VERSION",
"CMAKE_CACHE_PATCH_VERSION",
"CMAKE_CACHEFILE_DIR" };
for (const char* const* nameIt = cm::cbegin(entries);
nameIt != cm::cend(entries); ++nameIt) {
this->UnwatchUnusedCli(*nameIt);
static const auto entries = { "CMAKE_CACHE_MAJOR_VERSION",
"CMAKE_CACHE_MINOR_VERSION",
"CMAKE_CACHE_PATCH_VERSION",
"CMAKE_CACHEFILE_DIR" };
for (auto const& entry : entries) {
this->UnwatchUnusedCli(entry);
}
return result;
}
+15 -15
View File
@@ -37,6 +37,7 @@
#include "cmsys/Process.h"
#include "cmsys/Terminal.h"
#include <algorithm>
#include <array>
#include <iostream>
#include <iterator>
#include <memory> // IWYU pragma: keep
@@ -350,12 +351,13 @@ struct CoCompiler
bool NoOriginalCommand;
};
static CoCompiler CoCompilers[] = { // Table of options and handlers.
{ "--cppcheck=", HandleCppCheck, false },
{ "--cpplint=", HandleCppLint, false },
{ "--iwyu=", HandleIWYU, false },
{ "--lwyu=", HandleLWYU, true },
{ "--tidy=", HandleTidy, false }
static const std::array<CoCompiler, 5> CoCompilers = {
{ // Table of options and handlers.
{ "--cppcheck=", HandleCppCheck, false },
{ "--cpplint=", HandleCppLint, false },
{ "--iwyu=", HandleIWYU, false },
{ "--lwyu=", HandleLWYU, true },
{ "--tidy=", HandleTidy, false } }
};
struct CoCompileJob
@@ -386,16 +388,15 @@ int cmcmd::HandleCoCompileCommands(std::vector<std::string>& args)
doing_options = false;
} else if (doing_options) {
bool optionFound = false;
for (CoCompiler const* cc = cm::cbegin(CoCompilers);
cc != cm::cend(CoCompilers); ++cc) {
size_t optionLen = strlen(cc->Option);
if (arg.compare(0, optionLen, cc->Option) == 0) {
for (CoCompiler const& cc : CoCompilers) {
size_t optionLen = strlen(cc.Option);
if (arg.compare(0, optionLen, cc.Option) == 0) {
optionFound = true;
CoCompileJob job;
job.Command = arg.substr(optionLen);
job.Handler = cc->Handler;
job.Handler = cc.Handler;
jobs.push_back(std::move(job));
if (cc->NoOriginalCommand) {
if (cc.NoOriginalCommand) {
runOriginalCmd = false;
}
}
@@ -419,9 +420,8 @@ int cmcmd::HandleCoCompileCommands(std::vector<std::string>& args)
if (jobs.empty()) {
std::cerr << "__run_co_compile missing command to run. "
"Looking for one or more of the following:\n";
for (CoCompiler const* cc = cm::cbegin(CoCompilers);
cc != cm::cend(CoCompilers); ++cc) {
std::cerr << cc->Option << "\n";
for (CoCompiler const& cc : CoCompilers) {
std::cerr << cc.Option << "\n";
}
return 1;
}