summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Multilib.cpp
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2014-05-08 19:32:46 +0000
committerSimon Atanasyan <simon@atanasyan.com>2014-05-08 19:32:46 +0000
commit6f657c46e99528ab0146205c8f7028e6c679cd84 (patch)
tree71f235a9883d14d77ba473df50819d99dcd9c23b /clang/lib/Driver/Multilib.cpp
parentbfe44e1dc6eb6cb347da3e2b98e89055d50b1706 (diff)
downloadbcm5719-llvm-6f657c46e99528ab0146205c8f7028e6c679cd84.tar.gz
bcm5719-llvm-6f657c46e99528ab0146205c8f7028e6c679cd84.zip
[Driver] Range-based loop simplification.
llvm-svn: 208354
Diffstat (limited to 'clang/lib/Driver/Multilib.cpp')
-rw-r--r--clang/lib/Driver/Multilib.cpp53
1 files changed, 18 insertions, 35 deletions
diff --git a/clang/lib/Driver/Multilib.cpp b/clang/lib/Driver/Multilib.cpp
index 910e6383f28..484ce1627d7 100644
--- a/clang/lib/Driver/Multilib.cpp
+++ b/clang/lib/Driver/Multilib.cpp
@@ -90,10 +90,9 @@ void Multilib::print(raw_ostream &OS) const {
OS << StringRef(GCCSuffix).drop_front();
}
OS << ";";
- for (flags_list::const_iterator I = Flags.begin(), E = Flags.end(); I != E;
- ++I) {
- if (StringRef(*I).front() == '+')
- OS << "@" << I->substr(1);
+ for (StringRef Flag : Flags) {
+ if (Flag.front() == '+')
+ OS << "@" << Flag.substr(1);
}
}
@@ -117,16 +116,12 @@ bool Multilib::operator==(const Multilib &Other) const {
// Check whether the flags sets match
// allowing for the match to be order invariant
llvm::StringSet<> MyFlags;
- for (flags_list::const_iterator I = Flags.begin(), E = Flags.end(); I != E;
- ++I) {
- MyFlags.insert(*I);
- }
- for (flags_list::const_iterator I = Other.Flags.begin(),
- E = Other.Flags.end();
- I != E; ++I) {
- if (MyFlags.find(*I) == MyFlags.end())
+ for (const auto &Flag : Flags)
+ MyFlags.insert(Flag);
+
+ for (const auto &Flag : Other.Flags)
+ if (MyFlags.find(Flag) == MyFlags.end())
return false;
- }
if (osSuffix() != Other.osSuffix())
return false;
@@ -148,10 +143,7 @@ raw_ostream &clang::driver::operator<<(raw_ostream &OS, const Multilib &M) {
MultilibSet &MultilibSet::Maybe(const Multilib &M) {
Multilib Opposite;
// Negate any '+' flags
- for (Multilib::flags_list::const_iterator I = M.flags().begin(),
- E = M.flags().end();
- I != E; ++I) {
- StringRef Flag(*I);
+ for (StringRef Flag : M.flags()) {
if (Flag.front() == '+')
Opposite.flags().push_back(("-" + Flag.substr(1)).str());
}
@@ -223,12 +215,9 @@ MultilibSet::Either(const std::vector<Multilib> &MultilibSegments) {
Multilibs.insert(Multilibs.end(), MultilibSegments.begin(),
MultilibSegments.end());
else {
- for (std::vector<Multilib>::const_iterator NewI = MultilibSegments.begin(),
- NewE = MultilibSegments.end();
- NewI != NewE; ++NewI) {
- for (const_iterator BaseI = begin(), BaseE = end(); BaseI != BaseE;
- ++BaseI) {
- Multilib MO = compose(*BaseI, *NewI);
+ for (const Multilib &New : MultilibSegments) {
+ for (const Multilib &Base : *this) {
+ Multilib MO = compose(Base, New);
if (MO.isValid())
Composed.push_back(MO);
}
@@ -282,20 +271,14 @@ bool MultilibSet::select(const Multilib::flags_list &Flags, Multilib &M) const {
// Stuff all of the flags into the FlagSet such that a true mappend
// indicates the flag was enabled, and a false mappend indicates the
// flag was disabled
- for (Multilib::flags_list::const_iterator I = Flags.begin(),
- E = Flags.end();
- I != E; ++I) {
- FlagSet[StringRef(*I).substr(1)] = isFlagEnabled(*I);
- }
+ for (StringRef Flag : Flags)
+ FlagSet[Flag.substr(1)] = isFlagEnabled(Flag);
}
bool operator()(const Multilib &M) const override {
- for (Multilib::flags_list::const_iterator I = M.flags().begin(),
- E = M.flags().end();
- I != E; ++I) {
- StringRef Flag(*I);
+ for (StringRef Flag : M.flags()) {
llvm::StringMap<bool>::const_iterator SI = FlagSet.find(Flag.substr(1));
if (SI != FlagSet.end())
- if ((*SI).getValue() != isFlagEnabled(Flag))
+ if (SI->getValue() != isFlagEnabled(Flag))
return true;
}
return false;
@@ -326,8 +309,8 @@ bool MultilibSet::select(const Multilib::flags_list &Flags, Multilib &M) const {
}
void MultilibSet::print(raw_ostream &OS) const {
- for (const_iterator I = begin(), E = end(); I != E; ++I)
- OS << *I << "\n";
+ for (const Multilib &M : *this)
+ OS << M << "\n";
}
MultilibSet::multilib_list
OpenPOWER on IntegriCloud