]> granicus.if.org Git - clang/commitdiff
Simplify code. No functionality change.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sun, 14 Oct 2012 11:50:50 +0000 (11:50 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sun, 14 Oct 2012 11:50:50 +0000 (11:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165905 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/DeclBase.h

index 55430681dde02a9bbf393d320b960e46d7d90150..50e202738dd40eda7fb3c443daaa9a2deaf1722e 100644 (file)
@@ -430,16 +430,10 @@ public:
   void dropAttr() {
     if (!HasAttrs) return;
 
-    AttrVec &Attrs = getAttrs();
-    for (unsigned i = 0, e = Attrs.size(); i != e; /* in loop */) {
-      if (isa<T>(Attrs[i])) {
-        Attrs.erase(Attrs.begin() + i);
-        --e;
-      }
-      else
-        ++i;
-    }
-    if (Attrs.empty())
+    AttrVec &Vec = getAttrs();
+    Vec.erase(std::remove_if(Vec.begin(), Vec.end(), isa<T, Attr*>), Vec.end());
+
+    if (Vec.empty())
       HasAttrs = false;
   }