Lines Matching refs:PrevDecl
4906 NamedDecl *PrevDecl = R.getRepresentativeDecl()->getUnderlyingDecl(); in CheckAnonMemberRedeclaration() local
4907 assert(PrevDecl && "Expected a non-null Decl"); in CheckAnonMemberRedeclaration()
4909 if (!SemaRef.isDeclInScope(PrevDecl, Owner, S)) in CheckAnonMemberRedeclaration()
4914 SemaRef.Diag(PrevDecl->getLocation(), diag::note_previous_declaration); in CheckAnonMemberRedeclaration()
6328 isOutOfScopePreviousDeclaration(NamedDecl *PrevDecl, DeclContext *DC, in isOutOfScopePreviousDeclaration() argument
6330 if (!PrevDecl) in isOutOfScopePreviousDeclaration()
6333 if (!PrevDecl->hasLinkage()) in isOutOfScopePreviousDeclaration()
6348 DeclContext *PrevOuterContext = PrevDecl->getDeclContext(); in isOutOfScopePreviousDeclaration()
10169 bool Sema::shouldLinkDependentDeclWithPrevious(Decl *D, Decl *PrevDecl) { in shouldLinkDependentDeclWithPrevious() argument
10190 auto *PrevVD = dyn_cast<ValueDecl>(PrevDecl); in shouldLinkDependentDeclWithPrevious()
13760 NamedDecl *PrevDecl = R.getFoundDecl(); in ActOnParamDeclarator() local
13761 if (PrevDecl->isTemplateParameter()) { in ActOnParamDeclarator()
13763 DiagnoseTemplateParameterShadow(D.getIdentifierLoc(), PrevDecl); in ActOnParamDeclarator()
13765 PrevDecl = nullptr; in ActOnParamDeclarator()
13766 } else if (S->isDeclScope(PrevDecl)) { in ActOnParamDeclarator()
13768 Diag(PrevDecl->getLocation(), diag::note_previous_declaration); in ActOnParamDeclarator()
15314 Sema::NonTagKind Sema::getNonTagTypeDeclKind(const Decl *PrevDecl, in getNonTagTypeDeclKind() argument
15316 if (isa<TypedefDecl>(PrevDecl)) in getNonTagTypeDeclKind()
15318 else if (isa<TypeAliasDecl>(PrevDecl)) in getNonTagTypeDeclKind()
15320 else if (isa<ClassTemplateDecl>(PrevDecl)) in getNonTagTypeDeclKind()
15322 else if (isa<TypeAliasTemplateDecl>(PrevDecl)) in getNonTagTypeDeclKind()
15324 else if (isa<TemplateTemplateParmDecl>(PrevDecl)) in getNonTagTypeDeclKind()
15935 NamedDecl *PrevDecl = Previous.getFoundDecl(); in ActOnTag() local
15948 if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(PrevDecl)) { in ActOnTag()
15954 PrevDecl = Tag; in ActOnTag()
15967 auto *OldTag = dyn_cast<TagDecl>(PrevDecl); in ActOnTag()
15983 if (TagDecl *PrevTagDecl = dyn_cast<TagDecl>(PrevDecl)) { in ActOnTag()
16041 if (TUK == TUK_Declaration && PrevDecl->isCXXClassMember() && in ActOnTag()
16042 S->isDeclScope(PrevDecl)) { in ActOnTag()
16057 PrevDecl->getOwningModule() != getCurrentModule()) && in ActOnTag()
16067 ->Equals(PrevDecl->getDeclContext()->getRedeclContext())) in ActOnTag()
16186 NonTagKind NTK = getNonTagTypeDeclKind(PrevDecl, Kind); in ActOnTag()
16187 Diag(NameLoc, diag::err_tag_reference_non_tag) << PrevDecl << NTK in ActOnTag()
16189 Diag(PrevDecl->getLocation(), diag::note_declared_at); in ActOnTag()
16199 NonTagKind NTK = getNonTagTypeDeclKind(PrevDecl, Kind); in ActOnTag()
16201 Diag(PrevDecl->getLocation(), diag::note_previous_decl) << PrevDecl; in ActOnTag()
16206 } else if (TypedefNameDecl *TND = dyn_cast<TypedefNameDecl>(PrevDecl)) { in ActOnTag()
16208 if (isa<TypeAliasDecl>(PrevDecl)) Kind = 1; in ActOnTag()
16211 Diag(PrevDecl->getLocation(), diag::note_previous_decl) << PrevDecl; in ActOnTag()
16219 notePreviousDefinition(PrevDecl, NameLoc); in ActOnTag()
16232 TagDecl *PrevDecl = nullptr; in ActOnTag()
16234 PrevDecl = cast<TagDecl>(Previous.getFoundDecl()); in ActOnTag()
16250 cast_or_null<EnumDecl>(PrevDecl), ScopedEnum, in ActOnTag()
16263 else if (PrevDecl && (Def = cast<EnumDecl>(PrevDecl)->getDefinition())) { in ActOnTag()
16294 cast_or_null<CXXRecordDecl>(PrevDecl)); in ActOnTag()
16300 cast_or_null<RecordDecl>(PrevDecl)); in ActOnTag()
16384 } else if (!PrevDecl) { in ActOnTag()
16405 SetMemberAccessSpecifier(New, PrevDecl, AS); in ActOnTag()
16407 if (PrevDecl) in ActOnTag()
16408 CheckRedeclarationModuleOwnership(New, PrevDecl); in ActOnTag()
16420 if (PrevDecl) in ActOnTag()
16421 New->setAccess(PrevDecl->getAccess()); in ActOnTag()
16442 if (PrevDecl) in ActOnTag()
16443 mergeDeclAttributes(New, PrevDecl); in ActOnTag()
16755 NamedDecl *PrevDecl = nullptr; in HandleField() local
16762 PrevDecl = Previous.getAsSingle<NamedDecl>(); in HandleField()
16766 PrevDecl = Previous.getRepresentativeDecl(); in HandleField()
16776 if (PrevDecl && PrevDecl->isTemplateParameter()) { in HandleField()
16778 DiagnoseTemplateParameterShadow(D.getIdentifierLoc(), PrevDecl); in HandleField()
16780 PrevDecl = nullptr; in HandleField()
16783 if (PrevDecl && !isDeclInScope(PrevDecl, Record, S)) in HandleField()
16784 PrevDecl = nullptr; in HandleField()
16791 TSSL, AS, PrevDecl, &D); in HandleField()
16799 if (NewFD->isInvalidDecl() && PrevDecl) { in HandleField()
16826 AccessSpecifier AS, NamedDecl *PrevDecl, in CheckFieldDecl() argument
16949 if (PrevDecl && !isa<TagDecl>(PrevDecl)) { in CheckFieldDecl()
16951 Diag(PrevDecl->getLocation(), diag::note_previous_declaration); in CheckFieldDecl()
17160 NamedDecl *PrevDecl = LookupSingleName(S, II, Loc, LookupMemberName, in ActOnIvar() local
17162 if (PrevDecl && isDeclInScope(PrevDecl, EnclosingContext, S) in ActOnIvar()
17163 && !isa<TagDecl>(PrevDecl)) { in ActOnIvar()
17165 Diag(PrevDecl->getLocation(), diag::note_previous_declaration); in ActOnIvar()
17918 NamedDecl *PrevDecl = LookupSingleName(S, II, IILoc, LookupOrdinaryName, in shouldSkipAnonEnumBody() local
17920 auto *PrevECD = dyn_cast_or_null<EnumConstantDecl>(PrevDecl); in shouldSkipAnonEnumBody()
17951 NamedDecl *PrevDecl = R.getAsSingle<NamedDecl>(); in ActOnEnumConstant() local
17953 if (PrevDecl && PrevDecl->isTemplateParameter()) { in ActOnEnumConstant()
17955 DiagnoseTemplateParameterShadow(IdLoc, PrevDecl); in ActOnEnumConstant()
17957 PrevDecl = nullptr; in ActOnEnumConstant()
17974 if (PrevDecl) { in ActOnEnumConstant()
17975 if (!TheEnumDecl->isScoped() && isa<ValueDecl>(PrevDecl)) { in ActOnEnumConstant()
17977 CheckShadow(New, PrevDecl, R); in ActOnEnumConstant()
17982 assert((getLangOpts().CPlusPlus || !isa<TagDecl>(PrevDecl)) && in ActOnEnumConstant()
17984 if (!isa<TagDecl>(PrevDecl) && isDeclInScope(PrevDecl, CurContext, S)) { in ActOnEnumConstant()
17985 if (isa<EnumConstantDecl>(PrevDecl)) in ActOnEnumConstant()
17989 notePreviousDefinition(PrevDecl, IdLoc); in ActOnEnumConstant()
18439 NamedDecl *PrevDecl = LookupSingleName(TUScope, Name, NameLoc, in ActOnPragmaRedefineExtname() local
18450 if (PrevDecl && (isa<FunctionDecl>(PrevDecl) || isa<VarDecl>(PrevDecl))) { in ActOnPragmaRedefineExtname()
18451 if (isDeclExternC(PrevDecl)) in ActOnPragmaRedefineExtname()
18452 PrevDecl->addAttr(Attr); in ActOnPragmaRedefineExtname()
18454 Diag(PrevDecl->getLocation(), diag::warn_redefine_extname_not_applied) in ActOnPragmaRedefineExtname()
18455 << /*Variable*/(isa<FunctionDecl>(PrevDecl) ? 0 : 1) << PrevDecl; in ActOnPragmaRedefineExtname()
18464 Decl *PrevDecl = LookupSingleName(TUScope, Name, NameLoc, LookupOrdinaryName); in ActOnPragmaWeakID() local
18466 if (PrevDecl) { in ActOnPragmaWeakID()
18467 PrevDecl->addAttr(WeakAttr::CreateImplicit(Context, PragmaLoc, AttributeCommonInfo::AS_Pragma)); in ActOnPragmaWeakID()
18480 Decl *PrevDecl = LookupSingleName(TUScope, AliasName, AliasNameLoc, in ActOnPragmaWeakAlias() local
18484 if (PrevDecl && (isa<FunctionDecl>(PrevDecl) || isa<VarDecl>(PrevDecl))) { in ActOnPragmaWeakAlias()
18485 if (!PrevDecl->hasAttr<AliasAttr>()) in ActOnPragmaWeakAlias()
18486 if (NamedDecl *ND = dyn_cast<NamedDecl>(PrevDecl)) in ActOnPragmaWeakAlias()