remove some defensive code: LocalInstantiationScope::getInstantiationOf

and findInstantiationOf can never return null, even on invalid code.

llvm-svn: 125769
This commit is contained in:
Chris Lattner 2011-02-17 19:38:27 +00:00
parent bdc1a42aef
commit 15a776fff7
2 changed files with 4 additions and 7 deletions

View File

@ -2168,8 +2168,7 @@ bool Sema::Subst(const TemplateArgumentLoc *Args, unsigned NumArgs,
Decl *LocalInstantiationScope::getInstantiationOf(const Decl *D) {
llvm::PointerUnion<Decl *, DeclArgumentPack *> *Found= findInstantiationOf(D);
if (!Found)
return 0;
assert(Found);
if (Found->is<Decl *>())
return Found->get<Decl *>();
@ -2202,8 +2201,7 @@ LocalInstantiationScope::findInstantiationOf(const Decl *D) {
break;
}
assert(D->isInvalidDecl() &&
"declaration was not instantiated in this scope!");
assert(0 && "declaration was not instantiated in this scope!");
return 0;
}

View File

@ -503,8 +503,7 @@ bool Sema::CheckParameterPacksForExpansion(SourceLocation EllipsisLoc,
llvm::PointerUnion<Decl *, DeclArgumentPack *> *Instantiation
= CurrentInstantiationScope->findInstantiationOf(
Unexpanded[I].first.get<NamedDecl *>());
if (Instantiation &&
Instantiation->is<DeclArgumentPack *>()) {
if (Instantiation->is<DeclArgumentPack *>()) {
// We could expand this function parameter pack.
NewPackSize = Instantiation->get<DeclArgumentPack *>()->size();
} else {
@ -594,7 +593,7 @@ unsigned Sema::getNumArgumentsInExpansion(QualType T,
llvm::PointerUnion<Decl *, DeclArgumentPack *> *Instantiation
= CurrentInstantiationScope->findInstantiationOf(
Unexpanded[I].first.get<NamedDecl *>());
if (Instantiation && Instantiation->is<DeclArgumentPack *>())
if (Instantiation->is<DeclArgumentPack *>())
return Instantiation->get<DeclArgumentPack *>()->size();
continue;