aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/AST/ASTContext.cpp20
1 files changed, 5 insertions, 15 deletions
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index 76671576ce..2fc6a7d527 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -78,22 +78,12 @@ ASTContext::~ASTContext() {
}
// Destroy nested-name-specifiers.
- llvm::SmallVector<NestedNameSpecifier *, 16> NestedNameSpecs;
- {
- for (llvm::FoldingSet<NestedNameSpecifier>::iterator
- NNS = NestedNameSpecifiers.begin(),
- NNSEnd = NestedNameSpecifiers.end();
- NNS != NNSEnd;
- ++NNS)
- NestedNameSpecs.push_back(&*NNS);
- }
- NestedNameSpecifiers.clear();
- for (llvm::SmallVector<NestedNameSpecifier *, 16>::iterator
- NNS = NestedNameSpecs.begin(),
- NNSEnd = NestedNameSpecs.end();
+ for (llvm::FoldingSet<NestedNameSpecifier>::iterator
+ NNS = NestedNameSpecifiers.begin(),
+ NNSEnd = NestedNameSpecifiers.end();
NNS != NNSEnd;
- ++NNS)
- (*NNS)->Destroy(*this);
+ /* Increment in loop */)
+ (*NNS++).Destroy(*this);
if (GlobalNestedNameSpecifier)
GlobalNestedNameSpecifier->Destroy(*this);