Lines Matching refs:PrevDecl
447 void Sema::DiagnoseTemplateParameterShadow(SourceLocation Loc, Decl *PrevDecl) { in DiagnoseTemplateParameterShadow() argument
448 assert(PrevDecl->isTemplateParameter() && "Not a template parameter"); in DiagnoseTemplateParameterShadow()
458 << cast<NamedDecl>(PrevDecl)->getDeclName(); in DiagnoseTemplateParameterShadow()
459 Diag(PrevDecl->getLocation(), diag::note_template_param_here); in DiagnoseTemplateParameterShadow()
532 NamedDecl *PrevDecl = SemaRef.LookupSingleName( in maybeDiagnoseTemplateParameterShadow() local
534 if (PrevDecl && PrevDecl->isTemplateParameter()) in maybeDiagnoseTemplateParameterShadow()
535 SemaRef.DiagnoseTemplateParameterShadow(Loc, PrevDecl); in maybeDiagnoseTemplateParameterShadow()
903 NamedDecl *PrevDecl = nullptr; in CheckClassTemplate() local
905 PrevDecl = (*Previous.begin())->getUnderlyingDecl(); in CheckClassTemplate()
910 = dyn_cast_or_null<ClassTemplateDecl>(PrevDecl); in CheckClassTemplate()
915 if (!PrevClassTemplate && PrevDecl && isa<CXXRecordDecl>(PrevDecl) && in CheckClassTemplate()
916 cast<CXXRecordDecl>(PrevDecl)->isInjectedClassName()) { in CheckClassTemplate()
917 PrevDecl = cast<CXXRecordDecl>(PrevDecl->getDeclContext()); in CheckClassTemplate()
919 = cast<CXXRecordDecl>(PrevDecl)->getDescribedClassTemplate(); in CheckClassTemplate()
920 if (!PrevClassTemplate && isa<ClassTemplateSpecializationDecl>(PrevDecl)) { in CheckClassTemplate()
922 = cast<ClassTemplateSpecializationDecl>(PrevDecl) in CheckClassTemplate()
938 if (PrevDecl && in CheckClassTemplate()
939 (OutermostContext->Equals(PrevDecl->getDeclContext()) || in CheckClassTemplate()
940 OutermostContext->Encloses(PrevDecl->getDeclContext()))) { in CheckClassTemplate()
941 SemanticContext = PrevDecl->getDeclContext(); in CheckClassTemplate()
946 PrevDecl = PrevClassTemplate = nullptr; in CheckClassTemplate()
962 PrevDecl = (*Previous.begin())->getUnderlyingDecl(); in CheckClassTemplate()
965 } else if (PrevDecl && in CheckClassTemplate()
966 !isDeclInScope(PrevDecl, SemanticContext, S, SS.isValid())) in CheckClassTemplate()
967 PrevDecl = PrevClassTemplate = nullptr; in CheckClassTemplate()
1022 } else if (PrevDecl && PrevDecl->isTemplateParameter()) { in CheckClassTemplate()
1024 DiagnoseTemplateParameterShadow(NameLoc, PrevDecl); in CheckClassTemplate()
1026 PrevDecl = nullptr; in CheckClassTemplate()
1027 } else if (PrevDecl) { in CheckClassTemplate()
1034 Diag(PrevDecl->getLocation(), diag::note_previous_definition); in CheckClassTemplate()
2336 NamedDecl *PrevDecl,
2516 VarTemplateSpecializationDecl *PrevDecl = nullptr; in ActOnVarTemplateSpecialization() local
2520 PrevDecl = VarTemplate->findPartialSpecialization(Converted, InsertPos); in ActOnVarTemplateSpecialization()
2522 PrevDecl = VarTemplate->findSpecialization(Converted, InsertPos); in ActOnVarTemplateSpecialization()
2528 if (CheckTemplateSpecializationScope(*this, VarTemplate, PrevDecl, in ActOnVarTemplateSpecialization()
2533 if (PrevDecl && PrevDecl->getSpecializationKind() == TSK_Undeclared) { in ActOnVarTemplateSpecialization()
2538 Specialization = PrevDecl; in ActOnVarTemplateSpecialization()
2540 PrevDecl = nullptr; in ActOnVarTemplateSpecialization()
2544 cast_or_null<VarTemplatePartialSpecializationDecl>(PrevDecl); in ActOnVarTemplateSpecialization()
2594 if (!PrevDecl) in ActOnVarTemplateSpecialization()
2604 if (PrevDecl && PrevDecl->getPointOfInstantiation().isValid()) { in ActOnVarTemplateSpecialization()
2606 for (Decl *Prev = PrevDecl; Prev; Prev = Prev->getPreviousDecl()) { in ActOnVarTemplateSpecialization()
2619 Diag(PrevDecl->getPointOfInstantiation(), in ActOnVarTemplateSpecialization()
2621 << (PrevDecl->getTemplateSpecializationKind() != in ActOnVarTemplateSpecialization()
2638 if (PrevDecl) { in ActOnVarTemplateSpecialization()
2643 PrevSpec.addDecl(PrevDecl); in ActOnVarTemplateSpecialization()
5764 NamedDecl *PrevDecl, in CheckTemplateSpecializationScope() argument
5867 } else if ((!PrevDecl || in CheckTemplateSpecializationScope()
5868 getTemplateSpecializationKind(PrevDecl) == TSK_Undeclared || in CheckTemplateSpecializationScope()
5869 getTemplateSpecializationKind(PrevDecl) == in CheckTemplateSpecializationScope()
6206 ClassTemplateSpecializationDecl *PrevDecl = nullptr; in ActOnClassTemplateSpecialization() local
6210 PrevDecl = ClassTemplate->findPartialSpecialization(Converted, InsertPos); in ActOnClassTemplateSpecialization()
6212 PrevDecl = ClassTemplate->findSpecialization(Converted, InsertPos); in ActOnClassTemplateSpecialization()
6219 CheckTemplateSpecializationScope(*this, ClassTemplate, PrevDecl, in ActOnClassTemplateSpecialization()
6256 = cast_or_null<ClassTemplatePartialSpecializationDecl>(PrevDecl); in ActOnClassTemplateSpecialization()
6322 PrevDecl); in ActOnClassTemplateSpecialization()
6330 if (!PrevDecl) in ActOnClassTemplateSpecialization()
6342 if (PrevDecl && PrevDecl->getPointOfInstantiation().isValid()) { in ActOnClassTemplateSpecialization()
6344 for (Decl *Prev = PrevDecl; Prev; Prev = Prev->getPreviousDecl()) { in ActOnClassTemplateSpecialization()
6357 Diag(PrevDecl->getPointOfInstantiation(), in ActOnClassTemplateSpecialization()
6359 << (PrevDecl->getTemplateSpecializationKind() in ActOnClassTemplateSpecialization()
6519 NamedDecl *PrevDecl, in CheckSpecializationInstantiationRedecl() argument
6546 StripImplicitInstantiation(PrevDecl); in CheckSpecializationInstantiationRedecl()
6563 for (Decl *Prev = PrevDecl; Prev; Prev = Prev->getPreviousDecl()) { in CheckSpecializationInstantiationRedecl()
6570 << PrevDecl; in CheckSpecializationInstantiationRedecl()
6610 Diag(DiagLocForExplicitInstantiation(PrevDecl, PrevPointOfInstantiation), in CheckSpecializationInstantiationRedecl()
6637 << PrevDecl; in CheckSpecializationInstantiationRedecl()
6638 Diag(PrevDecl->getLocation(), in CheckSpecializationInstantiationRedecl()
6652 for (Decl *Prev = PrevDecl; Prev; Prev = Prev->getPreviousDecl()) { in CheckSpecializationInstantiationRedecl()
6672 << PrevDecl; in CheckSpecializationInstantiationRedecl()
6673 Diag(DiagLocForExplicitInstantiation(PrevDecl, PrevPointOfInstantiation), in CheckSpecializationInstantiationRedecl()
7237 ClassTemplateSpecializationDecl *PrevDecl in ActOnExplicitInstantiation() local
7241 = PrevDecl ? PrevDecl->getTemplateSpecializationKind() : TSK_Undeclared; in ActOnExplicitInstantiation()
7255 if (PrevDecl) { in ActOnExplicitInstantiation()
7257 PrevDecl, PrevDecl_TSK, in ActOnExplicitInstantiation()
7258 PrevDecl->getPointOfInstantiation(), in ActOnExplicitInstantiation()
7260 return PrevDecl; in ActOnExplicitInstantiation()
7272 Specialization = PrevDecl; in ActOnExplicitInstantiation()
7274 PrevDecl = nullptr; in ActOnExplicitInstantiation()
7288 PrevDecl); in ActOnExplicitInstantiation()
7291 if (!HasNoEffect && !PrevDecl) { in ActOnExplicitInstantiation()
7435 CXXRecordDecl *PrevDecl in ActOnExplicitInstantiation() local
7437 if (!PrevDecl && Record->getDefinition()) in ActOnExplicitInstantiation()
7438 PrevDecl = Record; in ActOnExplicitInstantiation()
7439 if (PrevDecl) { in ActOnExplicitInstantiation()
7440 MemberSpecializationInfo *MSInfo = PrevDecl->getMemberSpecializationInfo(); in ActOnExplicitInstantiation()
7444 PrevDecl, in ActOnExplicitInstantiation()
7795 FunctionDecl *PrevDecl = Specialization->getPreviousDecl(); in ActOnExplicitInstantiation() local
7796 if (!PrevDecl && Specialization->isThisDeclarationADefinition()) in ActOnExplicitInstantiation()
7797 PrevDecl = Specialization; in ActOnExplicitInstantiation()
7799 if (PrevDecl) { in ActOnExplicitInstantiation()
7802 PrevDecl, in ActOnExplicitInstantiation()
7803 PrevDecl->getTemplateSpecializationKind(), in ActOnExplicitInstantiation()
7804 PrevDecl->getPointOfInstantiation(), in ActOnExplicitInstantiation()