diff options
| author | Douglas Gregor <dgregor@apple.com> | 2011-11-07 18:53:57 +0000 | 
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2011-11-07 18:53:57 +0000 | 
| commit | 61d63d0fd7b3ebe3dc5a4d09c8adfd2bf28e93d3 (patch) | |
| tree | b7c800d9f27fbb74e121da405aa9f652e00e2a3a /clang/lib/Frontend | |
| parent | 988ac00abdfcc7b8e486e77b67de408e9ebbd096 (diff) | |
| download | bcm5719-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')
| -rw-r--r-- | clang/lib/Frontend/ASTUnit.cpp | 5 | 
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(); | 

