forked from OSchip/llvm-project
Use more range-based for loops
Differential Revision: http://reviews.llvm.org/D10738 llvm-svn: 240674
This commit is contained in:
parent
eb283241e8
commit
6bbffc4b97
|
@ -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;
|
||||
|
||||
|
@ -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()) {
|
||||
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -2959,9 +2954,9 @@ 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))
|
||||
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)
|
||||
|
|
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue