Lines Matching refs:Previous
1029 static bool AllowOverloadingOfFunction(LookupResult &Previous, in AllowOverloadingOfFunction() argument
1034 if (Previous.getResultKind() == LookupResult::FoundOverloaded) in AllowOverloadingOfFunction()
1037 return (Previous.getResultKind() == LookupResult::Found in AllowOverloadingOfFunction()
1038 && Previous.getFoundDecl()->hasAttr<OverloadableAttr>()); in AllowOverloadingOfFunction()
2894 void Sema::MergeVarDecl(VarDecl *New, LookupResult &Previous, in MergeVarDecl() argument
2902 if (!Previous.isSingleResult() || in MergeVarDecl()
2903 !(Old = dyn_cast<VarDecl>(Previous.getFoundDecl()))) { in MergeVarDecl()
2906 Diag(Previous.getRepresentativeDecl()->getLocation(), in MergeVarDecl()
4166 LookupResult Previous(*this, NameInfo, LookupOrdinaryName, in HandleDeclarator() local
4189 Previous.clear(LookupRedeclarationWithLinkage); in HandleDeclarator()
4191 LookupName(Previous, S, /* CreateBuiltins = */ IsLinkageLookup); in HandleDeclarator()
4193 LookupQualifiedName(Previous, DC); in HandleDeclarator()
4221 RemoveUsingDecls(Previous); in HandleDeclarator()
4224 if (Previous.isSingleResult() && in HandleDeclarator()
4225 Previous.getFoundDecl()->isTemplateParameter()) { in HandleDeclarator()
4229 Previous.getFoundDecl()); in HandleDeclarator()
4232 Previous.clear(); in HandleDeclarator()
4239 if (Previous.isSingleTagDecl() && in HandleDeclarator()
4241 Previous.clear(); in HandleDeclarator()
4257 New = ActOnTypedefDeclarator(S, D, DC, TInfo, Previous); in HandleDeclarator()
4259 New = ActOnFunctionDeclarator(S, D, DC, TInfo, Previous, in HandleDeclarator()
4263 New = ActOnVariableDeclarator(S, D, DC, TInfo, Previous, TemplateParamLists, in HandleDeclarator()
4454 TypeSourceInfo *TInfo, LookupResult &Previous) { in ActOnTypedefDeclarator() argument
4462 Previous.clear(); in ActOnTypedefDeclarator()
4486 NamedDecl *ND = ActOnTypedefNameDecl(S, DC, NewTD, Previous, Redeclaration); in ActOnTypedefDeclarator()
4534 LookupResult &Previous, bool &Redeclaration) { in ActOnTypedefNameDecl() argument
4537 FilterLookupForScope(Previous, DC, S, /*ConsiderLinkage*/ false, in ActOnTypedefNameDecl()
4539 filterNonConflictingPreviousDecls(Context, NewTD, Previous); in ActOnTypedefNameDecl()
4540 if (!Previous.empty()) { in ActOnTypedefNameDecl()
4542 MergeTypedefNameDecl(NewTD, Previous); in ActOnTypedefNameDecl()
4790 TypeSourceInfo *TInfo, LookupResult &Previous, in ActOnVariableDeclarator() argument
4950 if (Previous.begin() != Previous.end()) in ActOnVariableDeclarator()
4951 PrevDecl = (*Previous.begin())->getUnderlyingDecl(); in ActOnVariableDeclarator()
5231 CheckShadow(S, NewVD, Previous); in ActOnVariableDeclarator()
5237 Previous, DC, S, shouldConsiderLinkage(NewVD), in ActOnVariableDeclarator()
5241 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous)); in ActOnVariableDeclarator()
5244 if (!Previous.empty()) { in ActOnVariableDeclarator()
5245 if (Previous.isSingleResult() && in ActOnVariableDeclarator()
5246 isa<FieldDecl>(Previous.getFoundDecl()) && in ActOnVariableDeclarator()
5252 Previous.clear(); in ActOnVariableDeclarator()
5270 D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous)); in ActOnVariableDeclarator()
5276 CheckMemberSpecialization(NewVD, Previous)) in ActOnVariableDeclarator()
5438 Sema &S, const T *ND, bool IsGlobal, LookupResult &Previous) { in checkGlobalOrExternCConflict() argument
5452 Previous.clear(); in checkGlobalOrExternCConflict()
5453 Previous.addDecl(Prev); in checkGlobalOrExternCConflict()
5468 for (LookupResult::iterator I = Previous.begin(), E = Previous.end(); in checkGlobalOrExternCConflict()
5521 LookupResult &Previous) { in checkForConflictWithNonVisibleExternC() argument
5532 Previous.clear(); in checkForConflictWithNonVisibleExternC()
5533 Previous.addDecl(Prev); in checkForConflictWithNonVisibleExternC()
5543 return checkGlobalOrExternCConflict(S, ND, /*IsGlobal*/true, Previous); in checkForConflictWithNonVisibleExternC()
5549 return checkGlobalOrExternCConflict(S, ND, /*IsGlobal*/false, Previous); in checkForConflictWithNonVisibleExternC()
5703 LookupResult &Previous) { in CheckVariableDeclaration() argument
5736 Previous.empty() && in CheckVariableDeclaration()
5737 checkForConflictWithNonVisibleExternC(*this, NewVD, Previous); in CheckVariableDeclaration()
5740 filterNonConflictingPreviousDecls(Context, NewVD, Previous); in CheckVariableDeclaration()
5742 if (!Previous.empty()) { in CheckVariableDeclaration()
5743 MergeVarDecl(NewVD, Previous, PreviousWasHidden); in CheckVariableDeclaration()
5918 Sema &SemaRef, LookupResult &Previous, FunctionDecl *NewFD, in DiagnoseInvalidRedeclaration() argument
5963 Previous.clear(); in DiagnoseInvalidRedeclaration()
5964 Previous.setLookupName(Correction.getCorrection()); in DiagnoseInvalidRedeclaration()
5971 Previous.addDecl(FD); in DiagnoseInvalidRedeclaration()
5981 NewFD->getTypeSourceInfo(), Previous, ExtraArgs.TemplateParamLists, in DiagnoseInvalidRedeclaration()
5988 Previous.clear(); in DiagnoseInvalidRedeclaration()
5989 Previous.setLookupName(Name); in DiagnoseInvalidRedeclaration()
5992 for (LookupResult::iterator Func = Previous.begin(), in DiagnoseInvalidRedeclaration()
5993 FuncEnd = Previous.end(); in DiagnoseInvalidRedeclaration()
6427 TypeSourceInfo *TInfo, LookupResult &Previous, in ActOnFunctionDeclarator() argument
6736 FilterLookupForScope(Previous, DC, S, shouldConsiderLinkage(NewFD), in ActOnFunctionDeclarator()
6858 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous, in ActOnFunctionDeclarator()
6861 else if (!Previous.empty()) in ActOnFunctionDeclarator()
6864 Previous.getResultKind() != LookupResult::FoundOverloaded) && in ActOnFunctionDeclarator()
6931 Previous)) in ActOnFunctionDeclarator()
6943 Previous)) in ActOnFunctionDeclarator()
6967 if (CheckMemberSpecialization(NewFD, Previous)) in ActOnFunctionDeclarator()
6982 D.setRedeclaration(CheckFunctionDeclaration(S, NewFD, Previous, in ActOnFunctionDeclarator()
6987 Previous.getResultKind() != LookupResult::FoundOverloaded) && in ActOnFunctionDeclarator()
7066 if (NamedDecl *Result = DiagnoseInvalidRedeclaration(*this, Previous, in ActOnFunctionDeclarator()
7077 if (NamedDecl *Result = DiagnoseInvalidRedeclaration(*this, Previous, in ActOnFunctionDeclarator()
7217 LookupResult &Previous, in CheckFunctionDeclaration() argument
7223 filterNonConflictingPreviousDecls(Context, NewFD, Previous); in CheckFunctionDeclaration()
7230 if (!Previous.empty()) { in CheckFunctionDeclaration()
7235 if (!AllowOverloadingOfFunction(Previous, Context)) { in CheckFunctionDeclaration()
7236 NamedDecl *Candidate = Previous.getFoundDecl(); in CheckFunctionDeclaration()
7242 switch (CheckOverload(S, NewFD, Previous, OldDecl, in CheckFunctionDeclaration()
7265 else if (!Previous.empty()) in CheckFunctionDeclaration()
7266 OverloadedDecl = Previous.getRepresentativeDecl(); in CheckFunctionDeclaration()
7278 checkForConflictWithNonVisibleExternC(*this, NewFD, Previous)) { in CheckFunctionDeclaration()
7279 filterNonConflictingPreviousDecls(Context, NewFD, Previous); in CheckFunctionDeclaration()
7280 if (!Previous.empty()) { in CheckFunctionDeclaration()
7284 OldDecl = Previous.getFoundDecl(); in CheckFunctionDeclaration()
7291 Diag(Previous.getFoundDecl()->getLocation(), in CheckFunctionDeclaration()
7351 Previous.clear(); in CheckFunctionDeclaration()
7352 Previous.addDecl(OldDecl); in CheckFunctionDeclaration()
7484 if (NewFD->isExternC() && Previous.empty()) { in CheckFunctionDeclaration()
9937 bool Sema::isAcceptableTagRedeclaration(const TagDecl *Previous, in isAcceptableTagRedeclaration() argument
9954 TagTypeKind OldTag = Previous->getTagKind(); in isAcceptableTagRedeclaration()
9962 if (const CXXRecordDecl *Record = dyn_cast<CXXRecordDecl>(Previous)) in isAcceptableTagRedeclaration()
9977 if (Previous->getDefinition()) { in isAcceptableTagRedeclaration()
9983 for (TagDecl::redecl_iterator I(Previous->redecls_begin()), in isAcceptableTagRedeclaration()
9984 E(Previous->redecls_end()); I != E; ++I) { in isAcceptableTagRedeclaration()
10004 const TagDecl *Redecl = Previous->getDefinition() ? in isAcceptableTagRedeclaration()
10005 Previous->getDefinition() : Previous; in isAcceptableTagRedeclaration()
10016 if (Previous->getDefinition()) { in isAcceptableTagRedeclaration()
10132 LookupResult Previous(*this, Name, NameLoc, LookupTagName, Redecl); in ActOnTag() local
10165 LookupQualifiedName(Previous, DC); in ActOnTag()
10167 if (Previous.isAmbiguous()) in ActOnTag()
10170 if (Previous.empty()) { in ActOnTag()
10177 if (Previous.wasNotFoundInCurrentInstantiation() && in ActOnTag()
10196 LookupName(Previous, S); in ActOnTag()
10200 if (Previous.isAmbiguous() && in ActOnTag()
10202 LookupResult::Filter F = Previous.makeFilter(); in ActOnTag()
10220 if (!Previous.empty() && TUK == TUK_Friend) { in ActOnTag()
10222 LookupResult::Filter F = Previous.makeFilter(); in ActOnTag()
10236 if (Previous.isAmbiguous()) in ActOnTag()
10254 if (Previous.isSingleResult() && in ActOnTag()
10255 Previous.getFoundDecl()->isTemplateParameter()) { in ActOnTag()
10257 DiagnoseTemplateParameterShadow(NameLoc, Previous.getFoundDecl()); in ActOnTag()
10259 Previous.clear(); in ActOnTag()
10267 if (Previous.empty() && StdBadAlloc) { in ActOnTag()
10271 Previous.addDecl(getStdBadAlloc()); in ActOnTag()
10279 if (Name && Previous.empty() && in ActOnTag()
10336 Previous.setRedeclarationKind(ForRedeclaration); in ActOnTag()
10337 LookupQualifiedName(Previous, SearchDC); in ActOnTag()
10341 if (!Previous.empty()) { in ActOnTag()
10342 NamedDecl *PrevDecl = (*Previous.begin())->getUnderlyingDecl(); in ActOnTag()
10361 Previous.clear(); in ActOnTag()
10362 Previous.addDecl(Tag); in ActOnTag()
10363 Previous.resolveKind(); in ActOnTag()
10397 Previous.clear(); in ActOnTag()
10480 Previous.clear(); in ActOnTag()
10493 Previous.clear(); in ActOnTag()
10510 Previous.clear(); in ActOnTag()
10525 !Previous.isForRedeclaration()) { in ActOnTag()
10571 Previous.clear(); in ActOnTag()
10578 if (Previous.isSingleResult()) in ActOnTag()
10579 PrevDecl = cast<TagDecl>(Previous.getFoundDecl()); in ActOnTag()
10706 if (isExplicitSpecialization && CheckMemberSpecialization(New, Previous)) in ActOnTag()
11040 LookupResult Previous(*this, II, Loc, LookupMemberName, ForRedeclaration); in HandleField() local
11041 LookupName(Previous, S); in HandleField()
11042 switch (Previous.getResultKind()) { in HandleField()
11045 PrevDecl = Previous.getAsSingle<NamedDecl>(); in HandleField()
11049 PrevDecl = Previous.getRepresentativeDecl(); in HandleField()
11057 Previous.suppressDiagnostics(); in HandleField()