Lines Matching refs:PrevDecl
5328 NamedDecl *PrevDecl = R.getRepresentativeDecl()->getUnderlyingDecl(); in CheckAnonMemberRedeclaration() local
5329 assert(PrevDecl && "Expected a non-null Decl"); in CheckAnonMemberRedeclaration()
5331 if (!SemaRef.isDeclInScope(PrevDecl, Owner, S)) in CheckAnonMemberRedeclaration()
5336 SemaRef.Diag(PrevDecl->getLocation(), diag::note_previous_declaration); in CheckAnonMemberRedeclaration()
6781 isOutOfScopePreviousDeclaration(NamedDecl *PrevDecl, DeclContext *DC, in isOutOfScopePreviousDeclaration() argument
6783 if (!PrevDecl) in isOutOfScopePreviousDeclaration()
6786 if (!PrevDecl->hasLinkage()) in isOutOfScopePreviousDeclaration()
6801 DeclContext *PrevOuterContext = PrevDecl->getDeclContext(); in isOutOfScopePreviousDeclaration()
10821 bool Sema::shouldLinkDependentDeclWithPrevious(Decl *D, Decl *PrevDecl) { in shouldLinkDependentDeclWithPrevious() argument
10842 auto *PrevVD = dyn_cast<ValueDecl>(PrevDecl); in shouldLinkDependentDeclWithPrevious()
14648 NamedDecl *PrevDecl = R.getFoundDecl(); in ActOnParamDeclarator() local
14649 if (PrevDecl->isTemplateParameter()) { in ActOnParamDeclarator()
14651 DiagnoseTemplateParameterShadow(D.getIdentifierLoc(), PrevDecl); in ActOnParamDeclarator()
14653 PrevDecl = nullptr; in ActOnParamDeclarator()
14654 } else if (S->isDeclScope(PrevDecl)) { in ActOnParamDeclarator()
14656 Diag(PrevDecl->getLocation(), diag::note_previous_declaration); in ActOnParamDeclarator()
16390 Sema::NonTagKind Sema::getNonTagTypeDeclKind(const Decl *PrevDecl, in getNonTagTypeDeclKind() argument
16392 if (isa<TypedefDecl>(PrevDecl)) in getNonTagTypeDeclKind()
16394 else if (isa<TypeAliasDecl>(PrevDecl)) in getNonTagTypeDeclKind()
16396 else if (isa<ClassTemplateDecl>(PrevDecl)) in getNonTagTypeDeclKind()
16398 else if (isa<TypeAliasTemplateDecl>(PrevDecl)) in getNonTagTypeDeclKind()
16400 else if (isa<TemplateTemplateParmDecl>(PrevDecl)) in getNonTagTypeDeclKind()
17024 NamedDecl *PrevDecl = Previous.getFoundDecl(); in ActOnTag() local
17036 if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(PrevDecl)) { in ActOnTag()
17042 PrevDecl = Tag; in ActOnTag()
17055 auto *OldTag = dyn_cast<TagDecl>(PrevDecl); in ActOnTag()
17071 if (TagDecl *PrevTagDecl = dyn_cast<TagDecl>(PrevDecl)) { in ActOnTag()
17129 if (TUK == TUK_Declaration && PrevDecl->isCXXClassMember() && in ActOnTag()
17130 S->isDeclScope(PrevDecl)) { in ActOnTag()
17145 PrevDecl->getOwningModule() != getCurrentModule()) && in ActOnTag()
17155 ->Equals(PrevDecl->getDeclContext()->getRedeclContext())) in ActOnTag()
17274 NonTagKind NTK = getNonTagTypeDeclKind(PrevDecl, Kind); in ActOnTag()
17275 Diag(NameLoc, diag::err_tag_reference_non_tag) << PrevDecl << NTK in ActOnTag()
17277 Diag(PrevDecl->getLocation(), diag::note_declared_at); in ActOnTag()
17287 NonTagKind NTK = getNonTagTypeDeclKind(PrevDecl, Kind); in ActOnTag()
17289 Diag(PrevDecl->getLocation(), diag::note_previous_decl) << PrevDecl; in ActOnTag()
17294 } else if (TypedefNameDecl *TND = dyn_cast<TypedefNameDecl>(PrevDecl)) { in ActOnTag()
17296 if (isa<TypeAliasDecl>(PrevDecl)) Kind = 1; in ActOnTag()
17299 Diag(PrevDecl->getLocation(), diag::note_previous_decl) << PrevDecl; in ActOnTag()
17307 notePreviousDefinition(PrevDecl, NameLoc); in ActOnTag()
17320 TagDecl *PrevDecl = nullptr; in ActOnTag()
17322 PrevDecl = cast<TagDecl>(Previous.getFoundDecl()); in ActOnTag()
17338 cast_or_null<EnumDecl>(PrevDecl), ScopedEnum, in ActOnTag()
17351 else if (PrevDecl && (Def = cast<EnumDecl>(PrevDecl)->getDefinition())) { in ActOnTag()
17385 cast_or_null<CXXRecordDecl>(PrevDecl)); in ActOnTag()
17391 cast_or_null<RecordDecl>(PrevDecl)); in ActOnTag()
17479 } else if (!PrevDecl) { in ActOnTag()
17500 SetMemberAccessSpecifier(New, PrevDecl, AS); in ActOnTag()
17502 if (PrevDecl) in ActOnTag()
17503 CheckRedeclarationInModule(New, PrevDecl); in ActOnTag()
17515 if (PrevDecl) in ActOnTag()
17516 New->setAccess(PrevDecl->getAccess()); in ActOnTag()
17537 if (PrevDecl) in ActOnTag()
17538 mergeDeclAttributes(New, PrevDecl); in ActOnTag()
17867 NamedDecl *PrevDecl = nullptr; in HandleField() local
17874 PrevDecl = Previous.getAsSingle<NamedDecl>(); in HandleField()
17878 PrevDecl = Previous.getRepresentativeDecl(); in HandleField()
17888 if (PrevDecl && PrevDecl->isTemplateParameter()) { in HandleField()
17890 DiagnoseTemplateParameterShadow(D.getIdentifierLoc(), PrevDecl); in HandleField()
17892 PrevDecl = nullptr; in HandleField()
17895 if (PrevDecl && !isDeclInScope(PrevDecl, Record, S)) in HandleField()
17896 PrevDecl = nullptr; in HandleField()
17903 TSSL, AS, PrevDecl, &D); in HandleField()
17911 if (NewFD->isInvalidDecl() && PrevDecl) { in HandleField()
17938 AccessSpecifier AS, NamedDecl *PrevDecl, in CheckFieldDecl() argument
18059 if (PrevDecl && !isa<TagDecl>(PrevDecl)) { in CheckFieldDecl()
18061 Diag(PrevDecl->getLocation(), diag::note_previous_declaration); in CheckFieldDecl()
18270 NamedDecl *PrevDecl = LookupSingleName(S, II, Loc, LookupMemberName, in ActOnIvar() local
18272 if (PrevDecl && isDeclInScope(PrevDecl, EnclosingContext, S) in ActOnIvar()
18273 && !isa<TagDecl>(PrevDecl)) { in ActOnIvar()
18275 Diag(PrevDecl->getLocation(), diag::note_previous_declaration); in ActOnIvar()
19278 NamedDecl *PrevDecl = LookupSingleName(S, II, IILoc, LookupOrdinaryName, in shouldSkipAnonEnumBody() local
19280 auto *PrevECD = dyn_cast_or_null<EnumConstantDecl>(PrevDecl); in shouldSkipAnonEnumBody()
19311 NamedDecl *PrevDecl = R.getAsSingle<NamedDecl>(); in ActOnEnumConstant() local
19313 if (PrevDecl && PrevDecl->isTemplateParameter()) { in ActOnEnumConstant()
19315 DiagnoseTemplateParameterShadow(IdLoc, PrevDecl); in ActOnEnumConstant()
19317 PrevDecl = nullptr; in ActOnEnumConstant()
19334 if (PrevDecl) { in ActOnEnumConstant()
19335 if (!TheEnumDecl->isScoped() && isa<ValueDecl>(PrevDecl)) { in ActOnEnumConstant()
19337 CheckShadow(New, PrevDecl, R); in ActOnEnumConstant()
19342 assert((getLangOpts().CPlusPlus || !isa<TagDecl>(PrevDecl)) && in ActOnEnumConstant()
19344 if (!isa<TagDecl>(PrevDecl) && isDeclInScope(PrevDecl, CurContext, S)) { in ActOnEnumConstant()
19345 if (isa<EnumConstantDecl>(PrevDecl)) in ActOnEnumConstant()
19349 notePreviousDefinition(PrevDecl, IdLoc); in ActOnEnumConstant()
19808 NamedDecl *PrevDecl = LookupSingleName(TUScope, Name, NameLoc, in ActOnPragmaRedefineExtname() local
19819 if (PrevDecl && (isa<FunctionDecl>(PrevDecl) || isa<VarDecl>(PrevDecl))) { in ActOnPragmaRedefineExtname()
19820 if (isDeclExternC(PrevDecl)) in ActOnPragmaRedefineExtname()
19821 PrevDecl->addAttr(Attr); in ActOnPragmaRedefineExtname()
19823 Diag(PrevDecl->getLocation(), diag::warn_redefine_extname_not_applied) in ActOnPragmaRedefineExtname()
19824 << /*Variable*/(isa<FunctionDecl>(PrevDecl) ? 0 : 1) << PrevDecl; in ActOnPragmaRedefineExtname()
19833 Decl *PrevDecl = LookupSingleName(TUScope, Name, NameLoc, LookupOrdinaryName); in ActOnPragmaWeakID() local
19835 if (PrevDecl) { in ActOnPragmaWeakID()
19836 PrevDecl->addAttr(WeakAttr::CreateImplicit(Context, PragmaLoc, AttributeCommonInfo::AS_Pragma)); in ActOnPragmaWeakID()
19847 Decl *PrevDecl = LookupSingleName(TUScope, AliasName, AliasNameLoc, in ActOnPragmaWeakAlias() local
19851 if (PrevDecl && (isa<FunctionDecl>(PrevDecl) || isa<VarDecl>(PrevDecl))) { in ActOnPragmaWeakAlias()
19852 if (!PrevDecl->hasAttr<AliasAttr>()) in ActOnPragmaWeakAlias()
19853 if (NamedDecl *ND = dyn_cast<NamedDecl>(PrevDecl)) in ActOnPragmaWeakAlias()