Lines Matching defs:Previous
289 Decl *Previous, Decl *Canon);
291 static void attachPreviousDecl(ASTReader &Reader, Decl *D, Decl *Previous,
295 Decl *Previous);
3413 auto &Previous = Reader.AnonymousDeclarationsForMerging[CanonDC];
3414 if (Index < Previous.size() && Previous[Index])
3415 return Previous[Index];
3422 if (Previous.size() == Number)
3423 Previous.push_back(cast<NamedDecl>(ND->getCanonicalDecl()));
3425 Previous[Number] = cast<NamedDecl>(ND->getCanonicalDecl());
3429 return Index < Previous.size() ? Previous[Index] : nullptr;
3437 auto &Previous = Reader.AnonymousDeclarationsForMerging[CanonDC];
3438 if (Index >= Previous.size())
3439 Previous.resize(Index + 1);
3440 if (!Previous[Index])
3441 Previous[Index] = D;
3569 void mergeInheritableAttributes(ASTReader &Reader, Decl *D, Decl *Previous) {
3572 const auto *IA = Previous->getAttr<MSInheritanceAttr>();
3580 const auto *AA = Previous->getAttr<AvailabilityAttr>();
3592 Decl *Previous, Decl *Canon) {
3593 D->RedeclLink.setPrevious(cast<DeclT>(Previous));
3594 D->First = cast<DeclT>(Previous)->First;
3602 Decl *Previous, Decl *Canon) {
3604 auto *PrevVD = cast<VarDecl>(Previous);
3630 Decl *Previous, Decl *Canon) {
3632 auto *PrevFD = cast<FunctionDecl>(Previous);
3725 Decl *Previous) {
3728 if (Previous->isImplicit())
3734 if (!isa<VarDecl, FunctionDecl, TagDecl, RedeclarableTemplateDecl>(Previous))
3742 if (isa<VarTemplateSpecializationDecl>(Previous))
3744 if (isa<ClassTemplateSpecializationDecl>(Previous))
3746 if (auto *Func = dyn_cast<FunctionDecl>(Previous);
3750 Module *M = Previous->getOwningModule();
3765 {D, Previous});
3773 Reader.Diag(Previous->getLocation(),
3775 << cast<NamedDecl>(Previous) << M->Name;
3780 Decl *Previous, Decl *Canon) {
3781 assert(D && Previous);
3787 attachPreviousDeclImpl(Reader, cast<TYPE##Decl>(D), Previous, Canon); \
3792 checkMultipleDefinitionInNamedModules(Reader, D, Previous);
3800 Previous->IdentifierNamespace &
3807 cast<TemplateDecl>(Previous), TD);
3813 mergeInheritableAttributes(Reader, D, Previous);