diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2014-05-03 18:44:26 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2014-05-03 18:44:26 +0000 |
| commit | 834652ade026fa990a110c8bc572f988d94a18a5 (patch) | |
| tree | 6c4b4df6d892d42a82e6f2ae26278601ba091bb9 /clang/lib | |
| parent | b0afd1b92942d709812cd90238d5bcfab8443e70 (diff) | |
| download | bcm5719-llvm-834652ade026fa990a110c8bc572f988d94a18a5.tar.gz bcm5719-llvm-834652ade026fa990a110c8bc572f988d94a18a5.zip | |
Replace one-element SmallVectors inside DenseMaps with TinyPtrVector.
That's exactly what TinyPtrVector was designed for. No functionality change.
llvm-svn: 207919
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/AST/RecordLayoutBuilder.cpp | 2 | ||||
| -rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 7 |
2 files changed, 4 insertions, 5 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp index 5eb87e7fc75..4567488bc18 100644 --- a/clang/lib/AST/RecordLayoutBuilder.cpp +++ b/clang/lib/AST/RecordLayoutBuilder.cpp @@ -65,7 +65,7 @@ class EmptySubobjectMap { const CXXRecordDecl *Class; /// EmptyClassOffsets - A map from offsets to empty record decls. - typedef SmallVector<const CXXRecordDecl *, 1> ClassVectorTy; + typedef llvm::TinyPtrVector<const CXXRecordDecl *> ClassVectorTy; typedef llvm::DenseMap<CharUnits, ClassVectorTy> EmptyClassOffsetsMapTy; EmptyClassOffsetsMapTy EmptyClassOffsets; diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 31b649f16e1..b6b09138116 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -1915,7 +1915,7 @@ ASTReader::removeOverriddenMacros(IdentifierInfo *II, AmbiguousMacroDefs.erase(II); } else { // There's no ambiguity yet. Maybe we're introducing one. - llvm::SmallVector<DefMacroDirective*, 1> Ambig; + AmbiguousMacros Ambig; if (PrevDef) Ambig.push_back(PrevDef); @@ -1923,7 +1923,7 @@ ASTReader::removeOverriddenMacros(IdentifierInfo *II, if (!Ambig.empty()) { AmbiguousMacros &Result = AmbiguousMacroDefs[II]; - Result.swap(Ambig); + std::swap(Result, Ambig); return &Result; } } @@ -1946,10 +1946,9 @@ void ASTReader::installImportedMacro(IdentifierInfo *II, ModuleMacroInfo *MMI, assert(ImportLoc.isValid() && "no import location for a visible macro?"); } - llvm::SmallVectorImpl<DefMacroDirective*> *Prev = + AmbiguousMacros *Prev = removeOverriddenMacros(II, MMI->getOverriddenSubmodules()); - // Create a synthetic macro definition corresponding to the import (or null // if this was an undefinition of the macro). DefMacroDirective *MD = MMI->import(PP, ImportLoc); |

