Lines Matching refs:Previous
911 static bool AllowOverloadingOfFunction(LookupResult &Previous, in AllowOverloadingOfFunction() argument
916 if (Previous.getResultKind() == LookupResult::FoundOverloaded) in AllowOverloadingOfFunction()
919 return (Previous.getResultKind() == LookupResult::Found in AllowOverloadingOfFunction()
920 && Previous.getFoundDecl()->hasAttr<OverloadableAttr>()); in AllowOverloadingOfFunction()
2229 void Sema::MergeVarDecl(VarDecl *New, LookupResult &Previous) { in MergeVarDecl() argument
2236 if (!Previous.isSingleResult() || in MergeVarDecl()
2237 !(Old = dyn_cast<VarDecl>(Previous.getFoundDecl()))) { in MergeVarDecl()
2240 Diag(Previous.getRepresentativeDecl()->getLocation(), in MergeVarDecl()
3437 LookupResult Previous(*this, NameInfo, LookupOrdinaryName, in HandleDeclarator() local
3460 Previous.clear(LookupRedeclarationWithLinkage); in HandleDeclarator()
3462 LookupName(Previous, S, /* CreateBuiltins = */ IsLinkageLookup); in HandleDeclarator()
3464 LookupQualifiedName(Previous, DC); in HandleDeclarator()
3492 RemoveUsingDecls(Previous); in HandleDeclarator()
3495 if (Previous.isSingleResult() && in HandleDeclarator()
3496 Previous.getFoundDecl()->isTemplateParameter()) { in HandleDeclarator()
3500 Previous.getFoundDecl()); in HandleDeclarator()
3503 Previous.clear(); in HandleDeclarator()
3510 if (Previous.isSingleTagDecl() && in HandleDeclarator()
3512 Previous.clear(); in HandleDeclarator()
3521 New = ActOnTypedefDeclarator(S, D, DC, TInfo, Previous); in HandleDeclarator()
3523 New = ActOnFunctionDeclarator(S, D, DC, TInfo, Previous, in HandleDeclarator()
3527 New = ActOnVariableDeclarator(S, D, DC, TInfo, Previous, in HandleDeclarator()
3617 const LookupResult &Previous, in RegisterLocallyScopedExternCDecl() argument
3624 if (!Previous.isSingleResult()) in RegisterLocallyScopedExternCDecl()
3627 NamedDecl *PrevDecl = Previous.getFoundDecl(); in RegisterLocallyScopedExternCDecl()
3690 TypeSourceInfo *TInfo, LookupResult &Previous) { in ActOnTypedefDeclarator() argument
3698 Previous.clear(); in ActOnTypedefDeclarator()
3729 NamedDecl *ND = ActOnTypedefNameDecl(S, DC, NewTD, Previous, Redeclaration); in ActOnTypedefDeclarator()
3775 LookupResult &Previous, bool &Redeclaration) { in ActOnTypedefNameDecl() argument
3778 FilterLookupForScope(Previous, DC, S, /*ConsiderLinkage*/ false, in ActOnTypedefNameDecl()
3780 if (!Previous.empty()) { in ActOnTypedefNameDecl()
3782 MergeTypedefNameDecl(NewTD, Previous); in ActOnTypedefNameDecl()
3914 TypeSourceInfo *TInfo, LookupResult &Previous, in ActOnVariableDeclarator() argument
4138 CheckShadow(S, NewVD, Previous); in ActOnVariableDeclarator()
4143 FilterLookupForScope(Previous, DC, S, NewVD->hasLinkage(), in ActOnVariableDeclarator()
4147 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous)); in ActOnVariableDeclarator()
4150 if (!Previous.empty()) { in ActOnVariableDeclarator()
4151 if (Previous.isSingleResult() && in ActOnVariableDeclarator()
4152 isa<FieldDecl>(Previous.getFoundDecl()) && in ActOnVariableDeclarator()
4158 Previous.clear(); in ActOnVariableDeclarator()
4169 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous)); in ActOnVariableDeclarator()
4173 CheckMemberSpecialization(NewVD, Previous)) in ActOnVariableDeclarator()
4180 if (Previous.isSingleResult()) { in ActOnVariableDeclarator()
4181 VarDecl *Def = dyn_cast<VarDecl>(Previous.getFoundDecl()); in ActOnVariableDeclarator()
4193 RegisterLocallyScopedExternCDecl(NewVD, Previous, S); in ActOnVariableDeclarator()
4313 LookupResult &Previous) { in CheckVariableDeclaration() argument
4390 if (Previous.empty() && NewVD->isExternC()) { in CheckVariableDeclaration()
4397 Previous.addDecl(Pos->second); in CheckVariableDeclaration()
4426 if (!Previous.empty()) { in CheckVariableDeclaration()
4427 MergeVarDecl(NewVD, Previous); in CheckVariableDeclaration()
4554 Sema &SemaRef, LookupResult &Previous, FunctionDecl *NewFD, in DiagnoseInvalidRedeclaration() argument
4598 Previous.clear(); in DiagnoseInvalidRedeclaration()
4599 Previous.setLookupName(Correction.getCorrection()); in DiagnoseInvalidRedeclaration()
4606 Previous.addDecl(FD); in DiagnoseInvalidRedeclaration()
4616 NewFD->getTypeSourceInfo(), Previous, ExtraArgs.TemplateParamLists, in DiagnoseInvalidRedeclaration()
4623 Previous.clear(); in DiagnoseInvalidRedeclaration()
4624 Previous.setLookupName(Name); in DiagnoseInvalidRedeclaration()
4627 for (LookupResult::iterator Func = Previous.begin(), in DiagnoseInvalidRedeclaration()
4628 FuncEnd = Previous.end(); in DiagnoseInvalidRedeclaration()
4877 TypeSourceInfo *TInfo, LookupResult &Previous, in ActOnFunctionDeclarator() argument
5228 FilterLookupForScope(Previous, DC, S, NewFD->hasLinkage(), in ActOnFunctionDeclarator()
5342 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous, in ActOnFunctionDeclarator()
5346 Previous.getResultKind() != LookupResult::FoundOverloaded) && in ActOnFunctionDeclarator()
5415 Previous)) in ActOnFunctionDeclarator()
5427 Previous)) in ActOnFunctionDeclarator()
5449 if (CheckMemberSpecialization(NewFD, Previous)) in ActOnFunctionDeclarator()
5463 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous, in ActOnFunctionDeclarator()
5469 Previous.getResultKind() != LookupResult::FoundOverloaded) && in ActOnFunctionDeclarator()
5550 if (NamedDecl *Result = DiagnoseInvalidRedeclaration(*this, Previous, in ActOnFunctionDeclarator()
5561 if (NamedDecl *Result = DiagnoseInvalidRedeclaration(*this, Previous, in ActOnFunctionDeclarator()
5594 if (D.isRedeclaration() && Previous.isSingleResult()) { in ActOnFunctionDeclarator()
5596 FunctionDecl *PrevFD = dyn_cast<FunctionDecl>(Previous.getFoundDecl()); in ActOnFunctionDeclarator()
5634 RegisterLocallyScopedExternCDecl(NewFD, Previous, S); in ActOnFunctionDeclarator()
5693 LookupResult &Previous, in CheckFunctionDeclaration() argument
5699 if (Previous.empty() && NewFD->isExternC()) { in CheckFunctionDeclaration()
5706 Previous.addDecl(Pos->second); in CheckFunctionDeclaration()
5713 if (!Previous.empty()) { in CheckFunctionDeclaration()
5720 if (!AllowOverloadingOfFunction(Previous, Context)) { in CheckFunctionDeclaration()
5722 OldDecl = Previous.getFoundDecl(); in CheckFunctionDeclaration()
5724 switch (CheckOverload(S, NewFD, Previous, OldDecl, in CheckFunctionDeclaration()
5747 else if (!Previous.empty()) in CheckFunctionDeclaration()
5748 OverloadedDecl = Previous.getRepresentativeDecl(); in CheckFunctionDeclaration()
5765 Previous.clear(); in CheckFunctionDeclaration()
5766 Previous.addDecl(OldDecl); in CheckFunctionDeclaration()
7859 bool Sema::isAcceptableTagRedeclaration(const TagDecl *Previous, in isAcceptableTagRedeclaration() argument
7876 TagTypeKind OldTag = Previous->getTagKind(); in isAcceptableTagRedeclaration()
7885 if (const CXXRecordDecl *Record = dyn_cast<CXXRecordDecl>(Previous)) in isAcceptableTagRedeclaration()
7899 if (Previous->getDefinition()) { in isAcceptableTagRedeclaration()
7905 for (TagDecl::redecl_iterator I(Previous->redecls_begin()), in isAcceptableTagRedeclaration()
7906 E(Previous->redecls_end()); I != E; ++I) { in isAcceptableTagRedeclaration()
7926 const TagDecl *Redecl = Previous->getDefinition() ? in isAcceptableTagRedeclaration()
7927 Previous->getDefinition() : Previous; in isAcceptableTagRedeclaration()
7938 if (Previous->getDefinition()) { in isAcceptableTagRedeclaration()
8052 LookupResult Previous(*this, Name, NameLoc, LookupTagName, Redecl); in ActOnTag() local
8085 LookupQualifiedName(Previous, DC); in ActOnTag()
8087 if (Previous.isAmbiguous()) in ActOnTag()
8090 if (Previous.empty()) { in ActOnTag()
8097 if (Previous.wasNotFoundInCurrentInstantiation() && in ActOnTag()
8116 LookupName(Previous, S); in ActOnTag()
8118 if (Previous.isAmbiguous() && in ActOnTag()
8120 LookupResult::Filter F = Previous.makeFilter(); in ActOnTag()
8130 if (Previous.isAmbiguous()) in ActOnTag()
8148 if (Previous.isSingleResult() && in ActOnTag()
8149 Previous.getFoundDecl()->isTemplateParameter()) { in ActOnTag()
8151 DiagnoseTemplateParameterShadow(NameLoc, Previous.getFoundDecl()); in ActOnTag()
8153 Previous.clear(); in ActOnTag()
8161 if (Previous.empty() && StdBadAlloc) { in ActOnTag()
8165 Previous.addDecl(getStdBadAlloc()); in ActOnTag()
8173 if (Name && Previous.empty() && in ActOnTag()
8230 Previous.setRedeclarationKind(ForRedeclaration); in ActOnTag()
8231 LookupQualifiedName(Previous, SearchDC); in ActOnTag()
8235 if (!Previous.empty()) { in ActOnTag()
8236 NamedDecl *PrevDecl = (*Previous.begin())->getUnderlyingDecl(); in ActOnTag()
8255 Previous.clear(); in ActOnTag()
8256 Previous.addDecl(Tag); in ActOnTag()
8257 Previous.resolveKind(); in ActOnTag()
8291 Previous.clear(); in ActOnTag()
8364 Previous.clear(); in ActOnTag()
8377 Previous.clear(); in ActOnTag()
8394 Previous.clear(); in ActOnTag()
8409 !Previous.isForRedeclaration()) { in ActOnTag()
8455 Previous.clear(); in ActOnTag()
8462 if (Previous.isSingleResult()) in ActOnTag()
8463 PrevDecl = cast<TagDecl>(Previous.getFoundDecl()); in ActOnTag()
8588 if (isExplicitSpecialization && CheckMemberSpecialization(New, Previous)) in ActOnTag()
8611 New->setObjectOfFriendDecl(/* PreviouslyDeclared = */ !Previous.empty() || in ActOnTag()
8889 LookupResult Previous(*this, II, Loc, LookupMemberName, ForRedeclaration); in HandleField() local
8890 LookupName(Previous, S); in HandleField()
8891 switch (Previous.getResultKind()) { in HandleField()
8894 PrevDecl = Previous.getAsSingle<NamedDecl>(); in HandleField()
8898 PrevDecl = Previous.getRepresentativeDecl(); in HandleField()
8906 Previous.suppressDiagnostics(); in HandleField()