Don't add the injected class name to the redeclarations chain; the chain should contain actual redeclarations, not implicits.

As a bonus, now we don't deserialize it unless we need it.

llvm-svn: 116504
This commit is contained in:
Argyrios Kyrtzidis 2010-10-14 20:14:21 +00:00
parent a11aca4646
commit 470c454a61
1 changed files with 3 additions and 1 deletions

View File

@ -6056,7 +6056,9 @@ void Sema::ActOnStartCXXMemberDeclarations(Scope *S, Decl *TagD,
CurContext, Record->getLocation(),
Record->getIdentifier(),
Record->getTagKeywordLoc(),
Record);
/*PrevDecl=*/0,
/*DelayTypeCreation=*/true);
Context.getTypeDeclType(InjectedClassName, Record);
InjectedClassName->setImplicit();
InjectedClassName->setAccess(AS_public);
if (ClassTemplateDecl *Template = Record->getDescribedClassTemplate())