summaryrefslogtreecommitdiffstats
path: root/clang/lib/ASTMatchers/ASTMatchFinder.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2017-10-10 07:21:34 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2017-10-10 07:21:34 +0000
commitdb4818ec01f2c7ab001b808e03d66e5ac0af7872 (patch)
tree9c650318faf2bb76c76619e3017531a6d0b20bd4 /clang/lib/ASTMatchers/ASTMatchFinder.cpp
parent8cc99f1887df7035e677940bba48063858360f2d (diff)
downloadbcm5719-llvm-db4818ec01f2c7ab001b808e03d66e5ac0af7872.tar.gz
bcm5719-llvm-db4818ec01f2c7ab001b808e03d66e5ac0af7872.zip
[ASTMatchers] Don't create a copy of a std::set when iterating over it.
This is a bit awkward because lookup returns a copy instead of a reference. No functionality change intended. llvm-svn: 315276
Diffstat (limited to 'clang/lib/ASTMatchers/ASTMatchFinder.cpp')
-rw-r--r--clang/lib/ASTMatchers/ASTMatchFinder.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/ASTMatchers/ASTMatchFinder.cpp b/clang/lib/ASTMatchers/ASTMatchFinder.cpp
index 49b15ee6850..02aee4b46dd 100644
--- a/clang/lib/ASTMatchers/ASTMatchFinder.cpp
+++ b/clang/lib/ASTMatchers/ASTMatchFinder.cpp
@@ -734,7 +734,10 @@ private:
BoundNodesTreeBuilder *Builder) {
const Type *const CanonicalType =
ActiveASTContext->getCanonicalType(TypeNode);
- for (const TypedefNameDecl *Alias : TypeAliases.lookup(CanonicalType)) {
+ auto Aliases = TypeAliases.find(CanonicalType);
+ if (Aliases == TypeAliases.end())
+ return false;
+ for (const TypedefNameDecl *Alias : Aliases->second) {
BoundNodesTreeBuilder Result(*Builder);
if (Matcher.matches(*Alias, this, &Result)) {
*Builder = std::move(Result);
OpenPOWER on IntegriCloud