Lines Matching refs:Previous

1449 static bool AllowOverloadingOfFunction(LookupResult &Previous,  in AllowOverloadingOfFunction()  argument
1455 if (Previous.getResultKind() == LookupResult::FoundOverloaded) in AllowOverloadingOfFunction()
1458 return Previous.getResultKind() == LookupResult::Found && in AllowOverloadingOfFunction()
1459 (Previous.getFoundDecl()->hasAttr<OverloadableAttr>() || in AllowOverloadingOfFunction()
2157 LookupResult &Previous) { in filterNonConflictingPreviousTypedefDecls() argument
2163 if (Previous.empty()) in filterNonConflictingPreviousTypedefDecls()
2166 LookupResult::Filter Filter = Previous.makeFilter(); in filterNonConflictingPreviousTypedefDecls()
3996 LookupResult &Previous) { in mergeTypeWithPrevious() argument
4005 if (Previous.isShadowed()) in mergeTypeWithPrevious()
4032 void Sema::MergeVarDecl(VarDecl *New, LookupResult &Previous) { in MergeVarDecl() argument
4037 if (!shouldLinkPossiblyHiddenDecl(Previous, New)) in MergeVarDecl()
4045 if (Previous.isSingleResult()) { in MergeVarDecl()
4047 OldTemplate = dyn_cast<VarTemplateDecl>(Previous.getFoundDecl()); in MergeVarDecl()
4051 dyn_cast<UsingShadowDecl>(Previous.getRepresentativeDecl())) in MergeVarDecl()
4055 Old = dyn_cast<VarDecl>(Previous.getFoundDecl()); in MergeVarDecl()
4058 dyn_cast<UsingShadowDecl>(Previous.getRepresentativeDecl())) in MergeVarDecl()
4066 notePreviousDefinition(Previous.getRepresentativeDecl(), in MergeVarDecl()
4117 mergeTypeWithPrevious(*this, New, MostRecent, Previous)); in MergeVarDecl()
4122 MergeVarDeclTypes(New, Old, mergeTypeWithPrevious(*this, New, Old, Previous)); in MergeVarDecl()
5795 LookupResult Previous(*this, NameInfo, LookupOrdinaryName, in HandleDeclarator() local
5823 Previous.clear(LookupRedeclarationWithLinkage); in HandleDeclarator()
5824 Previous.setRedeclarationKind(ForExternalRedeclaration); in HandleDeclarator()
5827 LookupName(Previous, S, CreateBuiltins); in HandleDeclarator()
5829 LookupQualifiedName(Previous, DC); in HandleDeclarator()
5857 RemoveUsingDecls(Previous); in HandleDeclarator()
5860 if (Previous.isSingleResult() && in HandleDeclarator()
5861 Previous.getFoundDecl()->isTemplateParameter()) { in HandleDeclarator()
5865 Previous.getFoundDecl()); in HandleDeclarator()
5868 Previous.clear(); in HandleDeclarator()
5873 Previous.clear(); in HandleDeclarator()
5879 if (Previous.isSingleTagDecl() && in HandleDeclarator()
5882 Previous.clear(); in HandleDeclarator()
5898 New = ActOnTypedefDeclarator(S, D, DC, TInfo, Previous); in HandleDeclarator()
5900 New = ActOnFunctionDeclarator(S, D, DC, TInfo, Previous, in HandleDeclarator()
5904 New = ActOnVariableDeclarator(S, D, DC, TInfo, Previous, TemplateParamLists, in HandleDeclarator()
6122 TypeSourceInfo *TInfo, LookupResult &Previous) { in ActOnTypedefDeclarator() argument
6130 Previous.clear(); in ActOnTypedefDeclarator()
6162 NamedDecl *ND = ActOnTypedefNameDecl(S, DC, NewTD, Previous, Redeclaration); in ActOnTypedefDeclarator()
6209 LookupResult &Previous, bool &Redeclaration) { in ActOnTypedefNameDecl() argument
6212 NamedDecl *ShadowedDecl = getShadowedDeclaration(NewTD, Previous); in ActOnTypedefNameDecl()
6216 FilterLookupForScope(Previous, DC, S, /*ConsiderLinkage*/false, in ActOnTypedefNameDecl()
6218 filterNonConflictingPreviousTypedefDecls(*this, NewTD, Previous); in ActOnTypedefNameDecl()
6219 if (!Previous.empty()) { in ActOnTypedefNameDecl()
6221 MergeTypedefNameDecl(S, NewTD, Previous); in ActOnTypedefNameDecl()
6227 CheckShadow(NewTD, ShadowedDecl, Previous); in ActOnTypedefNameDecl()
6849 LookupResult &Previous, MultiTemplateParamsArg TemplateParamLists, in ActOnVariableDeclarator() argument
7379 ? getShadowedDeclaration(NewVD, Previous) in ActOnVariableDeclarator()
7385 FilterLookupForScope(Previous, OriginalDC, S, shouldConsiderLinkage(NewVD), in ActOnVariableDeclarator()
7395 Previous.isSingleResult() && !Previous.isShadowed() && in ActOnVariableDeclarator()
7396 isDeclInScope(Previous.getFoundDecl(), OriginalDC, S, false)); in ActOnVariableDeclarator()
7399 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous)); in ActOnVariableDeclarator()
7403 CheckMemberSpecialization(NewVD, Previous)) in ActOnVariableDeclarator()
7407 if (!Previous.empty()) { in ActOnVariableDeclarator()
7408 if (Previous.isSingleResult() && in ActOnVariableDeclarator()
7409 isa<FieldDecl>(Previous.getFoundDecl()) && in ActOnVariableDeclarator()
7415 Previous.clear(); in ActOnVariableDeclarator()
7427 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous)); in ActOnVariableDeclarator()
7458 CheckShadow(NewVD, ShadowedDecl, Previous); in ActOnVariableDeclarator()
7497 if (D.isRedeclaration() && !Previous.empty()) { in ActOnVariableDeclarator()
7498 NamedDecl *Prev = Previous.getRepresentativeDecl(); in ActOnVariableDeclarator()
7511 CompleteMemberSpecialization(NewVD, Previous); in ActOnVariableDeclarator()
7777 Sema &S, const T *ND, bool IsGlobal, LookupResult &Previous) { in checkGlobalOrExternCConflict() argument
7791 Previous.clear(); in checkGlobalOrExternCConflict()
7792 Previous.addDecl(Prev); in checkGlobalOrExternCConflict()
7807 for (LookupResult::iterator I = Previous.begin(), E = Previous.end(); in checkGlobalOrExternCConflict()
7860 LookupResult &Previous) { in checkForConflictWithNonVisibleExternC() argument
7867 Previous.clear(); in checkForConflictWithNonVisibleExternC()
7868 Previous.addDecl(Prev); in checkForConflictWithNonVisibleExternC()
7878 return checkGlobalOrExternCConflict(S, ND, /*IsGlobal*/true, Previous); in checkForConflictWithNonVisibleExternC()
7884 return checkGlobalOrExternCConflict(S, ND, /*IsGlobal*/false, Previous); in checkForConflictWithNonVisibleExternC()
8152 bool Sema::CheckVariableDeclaration(VarDecl *NewVD, LookupResult &Previous) { in CheckVariableDeclaration() argument
8161 if (Previous.empty() && in CheckVariableDeclaration()
8162 checkForConflictWithNonVisibleExternC(*this, NewVD, Previous)) in CheckVariableDeclaration()
8163 Previous.setShadowed(); in CheckVariableDeclaration()
8165 if (!Previous.empty()) { in CheckVariableDeclaration()
8166 MergeVarDecl(NewVD, Previous); in CheckVariableDeclaration()
8295 Sema &SemaRef, LookupResult &Previous, FunctionDecl *NewFD, in DiagnoseInvalidRedeclaration() argument
8343 Previous.clear(); in DiagnoseInvalidRedeclaration()
8344 Previous.setLookupName(Correction.getCorrection()); in DiagnoseInvalidRedeclaration()
8351 Previous.addDecl(FD); in DiagnoseInvalidRedeclaration()
8369 NewFD->getTypeSourceInfo(), Previous, ExtraArgs.TemplateParamLists, in DiagnoseInvalidRedeclaration()
8379 for (LookupResult::iterator I = Previous.begin(), E = Previous.end(); in DiagnoseInvalidRedeclaration()
8399 Previous.clear(); in DiagnoseInvalidRedeclaration()
8400 Previous.setLookupName(Name); in DiagnoseInvalidRedeclaration()
8946 TypeSourceInfo *TInfo, LookupResult &Previous, in ActOnFunctionDeclarator() argument
9333 FilterLookupForScope(Previous, OriginalDC, S, shouldConsiderLinkage(NewFD), in ActOnFunctionDeclarator()
9510 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous, in ActOnFunctionDeclarator()
9512 else if (!Previous.empty()) in ActOnFunctionDeclarator()
9516 Previous.getResultKind() != LookupResult::FoundOverloaded) && in ActOnFunctionDeclarator()
9602 maybeAddCUDAHostDeviceAttrs(NewFD, Previous); in ActOnFunctionDeclarator()
9615 Previous)) in ActOnFunctionDeclarator()
9624 Previous)) in ActOnFunctionDeclarator()
9647 if (CheckMemberSpecialization(NewFD, Previous)) in ActOnFunctionDeclarator()
9660 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous, in ActOnFunctionDeclarator()
9662 else if (!Previous.empty()) in ActOnFunctionDeclarator()
9668 Previous.getResultKind() != LookupResult::FoundOverloaded) && in ActOnFunctionDeclarator()
9733 (!Previous.empty() && CurContext->isDependentContext()))) { in ActOnFunctionDeclarator()
9756 *this, Previous, NewFD, ExtraArgs, false, nullptr)) { in ActOnFunctionDeclarator()
9766 *this, Previous, NewFD, ExtraArgs, true, S)) { in ActOnFunctionDeclarator()
9791 if (IdentifierInfo *II = Previous.getLookupName().getAsIdentifierInfo()) { in ActOnFunctionDeclarator()
9862 if (D.isRedeclaration() && !Previous.empty()) { in ActOnFunctionDeclarator()
9863 NamedDecl *Prev = Previous.getRepresentativeDecl(); in ActOnFunctionDeclarator()
9938 CompleteMemberSpecialization(NewFD, Previous); in ActOnFunctionDeclarator()
10422 LookupResult &Previous) { in CheckTargetCausesMultiVersioning() argument
10496 Previous.clear(); in CheckTargetCausesMultiVersioning()
10507 LookupResult &Previous) { in CheckMultiVersionAdditionalDecl() argument
10532 for (NamedDecl *ND : Previous) { in CheckMultiVersionAdditionalDecl()
10643 Previous.clear(); in CheckMultiVersionAdditionalDecl()
10657 LookupResult &Previous) { in CheckMultiVersionFunction() argument
10711 MergeTypeWithPrevious, Previous); in CheckMultiVersionFunction()
10718 OldDecl, MergeTypeWithPrevious, Previous); in CheckMultiVersionFunction()
10739 LookupResult &Previous, in CheckFunctionDeclaration() argument
10748 !Previous.isShadowed(); in CheckFunctionDeclaration()
10756 if (!Previous.empty()) { in CheckFunctionDeclaration()
10761 if (!AllowOverloadingOfFunction(Previous, Context, NewFD)) { in CheckFunctionDeclaration()
10762 NamedDecl *Candidate = Previous.getRepresentativeDecl(); in CheckFunctionDeclaration()
10769 switch (CheckOverload(S, NewFD, Previous, OldDecl, in CheckFunctionDeclaration()
10788 checkForConflictWithNonVisibleExternC(*this, NewFD, Previous)) { in CheckFunctionDeclaration()
10789 if (!Previous.empty()) { in CheckFunctionDeclaration()
10793 OldDecl = Previous.getFoundDecl(); in CheckFunctionDeclaration()
10809 MergeTypeWithPrevious, Previous)) in CheckFunctionDeclaration()
10864 Previous.clear(); in CheckFunctionDeclaration()
10865 Previous.addDecl(OldDecl); in CheckFunctionDeclaration()
10912 assert((Previous.empty() || in CheckFunctionDeclaration()
10913 llvm::any_of(Previous, in CheckFunctionDeclaration()
10919 auto OtherUnmarkedIter = llvm::find_if(Previous, [](const NamedDecl *ND) { in CheckFunctionDeclaration()
10924 if (OtherUnmarkedIter != Previous.end()) { in CheckFunctionDeclaration()
11016 if (Previous.empty() && NewFD->isExternC()) { in CheckFunctionDeclaration()
11063 checkCUDATargetOverload(NewFD, Previous); in CheckFunctionDeclaration()
14067 SkipBody->Previous = const_cast<FunctionDecl*>(Definition); in CheckForFunctionRedefinition()
15287 bool Sema::isAcceptableTagRedeclaration(const TagDecl *Previous, in isAcceptableTagRedeclaration() argument
15304 TagTypeKind OldTag = Previous->getTagKind(); in isAcceptableTagRedeclaration()
15329 while (IsIgnored(Previous)) { in isAcceptableTagRedeclaration()
15330 Previous = Previous->getPreviousDecl(); in isAcceptableTagRedeclaration()
15331 if (!Previous) in isAcceptableTagRedeclaration()
15333 OldTag = Previous->getTagKind(); in isAcceptableTagRedeclaration()
15337 if (const CXXRecordDecl *Record = dyn_cast<CXXRecordDecl>(Previous)) in isAcceptableTagRedeclaration()
15355 if (Previous->getDefinition()) { in isAcceptableTagRedeclaration()
15361 for (const TagDecl *I : Previous->redecls()) { in isAcceptableTagRedeclaration()
15385 const TagDecl *PrevDef = Previous->getDefinition(); in isAcceptableTagRedeclaration()
15388 const TagDecl *Redecl = PrevDef ? PrevDef : Previous; in isAcceptableTagRedeclaration()
15640 LookupResult Previous(*this, Name, NameLoc, LookupTagName, Redecl); in ActOnTag() local
15672 LookupQualifiedName(Previous, DC); in ActOnTag()
15674 if (Previous.isAmbiguous()) in ActOnTag()
15677 if (Previous.empty()) { in ActOnTag()
15684 if (Previous.wasNotFoundInCurrentInstantiation() && in ActOnTag()
15711 LookupName(Previous, S); in ActOnTag()
15715 if (Previous.isAmbiguous() && in ActOnTag()
15717 LookupResult::Filter F = Previous.makeFilter(); in ActOnTag()
15740 if (!Previous.empty() && TUK == TUK_Friend) { in ActOnTag()
15742 LookupResult::Filter F = Previous.makeFilter(); in ActOnTag()
15759 if (Previous.isSingleResult() && FriendSawTagOutsideEnclosingNamespace) { in ActOnTag()
15760 NamedDecl *ND = Previous.getFoundDecl(); in ActOnTag()
15767 if (Previous.isAmbiguous()) in ActOnTag()
15780 if (Previous.isSingleResult() && in ActOnTag()
15781 Previous.getFoundDecl()->isTemplateParameter()) { in ActOnTag()
15783 DiagnoseTemplateParameterShadow(NameLoc, Previous.getFoundDecl()); in ActOnTag()
15785 Previous.clear(); in ActOnTag()
15797 if (Previous.empty() && StdBadAlloc) in ActOnTag()
15798 Previous.addDecl(getStdBadAlloc()); in ActOnTag()
15801 if (Previous.empty() && StdAlignValT) in ActOnTag()
15802 Previous.addDecl(getStdAlignValT()); in ActOnTag()
15810 if (Name && Previous.empty() && in ActOnTag()
15866 Previous.setRedeclarationKind(forRedeclarationInCurContext()); in ActOnTag()
15867 LookupQualifiedName(Previous, SearchDC); in ActOnTag()
15869 Previous.setRedeclarationKind(forRedeclarationInCurContext()); in ActOnTag()
15870 LookupName(Previous, S); in ActOnTag()
15875 if (Previous.empty() && SkipBody && SkipBody->Previous) in ActOnTag()
15876 Previous.addDecl(SkipBody->Previous); in ActOnTag()
15878 if (!Previous.empty()) { in ActOnTag()
15879 NamedDecl *PrevDecl = Previous.getFoundDecl(); in ActOnTag()
15880 NamedDecl *DirectPrevDecl = Previous.getRepresentativeDecl(); in ActOnTag()
15899 Previous.clear(); in ActOnTag()
15900 Previous.addDecl(Tag); in ActOnTag()
15901 Previous.resolveKind(); in ActOnTag()
15922 Previous.clear(); in ActOnTag()
15956 Previous.clear(); in ActOnTag()
16056 SkipBody->Previous = Def; in ActOnTag()
16060 SkipBody->Previous = Def; in ActOnTag()
16078 Previous.clear(); in ActOnTag()
16090 Previous.clear(); in ActOnTag()
16115 Previous.clear(); in ActOnTag()
16129 !Previous.isForRedeclaration()) { in ActOnTag()
16170 Previous.clear(); in ActOnTag()
16177 if (Previous.isSingleResult()) in ActOnTag()
16178 PrevDecl = cast<TagDecl>(Previous.getFoundDecl()); in ActOnTag()
16312 if (isMemberSpecialization && CheckMemberSpecialization(New, Previous)) in ActOnTag()
16397 CompleteMemberSpecialization(New, Previous); in ActOnTag()
16408 return SkipBody->Previous; in ActOnTag()
16434 makeMergedDefinitionVisible(SkipBody.Previous); in ActOnDuplicateDefinition()
16701 LookupResult Previous(*this, II, Loc, LookupMemberName, in HandleField() local
16703 LookupName(Previous, S); in HandleField()
16704 switch (Previous.getResultKind()) { in HandleField()
16707 PrevDecl = Previous.getAsSingle<NamedDecl>(); in HandleField()
16711 PrevDecl = Previous.getRepresentativeDecl(); in HandleField()
16719 Previous.suppressDiagnostics(); in HandleField()
17871 Skip.Previous = Hidden; in shouldSkipAnonEnumBody()