summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/ASTUnit.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-11-07 18:53:57 +0000
committerDouglas Gregor <dgregor@apple.com>2011-11-07 18:53:57 +0000
commit61d63d0fd7b3ebe3dc5a4d09c8adfd2bf28e93d3 (patch)
treeb7c800d9f27fbb74e121da405aa9f652e00e2a3a /clang/lib/Frontend/ASTUnit.cpp
parent988ac00abdfcc7b8e486e77b67de408e9ebbd096 (diff)
downloadbcm5719-llvm-61d63d0fd7b3ebe3dc5a4d09c8adfd2bf28e93d3.tar.gz
bcm5719-llvm-61d63d0fd7b3ebe3dc5a4d09c8adfd2bf28e93d3.zip
ASTConsumer::handleTopLevelDecl will end up getting called for
function template instantiations. Fixes <rdar://problem/10398005> / PR11312. llvm-svn: 143984
Diffstat (limited to 'clang/lib/Frontend/ASTUnit.cpp')
-rw-r--r--clang/lib/Frontend/ASTUnit.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp
index 8d2884f7507..2496f72bea9 100644
--- a/clang/lib/Frontend/ASTUnit.cpp
+++ b/clang/lib/Frontend/ASTUnit.cpp
@@ -2480,7 +2480,10 @@ static inline bool compLocDecl(std::pair<unsigned, Decl *> L,
void ASTUnit::addFileLevelDecl(Decl *D) {
assert(D);
- assert(!D->isFromASTFile() && "This is only for local decl");
+
+ // We only care about local declarations.
+ if (D->isFromASTFile())
+ return;
SourceManager &SM = *SourceMgr;
SourceLocation Loc = D->getLocation();
OpenPOWER on IntegriCloud