reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaTemplate.cpp
 1431     PrevDecl = (*Previous.begin())->getUnderlyingDecl();
 1433   if (PrevDecl && PrevDecl->isTemplateParameter()) {
 1433   if (PrevDecl && PrevDecl->isTemplateParameter()) {
 1435     DiagnoseTemplateParameterShadow(NameLoc, PrevDecl);
 1437     PrevDecl = nullptr;
 1443       dyn_cast_or_null<ClassTemplateDecl>(PrevDecl);
 1448   if (!PrevClassTemplate && PrevDecl && isa<CXXRecordDecl>(PrevDecl) &&
 1448   if (!PrevClassTemplate && PrevDecl && isa<CXXRecordDecl>(PrevDecl) &&
 1449       cast<CXXRecordDecl>(PrevDecl)->isInjectedClassName()) {
 1450     PrevDecl = cast<CXXRecordDecl>(PrevDecl->getDeclContext());
 1450     PrevDecl = cast<CXXRecordDecl>(PrevDecl->getDeclContext());
 1452       = cast<CXXRecordDecl>(PrevDecl)->getDescribedClassTemplate();
 1453     if (!PrevClassTemplate && isa<ClassTemplateSpecializationDecl>(PrevDecl)) {
 1455         = cast<ClassTemplateSpecializationDecl>(PrevDecl)
 1471       if (PrevDecl &&
 1472           (OutermostContext->Equals(PrevDecl->getDeclContext()) ||
 1473            OutermostContext->Encloses(PrevDecl->getDeclContext()))) {
 1474         SemanticContext = PrevDecl->getDeclContext();
 1479         PrevDecl = PrevClassTemplate = nullptr;
 1494           PrevDecl = (*Previous.begin())->getUnderlyingDecl();
 1497   } else if (PrevDecl &&
 1500     PrevDecl = PrevClassTemplate = nullptr;
 1503           PrevDecl ? Previous.getRepresentativeDecl() : nullptr)) {
 1513       PrevDecl = PrevClassTemplate = nullptr;
 1566   } else if (PrevDecl) {
 1573     Diag(PrevDecl->getLocation(), diag::note_previous_definition);