Lines Matching refs:PrevDecl
757 void Sema::DiagnoseTemplateParameterShadow(SourceLocation Loc, Decl *PrevDecl) { in DiagnoseTemplateParameterShadow() argument
758 assert(PrevDecl->isTemplateParameter() && "Not a template parameter"); in DiagnoseTemplateParameterShadow()
768 << cast<NamedDecl>(PrevDecl)->getDeclName(); in DiagnoseTemplateParameterShadow()
769 Diag(PrevDecl->getLocation(), diag::note_template_param_here); in DiagnoseTemplateParameterShadow()
841 NamedDecl *PrevDecl = SemaRef.LookupSingleName( in maybeDiagnoseTemplateParameterShadow() local
843 if (PrevDecl && PrevDecl->isTemplateParameter()) in maybeDiagnoseTemplateParameterShadow()
844 SemaRef.DiagnoseTemplateParameterShadow(Loc, PrevDecl); in maybeDiagnoseTemplateParameterShadow()
1342 NamedDecl *PrevDecl = nullptr; in CheckClassTemplate() local
1344 PrevDecl = (*Previous.begin())->getUnderlyingDecl(); in CheckClassTemplate()
1346 if (PrevDecl && PrevDecl->isTemplateParameter()) { in CheckClassTemplate()
1348 DiagnoseTemplateParameterShadow(NameLoc, PrevDecl); in CheckClassTemplate()
1350 PrevDecl = nullptr; in CheckClassTemplate()
1356 dyn_cast_or_null<ClassTemplateDecl>(PrevDecl); in CheckClassTemplate()
1361 if (!PrevClassTemplate && PrevDecl && isa<CXXRecordDecl>(PrevDecl) && in CheckClassTemplate()
1362 cast<CXXRecordDecl>(PrevDecl)->isInjectedClassName()) { in CheckClassTemplate()
1363 PrevDecl = cast<CXXRecordDecl>(PrevDecl->getDeclContext()); in CheckClassTemplate()
1365 = cast<CXXRecordDecl>(PrevDecl)->getDescribedClassTemplate(); in CheckClassTemplate()
1366 if (!PrevClassTemplate && isa<ClassTemplateSpecializationDecl>(PrevDecl)) { in CheckClassTemplate()
1368 = cast<ClassTemplateSpecializationDecl>(PrevDecl) in CheckClassTemplate()
1384 if (PrevDecl && in CheckClassTemplate()
1385 (OutermostContext->Equals(PrevDecl->getDeclContext()) || in CheckClassTemplate()
1386 OutermostContext->Encloses(PrevDecl->getDeclContext()))) { in CheckClassTemplate()
1387 SemanticContext = PrevDecl->getDeclContext(); in CheckClassTemplate()
1392 PrevDecl = PrevClassTemplate = nullptr; in CheckClassTemplate()
1407 PrevDecl = (*Previous.begin())->getUnderlyingDecl(); in CheckClassTemplate()
1410 } else if (PrevDecl && in CheckClassTemplate()
1413 PrevDecl = PrevClassTemplate = nullptr; in CheckClassTemplate()
1416 PrevDecl ? Previous.getRepresentativeDecl() : nullptr)) { in CheckClassTemplate()
1426 PrevDecl = PrevClassTemplate = nullptr; in CheckClassTemplate()
1506 } else if (PrevDecl) { in CheckClassTemplate()
1513 Diag(PrevDecl->getLocation(), diag::note_previous_definition); in CheckClassTemplate()
3524 NamedDecl *PrevDecl,
3797 VarTemplateSpecializationDecl *PrevDecl = nullptr; in ActOnVarTemplateSpecialization() local
3801 PrevDecl = VarTemplate->findPartialSpecialization(Converted, InsertPos); in ActOnVarTemplateSpecialization()
3803 PrevDecl = VarTemplate->findSpecialization(Converted, InsertPos); in ActOnVarTemplateSpecialization()
3809 if (CheckTemplateSpecializationScope(*this, VarTemplate, PrevDecl, in ActOnVarTemplateSpecialization()
3814 if (PrevDecl && PrevDecl->getSpecializationKind() == TSK_Undeclared) { in ActOnVarTemplateSpecialization()
3819 Specialization = PrevDecl; in ActOnVarTemplateSpecialization()
3821 PrevDecl = nullptr; in ActOnVarTemplateSpecialization()
3825 cast_or_null<VarTemplatePartialSpecializationDecl>(PrevDecl); in ActOnVarTemplateSpecialization()
3850 if (!PrevDecl) in ActOnVarTemplateSpecialization()
3860 if (PrevDecl && PrevDecl->getPointOfInstantiation().isValid()) { in ActOnVarTemplateSpecialization()
3862 for (Decl *Prev = PrevDecl; Prev; Prev = Prev->getPreviousDecl()) { in ActOnVarTemplateSpecialization()
3875 Diag(PrevDecl->getPointOfInstantiation(), in ActOnVarTemplateSpecialization()
3877 << (PrevDecl->getTemplateSpecializationKind() != in ActOnVarTemplateSpecialization()
3894 if (PrevDecl) { in ActOnVarTemplateSpecialization()
3899 PrevSpec.addDecl(PrevDecl); in ActOnVarTemplateSpecialization()
7230 NamedDecl *PrevDecl, in CheckTemplateSpecializationScope() argument
7591 ClassTemplateSpecializationDecl *PrevDecl = nullptr; in ActOnClassTemplateSpecialization() local
7595 PrevDecl = ClassTemplate->findPartialSpecialization(Converted, InsertPos); in ActOnClassTemplateSpecialization()
7597 PrevDecl = ClassTemplate->findSpecialization(Converted, InsertPos); in ActOnClassTemplateSpecialization()
7604 CheckTemplateSpecializationScope(*this, ClassTemplate, PrevDecl, in ActOnClassTemplateSpecialization()
7643 = cast_or_null<ClassTemplatePartialSpecializationDecl>(PrevDecl); in ActOnClassTemplateSpecialization()
7679 PrevDecl); in ActOnClassTemplateSpecialization()
7686 if (!PrevDecl) in ActOnClassTemplateSpecialization()
7704 if (PrevDecl && PrevDecl->getPointOfInstantiation().isValid()) { in ActOnClassTemplateSpecialization()
7706 for (Decl *Prev = PrevDecl; Prev; Prev = Prev->getPreviousDecl()) { in ActOnClassTemplateSpecialization()
7719 Diag(PrevDecl->getPointOfInstantiation(), in ActOnClassTemplateSpecialization()
7721 << (PrevDecl->getTemplateSpecializationKind() in ActOnClassTemplateSpecialization()
7871 NamedDecl *PrevDecl, in CheckSpecializationInstantiationRedecl() argument
7898 StripImplicitInstantiation(PrevDecl); in CheckSpecializationInstantiationRedecl()
7916 for (Decl *Prev = PrevDecl; Prev; Prev = Prev->getPreviousDecl()) { in CheckSpecializationInstantiationRedecl()
7923 << PrevDecl; in CheckSpecializationInstantiationRedecl()
7964 Diag(DiagLocForExplicitInstantiation(PrevDecl, PrevPointOfInstantiation), in CheckSpecializationInstantiationRedecl()
7986 << PrevDecl; in CheckSpecializationInstantiationRedecl()
7987 Diag(PrevDecl->getLocation(), in CheckSpecializationInstantiationRedecl()
8001 for (Decl *Prev = PrevDecl; Prev; Prev = Prev->getPreviousDecl()) { in CheckSpecializationInstantiationRedecl()
8021 << PrevDecl; in CheckSpecializationInstantiationRedecl()
8022 Diag(DiagLocForExplicitInstantiation(PrevDecl, PrevPointOfInstantiation), in CheckSpecializationInstantiationRedecl()
8742 ClassTemplateSpecializationDecl *PrevDecl in ActOnExplicitInstantiation() local
8746 = PrevDecl ? PrevDecl->getTemplateSpecializationKind() : TSK_Undeclared; in ActOnExplicitInstantiation()
8760 if (PrevDecl) { in ActOnExplicitInstantiation()
8762 PrevDecl, PrevDecl_TSK, in ActOnExplicitInstantiation()
8763 PrevDecl->getPointOfInstantiation(), in ActOnExplicitInstantiation()
8765 return PrevDecl; in ActOnExplicitInstantiation()
8777 Specialization = PrevDecl; in ActOnExplicitInstantiation()
8779 PrevDecl = nullptr; in ActOnExplicitInstantiation()
8798 PrevDecl); in ActOnExplicitInstantiation()
8801 if (!HasNoEffect && !PrevDecl) { in ActOnExplicitInstantiation()
8985 CXXRecordDecl *PrevDecl in ActOnExplicitInstantiation() local
8987 if (!PrevDecl && Record->getDefinition()) in ActOnExplicitInstantiation()
8988 PrevDecl = Record; in ActOnExplicitInstantiation()
8989 if (PrevDecl) { in ActOnExplicitInstantiation()
8990 MemberSpecializationInfo *MSInfo = PrevDecl->getMemberSpecializationInfo(); in ActOnExplicitInstantiation()
8994 PrevDecl, in ActOnExplicitInstantiation()
9370 FunctionDecl *PrevDecl = Specialization->getPreviousDecl(); in ActOnExplicitInstantiation() local
9371 if (!PrevDecl && Specialization->isThisDeclarationADefinition()) in ActOnExplicitInstantiation()
9372 PrevDecl = Specialization; in ActOnExplicitInstantiation()
9374 if (PrevDecl) { in ActOnExplicitInstantiation()
9377 PrevDecl, in ActOnExplicitInstantiation()
9378 PrevDecl->getTemplateSpecializationKind(), in ActOnExplicitInstantiation()
9379 PrevDecl->getPointOfInstantiation(), in ActOnExplicitInstantiation()