Lines Matching refs:Previous

1535 static bool AllowOverloadingOfFunction(const LookupResult &Previous,  in AllowOverloadingOfFunction()  argument
1551 if (Previous.getResultKind() == LookupResult::FoundOverloaded) { in AllowOverloadingOfFunction()
1552 return llvm::any_of(Previous, [](const NamedDecl *ND) { in AllowOverloadingOfFunction()
1555 } else if (Previous.getResultKind() == LookupResult::Found) in AllowOverloadingOfFunction()
1556 return Previous.getFoundDecl()->hasAttr<OverloadableAttr>(); in AllowOverloadingOfFunction()
2536 LookupResult &Previous) { in filterNonConflictingPreviousTypedefDecls() argument
2542 if (Previous.empty()) in filterNonConflictingPreviousTypedefDecls()
2545 LookupResult::Filter Filter = Previous.makeFilter(); in filterNonConflictingPreviousTypedefDecls()
4557 LookupResult &Previous) { in mergeTypeWithPrevious() argument
4566 if (Previous.isShadowed()) in mergeTypeWithPrevious()
4593 void Sema::MergeVarDecl(VarDecl *New, LookupResult &Previous) { in MergeVarDecl() argument
4598 if (!shouldLinkPossiblyHiddenDecl(Previous, New)) in MergeVarDecl()
4606 if (Previous.isSingleResult()) { in MergeVarDecl()
4608 OldTemplate = dyn_cast<VarTemplateDecl>(Previous.getFoundDecl()); in MergeVarDecl()
4612 dyn_cast<UsingShadowDecl>(Previous.getRepresentativeDecl())) in MergeVarDecl()
4616 Old = dyn_cast<VarDecl>(Previous.getFoundDecl()); in MergeVarDecl()
4619 dyn_cast<UsingShadowDecl>(Previous.getRepresentativeDecl())) in MergeVarDecl()
4627 notePreviousDefinition(Previous.getRepresentativeDecl(), in MergeVarDecl()
4678 mergeTypeWithPrevious(*this, New, MostRecent, Previous)); in MergeVarDecl()
4683 MergeVarDeclTypes(New, Old, mergeTypeWithPrevious(*this, New, Old, Previous)); in MergeVarDecl()
6448 LookupResult Previous(*this, NameInfo, LookupOrdinaryName, in HandleDeclarator() local
6476 Previous.clear(LookupRedeclarationWithLinkage); in HandleDeclarator()
6477 Previous.setRedeclarationKind(ForExternalRedeclaration); in HandleDeclarator()
6480 LookupName(Previous, S, CreateBuiltins); in HandleDeclarator()
6482 LookupQualifiedName(Previous, DC); in HandleDeclarator()
6506 RemoveUsingDecls(Previous); in HandleDeclarator()
6509 if (Previous.isSingleResult() && in HandleDeclarator()
6510 Previous.getFoundDecl()->isTemplateParameter()) { in HandleDeclarator()
6514 Previous.getFoundDecl()); in HandleDeclarator()
6517 Previous.clear(); in HandleDeclarator()
6522 Previous.clear(); in HandleDeclarator()
6528 if (Previous.isSingleTagDecl() && in HandleDeclarator()
6531 Previous.clear(); in HandleDeclarator()
6547 New = ActOnTypedefDeclarator(S, D, DC, TInfo, Previous); in HandleDeclarator()
6549 New = ActOnFunctionDeclarator(S, D, DC, TInfo, Previous, in HandleDeclarator()
6553 New = ActOnVariableDeclarator(S, D, DC, TInfo, Previous, TemplateParamLists, in HandleDeclarator()
6771 TypeSourceInfo *TInfo, LookupResult &Previous) { in ActOnTypedefDeclarator() argument
6779 Previous.clear(); in ActOnTypedefDeclarator()
6811 NamedDecl *ND = ActOnTypedefNameDecl(S, DC, NewTD, Previous, Redeclaration); in ActOnTypedefDeclarator()
6858 LookupResult &Previous, bool &Redeclaration) { in ActOnTypedefNameDecl() argument
6861 NamedDecl *ShadowedDecl = getShadowedDeclaration(NewTD, Previous); in ActOnTypedefNameDecl()
6865 FilterLookupForScope(Previous, DC, S, /*ConsiderLinkage*/false, in ActOnTypedefNameDecl()
6867 filterNonConflictingPreviousTypedefDecls(*this, NewTD, Previous); in ActOnTypedefNameDecl()
6868 if (!Previous.empty()) { in ActOnTypedefNameDecl()
6870 MergeTypedefNameDecl(S, NewTD, Previous); in ActOnTypedefNameDecl()
6876 CheckShadow(NewTD, ShadowedDecl, Previous); in ActOnTypedefNameDecl()
7558 LookupResult &Previous, MultiTemplateParamsArg TemplateParamLists, in ActOnVariableDeclarator() argument
7586 if (!Previous.empty()) { in ActOnVariableDeclarator()
7587 NamedDecl *PrevDecl = *Previous.begin(); in ActOnVariableDeclarator()
8118 ? getShadowedDeclaration(NewVD, Previous) in ActOnVariableDeclarator()
8124 FilterLookupForScope(Previous, OriginalDC, S, shouldConsiderLinkage(NewVD), in ActOnVariableDeclarator()
8134 Previous.isSingleResult() && !Previous.isShadowed() && in ActOnVariableDeclarator()
8135 isDeclInScope(Previous.getFoundDecl(), OriginalDC, S, false)); in ActOnVariableDeclarator()
8138 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous)); in ActOnVariableDeclarator()
8142 CheckMemberSpecialization(NewVD, Previous)) in ActOnVariableDeclarator()
8146 if (!Previous.empty()) { in ActOnVariableDeclarator()
8147 if (Previous.isSingleResult() && in ActOnVariableDeclarator()
8148 isa<FieldDecl>(Previous.getFoundDecl()) && in ActOnVariableDeclarator()
8154 Previous.clear(); in ActOnVariableDeclarator()
8166 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous)); in ActOnVariableDeclarator()
8204 CheckShadow(NewVD, ShadowedDecl, Previous); in ActOnVariableDeclarator()
8243 if (D.isRedeclaration() && !Previous.empty()) { in ActOnVariableDeclarator()
8244 NamedDecl *Prev = Previous.getRepresentativeDecl(); in ActOnVariableDeclarator()
8257 CompleteMemberSpecialization(NewVD, Previous); in ActOnVariableDeclarator()
8548 Sema &S, const T *ND, bool IsGlobal, LookupResult &Previous) { in checkGlobalOrExternCConflict() argument
8562 Previous.clear(); in checkGlobalOrExternCConflict()
8563 Previous.addDecl(Prev); in checkGlobalOrExternCConflict()
8578 for (LookupResult::iterator I = Previous.begin(), E = Previous.end(); in checkGlobalOrExternCConflict()
8631 LookupResult &Previous) { in checkForConflictWithNonVisibleExternC() argument
8638 Previous.clear(); in checkForConflictWithNonVisibleExternC()
8639 Previous.addDecl(Prev); in checkForConflictWithNonVisibleExternC()
8649 return checkGlobalOrExternCConflict(S, ND, /*IsGlobal*/true, Previous); in checkForConflictWithNonVisibleExternC()
8655 return checkGlobalOrExternCConflict(S, ND, /*IsGlobal*/false, Previous); in checkForConflictWithNonVisibleExternC()
8955 bool Sema::CheckVariableDeclaration(VarDecl *NewVD, LookupResult &Previous) { in CheckVariableDeclaration() argument
8964 if (Previous.empty() && in CheckVariableDeclaration()
8965 checkForConflictWithNonVisibleExternC(*this, NewVD, Previous)) in CheckVariableDeclaration()
8966 Previous.setShadowed(); in CheckVariableDeclaration()
8968 if (!Previous.empty()) { in CheckVariableDeclaration()
8969 MergeVarDecl(NewVD, Previous); in CheckVariableDeclaration()
9096 Sema &SemaRef, LookupResult &Previous, FunctionDecl *NewFD, in DiagnoseInvalidRedeclaration() argument
9144 Previous.clear(); in DiagnoseInvalidRedeclaration()
9145 Previous.setLookupName(Correction.getCorrection()); in DiagnoseInvalidRedeclaration()
9152 Previous.addDecl(FD); in DiagnoseInvalidRedeclaration()
9170 NewFD->getTypeSourceInfo(), Previous, ExtraArgs.TemplateParamLists, in DiagnoseInvalidRedeclaration()
9180 for (LookupResult::iterator I = Previous.begin(), E = Previous.end(); in DiagnoseInvalidRedeclaration()
9200 Previous.clear(); in DiagnoseInvalidRedeclaration()
9201 Previous.setLookupName(Name); in DiagnoseInvalidRedeclaration()
9810 TypeSourceInfo *TInfo, LookupResult &Previous, in ActOnFunctionDeclarator() argument
10269 FilterLookupForScope(Previous, OriginalDC, S, shouldConsiderLinkage(NewFD), in ActOnFunctionDeclarator()
10457 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous, in ActOnFunctionDeclarator()
10460 else if (!Previous.empty()) in ActOnFunctionDeclarator()
10464 Previous.getResultKind() != LookupResult::FoundOverloaded) && in ActOnFunctionDeclarator()
10510 maybeAddCUDAHostDeviceAttrs(NewFD, Previous); in ActOnFunctionDeclarator()
10548 NewFD, ExplicitTemplateArgs, Previous)) in ActOnFunctionDeclarator()
10552 Previous)) in ActOnFunctionDeclarator()
10577 if (CheckMemberSpecialization(NewFD, Previous)) in ActOnFunctionDeclarator()
10589 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous, in ActOnFunctionDeclarator()
10592 else if (!Previous.empty()) in ActOnFunctionDeclarator()
10598 Previous.getResultKind() != LookupResult::FoundOverloaded) && in ActOnFunctionDeclarator()
10663 (!Previous.empty() && CurContext->isDependentContext()))) { in ActOnFunctionDeclarator()
10686 *this, Previous, NewFD, ExtraArgs, false, nullptr)) { in ActOnFunctionDeclarator()
10696 *this, Previous, NewFD, ExtraArgs, true, S)) { in ActOnFunctionDeclarator()
10729 if (IdentifierInfo *II = Previous.getLookupName().getAsIdentifierInfo()) { in ActOnFunctionDeclarator()
10798 if (D.isRedeclaration() && !Previous.empty()) { in ActOnFunctionDeclarator()
10799 NamedDecl *Prev = Previous.getRepresentativeDecl(); in ActOnFunctionDeclarator()
10889 CompleteMemberSpecialization(NewFD, Previous); in ActOnFunctionDeclarator()
11389 LookupResult &Previous) { in CheckTargetCausesMultiVersioning() argument
11486 Previous.clear(); in CheckTargetCausesMultiVersioning()
11508 bool &Redeclaration, NamedDecl *&OldDecl, LookupResult &Previous) { in CheckMultiVersionAdditionalDecl() argument
11536 AllowOverloadingOfFunction(Previous, S.Context, NewFD); in CheckMultiVersionAdditionalDecl()
11540 for (NamedDecl *ND : Previous) { in CheckMultiVersionAdditionalDecl()
11715 Previous.clear(); in CheckMultiVersionAdditionalDecl()
11727 LookupResult &Previous) { in CheckMultiVersionFunction() argument
11801 OldDecl, Previous); in CheckMultiVersionFunction()
11822 OldDecl, Previous); in CheckMultiVersionFunction()
11869 LookupResult &Previous, in CheckFunctionDeclaration() argument
11879 !Previous.isShadowed(); in CheckFunctionDeclaration()
11887 if (!Previous.empty()) { in CheckFunctionDeclaration()
11892 if (!AllowOverloadingOfFunction(Previous, Context, NewFD)) { in CheckFunctionDeclaration()
11893 NamedDecl *Candidate = Previous.getRepresentativeDecl(); in CheckFunctionDeclaration()
11900 switch (CheckOverload(S, NewFD, Previous, OldDecl, in CheckFunctionDeclaration()
11919 checkForConflictWithNonVisibleExternC(*this, NewFD, Previous)) { in CheckFunctionDeclaration()
11920 if (!Previous.empty()) { in CheckFunctionDeclaration()
11924 OldDecl = Previous.getFoundDecl(); in CheckFunctionDeclaration()
11939 if (CheckMultiVersionFunction(*this, NewFD, Redeclaration, OldDecl, Previous)) in CheckFunctionDeclaration()
11997 Previous.clear(); in CheckFunctionDeclaration()
11998 Previous.addDecl(OldDecl); in CheckFunctionDeclaration()
12045 assert((Previous.empty() || in CheckFunctionDeclaration()
12046 llvm::any_of(Previous, in CheckFunctionDeclaration()
12052 auto OtherUnmarkedIter = llvm::find_if(Previous, [](const NamedDecl *ND) { in CheckFunctionDeclaration()
12057 if (OtherUnmarkedIter != Previous.end()) { in CheckFunctionDeclaration()
12202 if (Previous.empty() && NewFD->isExternC()) { in CheckFunctionDeclaration()
12249 checkCUDATargetOverload(NewFD, Previous); in CheckFunctionDeclaration()
15570 SkipBody->Previous = const_cast<FunctionDecl*>(Definition); in CheckForFunctionRedefinition()
17023 bool Sema::isAcceptableTagRedeclaration(const TagDecl *Previous, in isAcceptableTagRedeclaration() argument
17040 TagTypeKind OldTag = Previous->getTagKind(); in isAcceptableTagRedeclaration()
17065 while (IsIgnored(Previous)) { in isAcceptableTagRedeclaration()
17066 Previous = Previous->getPreviousDecl(); in isAcceptableTagRedeclaration()
17067 if (!Previous) in isAcceptableTagRedeclaration()
17069 OldTag = Previous->getTagKind(); in isAcceptableTagRedeclaration()
17073 if (const CXXRecordDecl *Record = dyn_cast<CXXRecordDecl>(Previous)) in isAcceptableTagRedeclaration()
17091 if (Previous->getDefinition()) { in isAcceptableTagRedeclaration()
17097 for (const TagDecl *I : Previous->redecls()) { in isAcceptableTagRedeclaration()
17121 const TagDecl *PrevDef = Previous->getDefinition(); in isAcceptableTagRedeclaration()
17124 const TagDecl *Redecl = PrevDef ? PrevDef : Previous; in isAcceptableTagRedeclaration()
17378 LookupResult Previous(*this, Name, NameLoc, LookupTagName, Redecl); in ActOnTag() local
17410 LookupQualifiedName(Previous, DC); in ActOnTag()
17412 if (Previous.isAmbiguous()) in ActOnTag()
17415 if (Previous.empty()) { in ActOnTag()
17422 if (Previous.wasNotFoundInCurrentInstantiation() && in ActOnTag()
17449 LookupName(Previous, S); in ActOnTag()
17453 if (Previous.isAmbiguous() && in ActOnTag()
17455 LookupResult::Filter F = Previous.makeFilter(); in ActOnTag()
17478 if (!Previous.empty() && TUK == TUK_Friend) { in ActOnTag()
17480 LookupResult::Filter F = Previous.makeFilter(); in ActOnTag()
17497 if (Previous.isSingleResult() && FriendSawTagOutsideEnclosingNamespace) { in ActOnTag()
17498 NamedDecl *ND = Previous.getFoundDecl(); in ActOnTag()
17505 if (Previous.isAmbiguous()) in ActOnTag()
17529 if (Previous.isSingleResult() && in ActOnTag()
17530 Previous.getFoundDecl()->isTemplateParameter()) { in ActOnTag()
17532 DiagnoseTemplateParameterShadow(NameLoc, Previous.getFoundDecl()); in ActOnTag()
17534 Previous.clear(); in ActOnTag()
17546 if (Previous.empty() && StdBadAlloc) in ActOnTag()
17547 Previous.addDecl(getStdBadAlloc()); in ActOnTag()
17550 if (Previous.empty() && StdAlignValT) in ActOnTag()
17551 Previous.addDecl(getStdAlignValT()); in ActOnTag()
17559 if (Name && Previous.empty() && in ActOnTag()
17618 Previous.setRedeclarationKind(forRedeclarationInCurContext()); in ActOnTag()
17619 LookupQualifiedName(Previous, SearchDC); in ActOnTag()
17621 Previous.setRedeclarationKind(forRedeclarationInCurContext()); in ActOnTag()
17622 LookupName(Previous, S); in ActOnTag()
17627 if (Previous.empty() && SkipBody && SkipBody->Previous) in ActOnTag()
17628 Previous.addDecl(SkipBody->Previous); in ActOnTag()
17630 if (!Previous.empty()) { in ActOnTag()
17631 NamedDecl *PrevDecl = Previous.getFoundDecl(); in ActOnTag()
17632 NamedDecl *DirectPrevDecl = Previous.getRepresentativeDecl(); in ActOnTag()
17650 Previous.clear(); in ActOnTag()
17651 Previous.addDecl(Tag); in ActOnTag()
17652 Previous.resolveKind(); in ActOnTag()
17673 Previous.clear(); in ActOnTag()
17707 Previous.clear(); in ActOnTag()
17808 SkipBody->Previous = Def; in ActOnTag()
17812 SkipBody->Previous = Def; in ActOnTag()
17830 Previous.clear(); in ActOnTag()
17842 Previous.clear(); in ActOnTag()
17867 Previous.clear(); in ActOnTag()
17881 !Previous.isForRedeclaration()) { in ActOnTag()
17922 Previous.clear(); in ActOnTag()
17929 if (Previous.isSingleResult()) in ActOnTag()
17930 PrevDecl = cast<TagDecl>(Previous.getFoundDecl()); in ActOnTag()
18071 if (isMemberSpecialization && CheckMemberSpecialization(New, Previous)) in ActOnTag()
18156 CompleteMemberSpecialization(New, Previous); in ActOnTag()
18167 return SkipBody->Previous; in ActOnTag()
18192 makeMergedDefinitionVisible(SkipBody.Previous); in ActOnDuplicateDefinition()
18478 LookupResult Previous(*this, II, Loc, LookupMemberName, in HandleField() local
18480 LookupName(Previous, S); in HandleField()
18481 switch (Previous.getResultKind()) { in HandleField()
18484 PrevDecl = Previous.getAsSingle<NamedDecl>(); in HandleField()
18488 PrevDecl = Previous.getRepresentativeDecl(); in HandleField()
18496 Previous.suppressDiagnostics(); in HandleField()
19905 Skip.Previous = Hidden; in shouldSkipAnonEnumBody()