Lines Matching defs:Previous
1473 static bool AllowOverloadingOfFunction(const LookupResult &Previous,
1489 if (Previous.getResultKind() == LookupResult::FoundOverloaded) {
1490 return llvm::any_of(Previous, [](const NamedDecl *ND) {
1493 } else if (Previous.getResultKind() == LookupResult::Found)
1494 return Previous.getFoundDecl()->hasAttr<OverloadableAttr>();
2400 LookupResult &Previous) {
2406 if (Previous.empty())
2409 LookupResult::Filter Filter = Previous.makeFilter();
4479 LookupResult &Previous) {
4488 if (Previous.isShadowed())
4507 void Sema::MergeVarDecl(VarDecl *New, LookupResult &Previous) {
4512 if (!shouldLinkPossiblyHiddenDecl(Previous, New))
4520 if (Previous.isSingleResult()) {
4522 OldTemplate = dyn_cast<VarTemplateDecl>(Previous.getFoundDecl());
4526 dyn_cast<UsingShadowDecl>(Previous.getRepresentativeDecl()))
4530 Old = dyn_cast<VarDecl>(Previous.getFoundDecl());
4533 dyn_cast<UsingShadowDecl>(Previous.getRepresentativeDecl()))
4541 notePreviousDefinition(Previous.getRepresentativeDecl(),
4594 mergeTypeWithPrevious(*this, New, MostRecent, Previous));
4599 MergeVarDeclTypes(New, Old, mergeTypeWithPrevious(*this, New, Old, Previous));
6341 LookupResult Previous(*this, NameInfo, LookupOrdinaryName,
6369 Previous.clear(LookupRedeclarationWithLinkage);
6370 Previous.setRedeclarationKind(
6374 LookupName(Previous, S, CreateBuiltins);
6376 LookupQualifiedName(Previous, DC);
6386 // enough information to make sure that Previous contains the declaration
6396 // In this case, Previous will point to the overload set
6400 RemoveUsingDecls(Previous);
6403 if (auto *TPD = Previous.getAsSingle<NamedDecl>();
6421 Previous.clear();
6426 Previous.clear();
6432 if (Previous.isSingleTagDecl() &&
6435 Previous.clear();
6454 New = ActOnTypedefDeclarator(S, D, DC, TInfo, Previous);
6456 New = ActOnFunctionDeclarator(S, D, DC, TInfo, Previous,
6460 New = ActOnVariableDeclarator(S, D, DC, TInfo, Previous, TemplateParamLists,
6670 TypeSourceInfo *TInfo, LookupResult &Previous) {
6678 Previous.clear();
6710 NamedDecl *ND = ActOnTypedefNameDecl(S, DC, NewTD, Previous, Redeclaration);
6754 LookupResult &Previous, bool &Redeclaration) {
6757 NamedDecl *ShadowedDecl = getShadowedDeclaration(NewTD, Previous);
6761 FilterLookupForScope(Previous, DC, S, /*ConsiderLinkage*/false,
6763 filterNonConflictingPreviousTypedefDecls(*this, NewTD, Previous);
6764 if (!Previous.empty()) {
6766 MergeTypedefNameDecl(S, NewTD, Previous);
6772 CheckShadow(NewTD, ShadowedDecl, Previous);
7472 LookupResult &Previous, MultiTemplateParamsArg TemplateParamLists,
7500 if (!Previous.empty()) {
7501 NamedDecl *PrevDecl = *Previous.begin();
7746 S, D, TInfo, Previous, TemplateKWLoc, TemplateParams, SC,
8069 ? getShadowedDeclaration(NewVD, Previous)
8075 FilterLookupForScope(Previous, OriginalDC, S, shouldConsiderLinkage(NewVD),
8085 Previous.isSingleResult() && !Previous.isShadowed() &&
8086 isDeclInScope(Previous.getFoundDecl(), OriginalDC, S, false));
8089 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous));
8094 CheckMemberSpecialization(NewVD, Previous))
8098 if (!Previous.empty()) {
8099 if (Previous.isSingleResult() &&
8100 isa<FieldDecl>(Previous.getFoundDecl()) &&
8106 Previous.clear();
8119 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous));
8157 CheckShadow(NewVD, ShadowedDecl, Previous);
8197 if (D.isRedeclaration() && !Previous.empty()) {
8198 NamedDecl *Prev = Previous.getRepresentativeDecl();
8211 CompleteMemberSpecialization(NewVD, Previous);
8493 Sema &S, const T *ND, bool IsGlobal, LookupResult &Previous) {
8507 Previous.clear();
8508 Previous.addDecl(Prev);
8523 for (LookupResult::iterator I = Previous.begin(), E = Previous.end();
8576 LookupResult &Previous) {
8583 Previous.clear();
8584 Previous.addDecl(Prev);
8594 return checkGlobalOrExternCConflict(S, ND, /*IsGlobal*/true, Previous);
8600 return checkGlobalOrExternCConflict(S, ND, /*IsGlobal*/false, Previous);
8954 bool Sema::CheckVariableDeclaration(VarDecl *NewVD, LookupResult &Previous) {
8963 if (Previous.empty() &&
8964 checkForConflictWithNonVisibleExternC(*this, NewVD, Previous))
8965 Previous.setShadowed();
8967 if (!Previous.empty()) {
8968 MergeVarDecl(NewVD, Previous);
9093 Sema &SemaRef, LookupResult &Previous, FunctionDecl *NewFD,
9141 Previous.clear();
9142 Previous.setLookupName(Correction.getCorrection());
9149 Previous.addDecl(FD);
9167 NewFD->getTypeSourceInfo(), Previous, ExtraArgs.TemplateParamLists,
9177 for (LookupResult::iterator I = Previous.begin(), E = Previous.end();
9197 Previous.clear();
9198 Previous.setLookupName(Name);
9817 TypeSourceInfo *TInfo, LookupResult &Previous,
10280 FilterLookupForScope(Previous, OriginalDC, S, shouldConsiderLinkage(NewFD),
10469 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous,
10472 else if (!Previous.empty())
10476 Previous.getResultKind() != LookupResult::FoundOverloaded) &&
10576 CUDA().maybeAddHostDeviceAttrs(NewFD, Previous);
10614 NewFD, ExplicitTemplateArgs, Previous))
10618 Previous))
10622 if (CheckMemberSpecialization(NewFD, Previous))
10634 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous,
10637 else if (!Previous.empty())
10643 Previous.getResultKind() != LookupResult::FoundOverloaded) &&
10708 (!Previous.empty() && CurContext->isDependentContext()))) {
10731 *this, Previous, NewFD, ExtraArgs, false, nullptr)) {
10741 *this, Previous, NewFD, ExtraArgs, true, S)) {
10774 if (IdentifierInfo *II = Previous.getLookupName().getAsIdentifierInfo()) {
10843 if (D.isRedeclaration() && !Previous.empty()) {
10844 NamedDecl *Prev = Previous.getRepresentativeDecl();
10934 CompleteMemberSpecialization(NewFD, Previous);
11462 LookupResult &Previous) {
11550 Previous.clear();
11589 LookupResult &Previous) {
11624 AllowOverloadingOfFunction(Previous, S.Context, NewFD);
11628 for (NamedDecl *ND : Previous) {
11826 Previous.clear();
11838 LookupResult &Previous) {
11906 S, OldFD, NewFD, Redeclaration, OldDecl, Previous);
11927 OldDecl, Previous);
11957 LookupResult &Previous,
11967 !Previous.isShadowed();
11976 if (!Previous.empty()) {
11981 if (!AllowOverloadingOfFunction(Previous, Context, NewFD)) {
11982 NamedDecl *Candidate = Previous.getRepresentativeDecl();
11989 switch (CheckOverload(S, NewFD, Previous, OldDecl,
12008 checkForConflictWithNonVisibleExternC(*this, NewFD, Previous)) {
12009 if (!Previous.empty()) {
12013 OldDecl = Previous.getFoundDecl();
12028 if (CheckMultiVersionFunction(*this, NewFD, Redeclaration, OldDecl, Previous))
12115 Previous.clear();
12116 Previous.addDecl(OldDecl);
12163 assert((Previous.empty() ||
12164 llvm::any_of(Previous,
12170 auto OtherUnmarkedIter = llvm::find_if(Previous, [](const NamedDecl *ND) {
12175 if (OtherUnmarkedIter != Previous.end()) {
12274 if (Previous.empty() && NewFD->isExternC()) {
12329 CUDA().checkTargetOverload(NewFD, Previous);
15488 SkipBody->Previous = const_cast<FunctionDecl*>(Definition);
16979 bool Sema::isAcceptableTagRedeclaration(const TagDecl *Previous,
16996 TagTypeKind OldTag = Previous->getTagKind();
17021 while (IsIgnored(Previous)) {
17022 Previous = Previous->getPreviousDecl();
17023 if (!Previous)
17025 OldTag = Previous->getTagKind();
17029 if (const CXXRecordDecl *Record = dyn_cast<CXXRecordDecl>(Previous))
17047 if (Previous->getDefinition()) {
17053 for (const TagDecl *I : Previous->redecls()) {
17077 const TagDecl *PrevDef = Previous->getDefinition();
17080 const TagDecl *Redecl = PrevDef ? PrevDef : Previous;
17365 LookupResult Previous(*this, Name, NameLoc, LookupTagName, Redecl);
17397 LookupQualifiedName(Previous, DC);
17399 if (Previous.isAmbiguous())
17402 if (Previous.empty()) {
17409 if (Previous.wasNotFoundInCurrentInstantiation() &&
17436 LookupName(Previous, S);
17440 if (Previous.isAmbiguous() &&
17442 LookupResult::Filter F = Previous.makeFilter();
17465 if (!Previous.empty() && TUK == TagUseKind::Friend) {
17467 LookupResult::Filter F = Previous.makeFilter();
17484 if (Previous.isSingleResult() && FriendSawTagOutsideEnclosingNamespace) {
17485 NamedDecl *ND = Previous.getFoundDecl();
17492 if (Previous.isAmbiguous())
17516 if (Previous.isSingleResult() &&
17517 Previous.getFoundDecl()->isTemplateParameter()) {
17519 DiagnoseTemplateParameterShadow(NameLoc, Previous.getFoundDecl());
17521 Previous.clear();
17533 if (Previous.empty() && StdBadAlloc)
17534 Previous.addDecl(getStdBadAlloc());
17537 if (Previous.empty() && StdAlignValT)
17538 Previous.addDecl(getStdAlignValT());
17546 if (Name && Previous.empty() &&
17606 Previous.setRedeclarationKind(forRedeclarationInCurContext());
17607 LookupQualifiedName(Previous, SearchDC);
17609 Previous.setRedeclarationKind(forRedeclarationInCurContext());
17610 LookupName(Previous, S);
17615 if (Previous.empty() && SkipBody && SkipBody->Previous)
17616 Previous.addDecl(SkipBody->Previous);
17618 if (!Previous.empty()) {
17619 NamedDecl *PrevDecl = Previous.getFoundDecl();
17620 NamedDecl *DirectPrevDecl = Previous.getRepresentativeDecl();
17638 Previous.clear();
17639 Previous.addDecl(Tag);
17640 Previous.resolveKind();
17662 Previous.clear();
17696 Previous.clear();
17799 SkipBody->Previous = Def;
17803 SkipBody->Previous = Def;
17821 Previous.clear();
17833 Previous.clear();
17858 Previous.clear();
17872 !Previous.isForRedeclaration()) {
17913 Previous.clear();
17920 if (Previous.isSingleResult())
17921 PrevDecl = cast<TagDecl>(Previous.getFoundDecl());
18066 if (isMemberSpecialization && CheckMemberSpecialization(New, Previous))
18155 CompleteMemberSpecialization(New, Previous);
18166 return SkipBody->Previous;
18191 makeMergedDefinitionVisible(SkipBody.Previous);
18463 LookupResult Previous(*this, II, Loc, LookupMemberName,
18465 LookupName(Previous, S);
18466 switch (Previous.getResultKind()) {
18469 PrevDecl = Previous.getAsSingle<NamedDecl>();
18473 PrevDecl = Previous.getRepresentativeDecl();
18481 Previous.suppressDiagnostics();
19782 Skip.Previous = Hidden;