Skip to content

Commit

Permalink
Use more range-based for loops
Browse files Browse the repository at this point in the history
Differential Revision: http://reviews.llvm.org/D10738

llvm-svn: 240674
  • Loading branch information
snuglas committed Jun 25, 2015
1 parent eb28324 commit 6bbffc4
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 58 deletions.
21 changes: 9 additions & 12 deletions clang/lib/Driver/Driver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,11 @@ void Driver::ParseDriverMode(ArrayRef<const char *> Args) {
const std::string OptName =
getOpts().getOption(options::OPT_driver_mode).getPrefixedName();

for (size_t I = 0, E = Args.size(); I != E; ++I) {
for (const char *ArgPtr : Args) {
// Ingore nullptrs, they are response file's EOL markers
if (Args[I] == nullptr)
if (ArgPtr == nullptr)
continue;
const StringRef Arg = Args[I];
const StringRef Arg = ArgPtr;
if (!Arg.startswith(OptName))
continue;

Expand Down Expand Up @@ -613,10 +613,9 @@ int Driver::ExecuteCompilation(Compilation &C,

// Otherwise, remove result files and print extra information about abnormal
// failures.
for (SmallVectorImpl< std::pair<int, const Command *> >::iterator it =
FailingCommands.begin(), ie = FailingCommands.end(); it != ie; ++it) {
int Res = it->first;
const Command *FailingCommand = it->second;
for (const auto &CmdPair : FailingCommands) {
int Res = CmdPair.first;
const Command *FailingCommand = CmdPair.second;

// Remove result files if we're not saving temps.
if (!isSaveTempsEnabled()) {
Expand Down Expand Up @@ -792,13 +791,11 @@ bool Driver::HandleImmediateArgs(const Compilation &C) {
}

if (C.getArgs().hasArg(options::OPT_print_multi_directory)) {
const MultilibSet &Multilibs = TC.getMultilibs();
for (MultilibSet::const_iterator I = Multilibs.begin(), E = Multilibs.end();
I != E; ++I) {
if (I->gccSuffix().empty())
for (const auto &Multilib : TC.getMultilibs()) {
if (Multilib.gccSuffix().empty())
llvm::outs() << ".\n";
else {
StringRef Suffix(I->gccSuffix());
StringRef Suffix(Multilib.gccSuffix());
assert(Suffix.front() == '/');
llvm::outs() << Suffix.substr(1) << "\n";
}
Expand Down
75 changes: 35 additions & 40 deletions clang/lib/Driver/ToolChains.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -697,11 +697,9 @@ DerivedArgList *MachO::TranslateArgs(const DerivedArgList &Args,
// "input arguments".
if (A->getOption().hasFlag(options::LinkerInput)) {
// Convert the argument into individual Zlinker_input_args.
for (unsigned i = 0, e = A->getNumValues(); i != e; ++i) {
DAL->AddSeparateArg(OriginalArg,
Opts.getOption(options::OPT_Zlinker_input),
A->getValue(i));

for (const char *Value : A->getValues()) {
DAL->AddSeparateArg(
OriginalArg, Opts.getOption(options::OPT_Zlinker_input), Value);
}
continue;
}
Expand Down Expand Up @@ -1231,25 +1229,22 @@ Generic_GCC::GCCInstallationDetector::init(
// Loop over the various components which exist and select the best GCC
// installation available. GCC installs are ranked by version number.
Version = GCCVersion::Parse("0.0.0");
for (unsigned i = 0, ie = Prefixes.size(); i < ie; ++i) {
if (!llvm::sys::fs::exists(Prefixes[i]))
for (const std::string &Prefix : Prefixes) {
if (!llvm::sys::fs::exists(Prefix))
continue;
for (unsigned j = 0, je = CandidateLibDirs.size(); j < je; ++j) {
const std::string LibDir = Prefixes[i] + CandidateLibDirs[j].str();
for (const StringRef Suffix : CandidateLibDirs) {
const std::string LibDir = Prefix + Suffix.str();
if (!llvm::sys::fs::exists(LibDir))
continue;
for (unsigned k = 0, ke = CandidateTripleAliases.size(); k < ke; ++k)
ScanLibDirForGCCTriple(TargetTriple, Args, LibDir,
CandidateTripleAliases[k]);
for (const StringRef Candidate : CandidateTripleAliases)
ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, Candidate);
}
for (unsigned j = 0, je = CandidateBiarchLibDirs.size(); j < je; ++j) {
const std::string LibDir = Prefixes[i] + CandidateBiarchLibDirs[j].str();
for (const StringRef Suffix : CandidateBiarchLibDirs) {
const std::string LibDir = Prefix + Suffix.str();
if (!llvm::sys::fs::exists(LibDir))
continue;
for (unsigned k = 0, ke = CandidateBiarchTripleAliases.size(); k < ke;
++k)
ScanLibDirForGCCTriple(TargetTriple, Args, LibDir,
CandidateBiarchTripleAliases[k],
for (const StringRef Candidate : CandidateBiarchTripleAliases)
ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, Candidate,
/*NeedsBiarchSuffix=*/ true);
}
}
Expand Down Expand Up @@ -2165,9 +2160,9 @@ static void GetHexagonLibraryPaths(
//----------------------------------------------------------------------------
// -L Args
//----------------------------------------------------------------------------
for (const Arg *A : Args.filtered(options::OPT_L))
for (unsigned i = 0, e = A->getNumValues(); i != e; ++i)
LibPaths->push_back(A->getValue(i));
for (Arg *A : Args.filtered(options::OPT_L))
for (const char *Value : A->getValues())
LibPaths->push_back(Value);

//----------------------------------------------------------------------------
// Other standard paths
Expand Down Expand Up @@ -2959,25 +2954,25 @@ static Distro DetectDistro(llvm::Triple::ArchType Arch) {
SmallVector<StringRef, 16> Lines;
Data.split(Lines, "\n");
Distro Version = UnknownDistro;
for (unsigned i = 0, s = Lines.size(); i != s; ++i)
if (Version == UnknownDistro && Lines[i].startswith("DISTRIB_CODENAME="))
Version = llvm::StringSwitch<Distro>(Lines[i].substr(17))
.Case("hardy", UbuntuHardy)
.Case("intrepid", UbuntuIntrepid)
.Case("jaunty", UbuntuJaunty)
.Case("karmic", UbuntuKarmic)
.Case("lucid", UbuntuLucid)
.Case("maverick", UbuntuMaverick)
.Case("natty", UbuntuNatty)
.Case("oneiric", UbuntuOneiric)
.Case("precise", UbuntuPrecise)
.Case("quantal", UbuntuQuantal)
.Case("raring", UbuntuRaring)
.Case("saucy", UbuntuSaucy)
.Case("trusty", UbuntuTrusty)
.Case("utopic", UbuntuUtopic)
.Case("vivid", UbuntuVivid)
.Default(UnknownDistro);
for (const StringRef Line : Lines)
if (Version == UnknownDistro && Line.startswith("DISTRIB_CODENAME="))
Version = llvm::StringSwitch<Distro>(Line.substr(17))
.Case("hardy", UbuntuHardy)
.Case("intrepid", UbuntuIntrepid)
.Case("jaunty", UbuntuJaunty)
.Case("karmic", UbuntuKarmic)
.Case("lucid", UbuntuLucid)
.Case("maverick", UbuntuMaverick)
.Case("natty", UbuntuNatty)
.Case("oneiric", UbuntuOneiric)
.Case("precise", UbuntuPrecise)
.Case("quantal", UbuntuQuantal)
.Case("raring", UbuntuRaring)
.Case("saucy", UbuntuSaucy)
.Case("trusty", UbuntuTrusty)
.Case("utopic", UbuntuUtopic)
.Case("vivid", UbuntuVivid)
.Default(UnknownDistro);
return Version;
}

Expand Down
11 changes: 5 additions & 6 deletions clang/lib/Driver/Tools.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2188,8 +2188,7 @@ static void CollectArgsForIntegratedAssembler(Compilation &C,
Args.filtered(options::OPT_Wa_COMMA, options::OPT_Xassembler)) {
A->claim();

for (unsigned i = 0, e = A->getNumValues(); i != e; ++i) {
StringRef Value = A->getValue(i);
for (const StringRef Value : A->getValues()) {
if (TakeNextArg) {
CmdArgs.push_back(Value.data());
TakeNextArg = false;
Expand Down Expand Up @@ -4828,9 +4827,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,

SmallString<256> Flags;
Flags += Exec;
for (unsigned i = 0, e = OriginalArgs.size(); i != e; ++i) {
for (const char *OriginalArg : OriginalArgs) {
SmallString<128> EscapedArg;
EscapeSpacesAndBackslashes(OriginalArgs[i], EscapedArg);
EscapeSpacesAndBackslashes(OriginalArg, EscapedArg);
Flags += " ";
Flags += EscapedArg;
}
Expand Down Expand Up @@ -5291,9 +5290,9 @@ void ClangAs::ConstructJob(Compilation &C, const JobAction &JA,
SmallString<256> Flags;
const char *Exec = getToolChain().getDriver().getClangProgramPath();
Flags += Exec;
for (unsigned i = 0, e = OriginalArgs.size(); i != e; ++i) {
for (const char *OriginalArg : OriginalArgs) {
SmallString<128> EscapedArg;
EscapeSpacesAndBackslashes(OriginalArgs[i], EscapedArg);
EscapeSpacesAndBackslashes(OriginalArg, EscapedArg);
Flags += " ";
Flags += EscapedArg;
}
Expand Down

0 comments on commit 6bbffc4

Please sign in to comment.