Lines Matching refs:Previous

1469 static bool AllowOverloadingOfFunction(const LookupResult &Previous,  in AllowOverloadingOfFunction()  argument
1485 if (Previous.getResultKind() == LookupResult::FoundOverloaded) { in AllowOverloadingOfFunction()
1486 return llvm::any_of(Previous, [](const NamedDecl *ND) { in AllowOverloadingOfFunction()
1489 } else if (Previous.getResultKind() == LookupResult::Found) in AllowOverloadingOfFunction()
1490 return Previous.getFoundDecl()->hasAttr<OverloadableAttr>(); in AllowOverloadingOfFunction()
2396 LookupResult &Previous) { in filterNonConflictingPreviousTypedefDecls() argument
2402 if (Previous.empty()) in filterNonConflictingPreviousTypedefDecls()
2405 LookupResult::Filter Filter = Previous.makeFilter(); in filterNonConflictingPreviousTypedefDecls()
4431 LookupResult &Previous) { in mergeTypeWithPrevious() argument
4440 if (Previous.isShadowed()) in mergeTypeWithPrevious()
4459 void Sema::MergeVarDecl(VarDecl *New, LookupResult &Previous) { in MergeVarDecl() argument
4464 if (!shouldLinkPossiblyHiddenDecl(Previous, New)) in MergeVarDecl()
4472 if (Previous.isSingleResult()) { in MergeVarDecl()
4474 OldTemplate = dyn_cast<VarTemplateDecl>(Previous.getFoundDecl()); in MergeVarDecl()
4478 dyn_cast<UsingShadowDecl>(Previous.getRepresentativeDecl())) in MergeVarDecl()
4482 Old = dyn_cast<VarDecl>(Previous.getFoundDecl()); in MergeVarDecl()
4485 dyn_cast<UsingShadowDecl>(Previous.getRepresentativeDecl())) in MergeVarDecl()
4493 notePreviousDefinition(Previous.getRepresentativeDecl(), in MergeVarDecl()
4546 mergeTypeWithPrevious(*this, New, MostRecent, Previous)); in MergeVarDecl()
4551 MergeVarDeclTypes(New, Old, mergeTypeWithPrevious(*this, New, Old, Previous)); in MergeVarDecl()
6286 LookupResult Previous(*this, NameInfo, LookupOrdinaryName, in HandleDeclarator() local
6314 Previous.clear(LookupRedeclarationWithLinkage); in HandleDeclarator()
6315 Previous.setRedeclarationKind( in HandleDeclarator()
6319 LookupName(Previous, S, CreateBuiltins); in HandleDeclarator()
6321 LookupQualifiedName(Previous, DC); in HandleDeclarator()
6345 RemoveUsingDecls(Previous); in HandleDeclarator()
6348 if (auto *TPD = Previous.getAsSingle<NamedDecl>(); in HandleDeclarator()
6366 Previous.clear(); in HandleDeclarator()
6371 Previous.clear(); in HandleDeclarator()
6377 if (Previous.isSingleTagDecl() && in HandleDeclarator()
6380 Previous.clear(); in HandleDeclarator()
6399 New = ActOnTypedefDeclarator(S, D, DC, TInfo, Previous); in HandleDeclarator()
6401 New = ActOnFunctionDeclarator(S, D, DC, TInfo, Previous, in HandleDeclarator()
6405 New = ActOnVariableDeclarator(S, D, DC, TInfo, Previous, TemplateParamLists, in HandleDeclarator()
6615 TypeSourceInfo *TInfo, LookupResult &Previous) { in ActOnTypedefDeclarator() argument
6623 Previous.clear(); in ActOnTypedefDeclarator()
6655 NamedDecl *ND = ActOnTypedefNameDecl(S, DC, NewTD, Previous, Redeclaration); in ActOnTypedefDeclarator()
6699 LookupResult &Previous, bool &Redeclaration) { in ActOnTypedefNameDecl() argument
6702 NamedDecl *ShadowedDecl = getShadowedDeclaration(NewTD, Previous); in ActOnTypedefNameDecl()
6706 FilterLookupForScope(Previous, DC, S, /*ConsiderLinkage*/false, in ActOnTypedefNameDecl()
6708 filterNonConflictingPreviousTypedefDecls(*this, NewTD, Previous); in ActOnTypedefNameDecl()
6709 if (!Previous.empty()) { in ActOnTypedefNameDecl()
6711 MergeTypedefNameDecl(S, NewTD, Previous); in ActOnTypedefNameDecl()
6717 CheckShadow(NewTD, ShadowedDecl, Previous); in ActOnTypedefNameDecl()
7358 LookupResult &Previous, MultiTemplateParamsArg TemplateParamLists, in ActOnVariableDeclarator() argument
7386 if (!Previous.empty()) { in ActOnVariableDeclarator()
7387 NamedDecl *PrevDecl = *Previous.begin(); in ActOnVariableDeclarator()
7626 S, D, TInfo, Previous, TemplateKWLoc, TemplateParams, SC, in ActOnVariableDeclarator()
7944 ? getShadowedDeclaration(NewVD, Previous) in ActOnVariableDeclarator()
7950 FilterLookupForScope(Previous, OriginalDC, S, shouldConsiderLinkage(NewVD), in ActOnVariableDeclarator()
7960 Previous.isSingleResult() && !Previous.isShadowed() && in ActOnVariableDeclarator()
7961 isDeclInScope(Previous.getFoundDecl(), OriginalDC, S, false)); in ActOnVariableDeclarator()
7964 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous)); in ActOnVariableDeclarator()
7968 !NewVD->isInvalidDecl() && CheckMemberSpecialization(NewVD, Previous)) in ActOnVariableDeclarator()
7972 if (!Previous.empty()) { in ActOnVariableDeclarator()
7973 if (Previous.isSingleResult() && in ActOnVariableDeclarator()
7974 isa<FieldDecl>(Previous.getFoundDecl()) && in ActOnVariableDeclarator()
7980 Previous.clear(); in ActOnVariableDeclarator()
7993 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous)); in ActOnVariableDeclarator()
8031 CheckShadow(NewVD, ShadowedDecl, Previous); in ActOnVariableDeclarator()
8070 if (D.isRedeclaration() && !Previous.empty()) { in ActOnVariableDeclarator()
8071 NamedDecl *Prev = Previous.getRepresentativeDecl(); in ActOnVariableDeclarator()
8084 CompleteMemberSpecialization(NewVD, Previous); in ActOnVariableDeclarator()
8358 Sema &S, const T *ND, bool IsGlobal, LookupResult &Previous) { in checkGlobalOrExternCConflict() argument
8372 Previous.clear(); in checkGlobalOrExternCConflict()
8373 Previous.addDecl(Prev); in checkGlobalOrExternCConflict()
8388 for (LookupResult::iterator I = Previous.begin(), E = Previous.end(); in checkGlobalOrExternCConflict()
8441 LookupResult &Previous) { in checkForConflictWithNonVisibleExternC() argument
8448 Previous.clear(); in checkForConflictWithNonVisibleExternC()
8449 Previous.addDecl(Prev); in checkForConflictWithNonVisibleExternC()
8459 return checkGlobalOrExternCConflict(S, ND, /*IsGlobal*/true, Previous); in checkForConflictWithNonVisibleExternC()
8465 return checkGlobalOrExternCConflict(S, ND, /*IsGlobal*/false, Previous); in checkForConflictWithNonVisibleExternC()
8805 bool Sema::CheckVariableDeclaration(VarDecl *NewVD, LookupResult &Previous) { in CheckVariableDeclaration() argument
8814 if (Previous.empty() && in CheckVariableDeclaration()
8815 checkForConflictWithNonVisibleExternC(*this, NewVD, Previous)) in CheckVariableDeclaration()
8816 Previous.setShadowed(); in CheckVariableDeclaration()
8818 if (!Previous.empty()) { in CheckVariableDeclaration()
8819 MergeVarDecl(NewVD, Previous); in CheckVariableDeclaration()
8944 Sema &SemaRef, LookupResult &Previous, FunctionDecl *NewFD, in DiagnoseInvalidRedeclaration() argument
8992 Previous.clear(); in DiagnoseInvalidRedeclaration()
8993 Previous.setLookupName(Correction.getCorrection()); in DiagnoseInvalidRedeclaration()
9000 Previous.addDecl(FD); in DiagnoseInvalidRedeclaration()
9018 NewFD->getTypeSourceInfo(), Previous, ExtraArgs.TemplateParamLists, in DiagnoseInvalidRedeclaration()
9028 for (LookupResult::iterator I = Previous.begin(), E = Previous.end(); in DiagnoseInvalidRedeclaration()
9048 Previous.clear(); in DiagnoseInvalidRedeclaration()
9049 Previous.setLookupName(Name); in DiagnoseInvalidRedeclaration()
9666 TypeSourceInfo *TInfo, LookupResult &Previous, in ActOnFunctionDeclarator() argument
10129 FilterLookupForScope(Previous, OriginalDC, S, shouldConsiderLinkage(NewFD), in ActOnFunctionDeclarator()
10317 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous, in ActOnFunctionDeclarator()
10320 else if (!Previous.empty()) in ActOnFunctionDeclarator()
10324 Previous.getResultKind() != LookupResult::FoundOverloaded) && in ActOnFunctionDeclarator()
10424 CUDA().maybeAddHostDeviceAttrs(NewFD, Previous); in ActOnFunctionDeclarator()
10462 NewFD, ExplicitTemplateArgs, Previous)) in ActOnFunctionDeclarator()
10466 Previous)) in ActOnFunctionDeclarator()
10470 if (CheckMemberSpecialization(NewFD, Previous)) in ActOnFunctionDeclarator()
10482 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous, in ActOnFunctionDeclarator()
10485 else if (!Previous.empty()) in ActOnFunctionDeclarator()
10491 Previous.getResultKind() != LookupResult::FoundOverloaded) && in ActOnFunctionDeclarator()
10556 (!Previous.empty() && CurContext->isDependentContext()))) { in ActOnFunctionDeclarator()
10579 *this, Previous, NewFD, ExtraArgs, false, nullptr)) { in ActOnFunctionDeclarator()
10589 *this, Previous, NewFD, ExtraArgs, true, S)) { in ActOnFunctionDeclarator()
10622 if (IdentifierInfo *II = Previous.getLookupName().getAsIdentifierInfo()) { in ActOnFunctionDeclarator()
10691 if (D.isRedeclaration() && !Previous.empty()) { in ActOnFunctionDeclarator()
10692 NamedDecl *Prev = Previous.getRepresentativeDecl(); in ActOnFunctionDeclarator()
10782 CompleteMemberSpecialization(NewFD, Previous); in ActOnFunctionDeclarator()
11300 LookupResult &Previous) { in CheckDeclarationCausesMultiVersioning() argument
11389 Previous.clear(); in CheckDeclarationCausesMultiVersioning()
11428 LookupResult &Previous) { in CheckMultiVersionAdditionalDecl() argument
11463 AllowOverloadingOfFunction(Previous, S.Context, NewFD); in CheckMultiVersionAdditionalDecl()
11467 for (NamedDecl *ND : Previous) { in CheckMultiVersionAdditionalDecl()
11667 Previous.clear(); in CheckMultiVersionAdditionalDecl()
11679 LookupResult &Previous) { in CheckMultiVersionFunction() argument
11743 S, OldFD, NewFD, Redeclaration, OldDecl, Previous); in CheckMultiVersionFunction()
11764 OldDecl, Previous); in CheckMultiVersionFunction()
11794 LookupResult &Previous, in CheckFunctionDeclaration() argument
11804 !Previous.isShadowed(); in CheckFunctionDeclaration()
11812 if (!Previous.empty()) { in CheckFunctionDeclaration()
11817 if (!AllowOverloadingOfFunction(Previous, Context, NewFD)) { in CheckFunctionDeclaration()
11818 NamedDecl *Candidate = Previous.getRepresentativeDecl(); in CheckFunctionDeclaration()
11825 switch (CheckOverload(S, NewFD, Previous, OldDecl, in CheckFunctionDeclaration()
11844 checkForConflictWithNonVisibleExternC(*this, NewFD, Previous)) { in CheckFunctionDeclaration()
11845 if (!Previous.empty()) { in CheckFunctionDeclaration()
11849 OldDecl = Previous.getFoundDecl(); in CheckFunctionDeclaration()
11864 if (CheckMultiVersionFunction(*this, NewFD, Redeclaration, OldDecl, Previous)) in CheckFunctionDeclaration()
11951 Previous.clear(); in CheckFunctionDeclaration()
11952 Previous.addDecl(OldDecl); in CheckFunctionDeclaration()
11999 assert((Previous.empty() || in CheckFunctionDeclaration()
12000 llvm::any_of(Previous, in CheckFunctionDeclaration()
12006 auto OtherUnmarkedIter = llvm::find_if(Previous, [](const NamedDecl *ND) { in CheckFunctionDeclaration()
12011 if (OtherUnmarkedIter != Previous.end()) { in CheckFunctionDeclaration()
12107 if (Previous.empty() && NewFD->isExternC()) { in CheckFunctionDeclaration()
12154 CUDA().checkTargetOverload(NewFD, Previous); in CheckFunctionDeclaration()
15340 SkipBody->Previous = const_cast<FunctionDecl*>(Definition); in CheckForFunctionRedefinition()
16795 bool Sema::isAcceptableTagRedeclaration(const TagDecl *Previous, in isAcceptableTagRedeclaration() argument
16812 TagTypeKind OldTag = Previous->getTagKind(); in isAcceptableTagRedeclaration()
16837 while (IsIgnored(Previous)) { in isAcceptableTagRedeclaration()
16838 Previous = Previous->getPreviousDecl(); in isAcceptableTagRedeclaration()
16839 if (!Previous) in isAcceptableTagRedeclaration()
16841 OldTag = Previous->getTagKind(); in isAcceptableTagRedeclaration()
16845 if (const CXXRecordDecl *Record = dyn_cast<CXXRecordDecl>(Previous)) in isAcceptableTagRedeclaration()
16863 if (Previous->getDefinition()) { in isAcceptableTagRedeclaration()
16869 for (const TagDecl *I : Previous->redecls()) { in isAcceptableTagRedeclaration()
16893 const TagDecl *PrevDef = Previous->getDefinition(); in isAcceptableTagRedeclaration()
16896 const TagDecl *Redecl = PrevDef ? PrevDef : Previous; in isAcceptableTagRedeclaration()
17181 LookupResult Previous(*this, Name, NameLoc, LookupTagName, Redecl); in ActOnTag() local
17213 LookupQualifiedName(Previous, DC); in ActOnTag()
17215 if (Previous.isAmbiguous()) in ActOnTag()
17218 if (Previous.empty()) { in ActOnTag()
17225 if (Previous.wasNotFoundInCurrentInstantiation() && in ActOnTag()
17252 LookupName(Previous, S); in ActOnTag()
17256 if (Previous.isAmbiguous() && in ActOnTag()
17258 LookupResult::Filter F = Previous.makeFilter(); in ActOnTag()
17281 if (!Previous.empty() && TUK == TagUseKind::Friend) { in ActOnTag()
17283 LookupResult::Filter F = Previous.makeFilter(); in ActOnTag()
17300 if (Previous.isSingleResult() && FriendSawTagOutsideEnclosingNamespace) { in ActOnTag()
17301 NamedDecl *ND = Previous.getFoundDecl(); in ActOnTag()
17308 if (Previous.isAmbiguous()) in ActOnTag()
17332 if (Previous.isSingleResult() && in ActOnTag()
17333 Previous.getFoundDecl()->isTemplateParameter()) { in ActOnTag()
17335 DiagnoseTemplateParameterShadow(NameLoc, Previous.getFoundDecl()); in ActOnTag()
17337 Previous.clear(); in ActOnTag()
17349 if (Previous.empty() && StdBadAlloc) in ActOnTag()
17350 Previous.addDecl(getStdBadAlloc()); in ActOnTag()
17353 if (Previous.empty() && StdAlignValT) in ActOnTag()
17354 Previous.addDecl(getStdAlignValT()); in ActOnTag()
17362 if (Name && Previous.empty() && in ActOnTag()
17422 Previous.setRedeclarationKind(forRedeclarationInCurContext()); in ActOnTag()
17423 LookupQualifiedName(Previous, SearchDC); in ActOnTag()
17425 Previous.setRedeclarationKind(forRedeclarationInCurContext()); in ActOnTag()
17426 LookupName(Previous, S); in ActOnTag()
17431 if (Previous.empty() && SkipBody && SkipBody->Previous) in ActOnTag()
17432 Previous.addDecl(SkipBody->Previous); in ActOnTag()
17434 if (!Previous.empty()) { in ActOnTag()
17435 NamedDecl *PrevDecl = Previous.getFoundDecl(); in ActOnTag()
17436 NamedDecl *DirectPrevDecl = Previous.getRepresentativeDecl(); in ActOnTag()
17454 Previous.clear(); in ActOnTag()
17455 Previous.addDecl(Tag); in ActOnTag()
17456 Previous.resolveKind(); in ActOnTag()
17478 Previous.clear(); in ActOnTag()
17512 Previous.clear(); in ActOnTag()
17613 SkipBody->Previous = Def; in ActOnTag()
17617 SkipBody->Previous = Def; in ActOnTag()
17635 Previous.clear(); in ActOnTag()
17647 Previous.clear(); in ActOnTag()
17672 Previous.clear(); in ActOnTag()
17686 !Previous.isForRedeclaration()) { in ActOnTag()
17727 Previous.clear(); in ActOnTag()
17734 if (Previous.isSingleResult()) in ActOnTag()
17735 PrevDecl = cast<TagDecl>(Previous.getFoundDecl()); in ActOnTag()
17880 if (isMemberSpecialization && CheckMemberSpecialization(New, Previous)) in ActOnTag()
17967 CompleteMemberSpecialization(New, Previous); in ActOnTag()
17978 return SkipBody->Previous; in ActOnTag()
18003 makeMergedDefinitionVisible(SkipBody.Previous); in ActOnDuplicateDefinition()
18273 LookupResult Previous(*this, II, Loc, LookupMemberName, in HandleField() local
18275 LookupName(Previous, S); in HandleField()
18276 switch (Previous.getResultKind()) { in HandleField()
18279 PrevDecl = Previous.getAsSingle<NamedDecl>(); in HandleField()
18283 PrevDecl = Previous.getRepresentativeDecl(); in HandleField()
18291 Previous.suppressDiagnostics(); in HandleField()
19572 Skip.Previous = Hidden; in shouldSkipAnonEnumBody()