]> granicus.if.org Git - clang/commitdiff
Minor tweak to my last patch per Doug's comment.
authorFariborz Jahanian <fjahanian@apple.com>
Thu, 23 Jun 2011 18:04:27 +0000 (18:04 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Thu, 23 Jun 2011 18:04:27 +0000 (18:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133731 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/DeclBase.cpp

index 69724a3d5eb15ff79dcdfbd49e42356c7ea3c099..575b82d9afc5d2afcd4e75d3d997665547bc5737 100644 (file)
@@ -575,11 +575,13 @@ template <typename T>
 void Decl::dropAttr() {
   if (!HasAttrs) return;
   AttrVec &Attrs = getASTContext().getDeclAttrs(this);
-  for (unsigned i = 0, e = Attrs.size(); i != e; ++i) {
+  for (unsigned i = 0, e = Attrs.size(); i != e; /* in loop */) {
     if (isa<T>(Attrs[i])) {
       Attrs.erase(Attrs.begin() + i);
-      --i, --e;
+      --e;
     }
+    else
+      ++i;
   }
   if (Attrs.empty())
     HasAttrs = false;