Home | History | Annotate | Download | only in Sema

Lines Matching full:prevdecl

903 /// PrevDecl with another declaration.
2576 NamedDecl *PrevDecl = R.getRepresentativeDecl()->getUnderlyingDecl();
2577 assert(PrevDecl && "Expected a non-null Decl");
2579 if (!SemaRef.isDeclInScope(PrevDecl, Owner, S))
2583 SemaRef.Diag(PrevDecl->getLocation(), diag::note_previous_declaration);
3627 NamedDecl *PrevDecl = Previous.getFoundDecl();
3632 if (S && IdResolver.ReplaceDecl(PrevDecl, ND)) {
3636 if (S->isDeclScope(PrevDecl)) {
3644 while (S && !S->isDeclScope(PrevDecl))
3649 S->RemoveDecl(PrevDecl);
3808 /// previous declaration (PrevDecl) that is not in the scope where a
3814 /// \param PrevDecl the previous declaration found by name
3820 /// \returns true if PrevDecl is an out-of-scope previous declaration
3823 isOutOfScopePreviousDeclaration(NamedDecl *PrevDecl, DeclContext *DC,
3825 if (!PrevDecl)
3828 if (!PrevDecl->hasLinkage())
3843 DeclContext *PrevOuterContext = PrevDecl->getDeclContext();
5714 // Determine whether NewFD is an overload of PrevDecl or
6976 NamedDecl *PrevDecl = R.getFoundDecl();
6977 if (PrevDecl->isTemplateParameter()) {
6979 DiagnoseTemplateParameterShadow(D.getIdentifierLoc(), PrevDecl);
6981 PrevDecl = 0;
6982 } else if (S->isDeclScope(PrevDecl)) {
6984 Diag(PrevDecl->getLocation(), diag::note_previous_declaration);
8236 NamedDecl *PrevDecl = (*Previous.begin())->getUnderlyingDecl();
8248 if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(PrevDecl)) {
8254 PrevDecl = Tag;
8263 if (TagDecl *PrevTagDecl = dyn_cast<TagDecl>(PrevDecl)) {
8268 isDeclInScope(PrevDecl, SearchDC, S, isExplicitSpecialization)) {
8383 // tag PrevDecl. We're going to create a new Decl for it.
8392 // new decl/type. We set PrevDecl to NULL so that the entities
8396 // If we get here, we're going to create a new Decl. If PrevDecl
8398 // PrevDecl. If it's NULL, we have a new definition.
8401 // Otherwise, PrevDecl is not a tag, but was found with tag
8411 if (isa<TypedefDecl>(PrevDecl)) Kind = 1;
8412 else if (isa<TypeAliasDecl>(PrevDecl)) Kind = 2;
8413 else if (isa<ClassTemplateDecl>(PrevDecl)) Kind = 3;
8415 Diag(PrevDecl->getLocation(), diag::note_declared_at);
8419 } else if (!isDeclInScope(PrevDecl, SearchDC, S,
8426 if (isa<TypedefDecl>(PrevDecl)) Kind = 1;
8427 else if (isa<TypeAliasDecl>(PrevDecl)) Kind = 2;
8428 else if (isa<ClassTemplateDecl>(PrevDecl)) Kind = 3;
8430 Diag(PrevDecl->getLocation(), diag::note_previous_decl) << PrevDecl;
8435 } else if (TypedefNameDecl *TND = dyn_cast<TypedefNameDecl>(PrevDecl)) {
8437 if (isa<TypeAliasDecl>(PrevDecl)) Kind = 1;
8440 Diag(PrevDecl->getLocation(), diag::note_previous_decl) << PrevDecl;
8448 Diag(PrevDecl->getLocation(), diag::note_previous_definition);
8461 TagDecl *PrevDecl = 0;
8463 PrevDecl = cast<TagDecl>(Previous.getFoundDecl());
8472 // PrevDecl.
8480 cast_or_null<EnumDecl>(PrevDecl), ScopedEnum,
8489 else if (PrevDecl && (Def = cast<EnumDecl>(PrevDecl)->getDefinition())) {
8526 cast_or_null<CXXRecordDecl>(PrevDecl));
8532 cast_or_null<RecordDecl>(PrevDecl));
8616 SetMemberAccessSpecifier(New, PrevDecl, AS);
8625 if (PrevDecl)
8626 New->setAccess(PrevDecl->getAccess());
8701 /*PrevDecl=*/0,
8888 NamedDecl *PrevDecl = 0;
8894 PrevDecl = Previous.getAsSingle<NamedDecl>();
8898 PrevDecl = Previous.getRepresentativeDecl();
8908 if (PrevDecl && PrevDecl->isTemplateParameter()) {
8910 DiagnoseTemplateParameterShadow(D.getIdentifierLoc(), PrevDecl);
8912 PrevDecl = 0;
8915 if (PrevDecl && !isDeclInScope(PrevDecl, Record, S))
8916 PrevDecl = 0;
8923 TSSL, AS, PrevDecl, &D);
8931 if (NewFD->isInvalidDecl() && PrevDecl) {
8945 /// record, etc. \p PrevDecl should refer to any previous declaration
8957 AccessSpecifier AS, NamedDecl *PrevDecl,
9049 if (PrevDecl && !isa<TagDecl>(PrevDecl)) {
9051 Diag(PrevDecl->getLocation(), diag::note_previous_declaration);
9417 NamedDecl *PrevDecl = LookupSingleName(S, II, Loc, LookupMemberName,
9419 if (PrevDecl && isDeclInScope(PrevDecl, EnclosingContext, S)
9420 && !isa<TagDecl>(PrevDecl)) {
9422 Diag(PrevDecl->getLocation(), diag::note_previous_declaration);
10100 NamedDecl *PrevDecl = LookupSingleName(S, Id, IdLoc, LookupOrdinaryName,
10102 if (PrevDecl && PrevDecl->isTemplateParameter()) {
10104 DiagnoseTemplateParameterShadow(IdLoc, PrevDecl);
10106 PrevDecl = 0;
10109 if (PrevDecl) {
10112 assert((getLangOpts().CPlusPlus || !isa<TagDecl>(PrevDecl)) &&
10114 if (!isa<TagDecl>(PrevDecl) && isDeclInScope(PrevDecl, CurContext, S)) {
10115 if (isa<EnumConstantDecl>(PrevDecl))
10119 Diag(PrevDecl->getLocation(), diag::note_previous_definition);
10421 Decl *PrevDecl = LookupSingleName(TUScope, Name, NameLoc,
10426 if (PrevDecl)
10427 PrevDecl->addAttr(Attr);
10436 Decl *PrevDecl = LookupSingleName(TUScope, Name, NameLoc, LookupOrdinaryName);
10438 if (PrevDecl) {
10439 PrevDecl->addAttr(::new (Context) WeakAttr(PragmaLoc, Context));
10452 Decl *PrevDecl = LookupSingleName(TUScope, AliasName, AliasNameLoc,
10456 if (PrevDecl) {
10457 if (!PrevDecl->hasAttr<AliasAttr>())
10458 if (NamedDecl *ND = dyn_cast<NamedDecl>(PrevDecl))