reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3965 if (New->isInvalidDecl()) 3968 if (!shouldLinkPossiblyHiddenDecl(Previous, New)) 3971 VarTemplateDecl *NewTemplate = New->getDescribedVarTemplate(); 3984 return New->setInvalidDecl(); 3990 if (checkUsingShadowRedecl<VarDecl>(*this, Shadow, New)) 3991 return New->setInvalidDecl(); 3995 Diag(New->getLocation(), diag::err_redefinition_different_kind) 3996 << New->getDeclName(); 3998 New->getLocation()); 3999 return New->setInvalidDecl(); 4007 return New->setInvalidDecl(); 4013 if (Old->isStaticDataMember() && !New->isOutOfLine()) { 4014 Diag(New->getLocation(), diag::err_duplicate_member) 4015 << New->getIdentifier(); 4017 New->setInvalidDecl(); 4020 mergeDeclAttributes(New, Old); 4023 if (New->hasAttr<WeakImportAttr>() && 4026 Diag(New->getLocation(), diag::warn_weak_import) << New->getDeclName(); 4026 Diag(New->getLocation(), diag::warn_weak_import) << New->getDeclName(); 4027 notePreviousDefinition(Old, New->getLocation()); 4029 New->dropAttr<WeakImportAttr>(); 4032 if (New->hasAttr<InternalLinkageAttr>() && 4034 Diag(New->getLocation(), diag::err_internal_linkage_redeclaration) 4035 << New->getDeclName(); 4036 notePreviousDefinition(Old, New->getLocation()); 4037 New->dropAttr<InternalLinkageAttr>(); 4043 MergeVarDeclTypes(New, MostRecent, 4044 mergeTypeWithPrevious(*this, New, MostRecent, Previous)); 4045 if (New->isInvalidDecl()) 4049 MergeVarDeclTypes(New, Old, mergeTypeWithPrevious(*this, New, Old, Previous)); 4049 MergeVarDeclTypes(New, Old, mergeTypeWithPrevious(*this, New, Old, Previous)); 4050 if (New->isInvalidDecl()) 4056 getNoteDiagForInvalidRedeclaration(Old, New); 4059 if (New->getStorageClass() == SC_Static && 4060 !New->isStaticDataMember() && 4063 Diag(New->getLocation(), diag::ext_static_non_static) 4064 << New->getDeclName(); 4067 Diag(New->getLocation(), diag::err_static_non_static) 4068 << New->getDeclName(); 4070 return New->setInvalidDecl(); 4082 if (New->hasExternalStorage() && Old->hasLinkage()) 4084 else if (New->getCanonicalDecl()->getStorageClass() != SC_Static && 4085 !New->isStaticDataMember() && 4087 Diag(New->getLocation(), diag::err_non_static_static) << New->getDeclName(); 4087 Diag(New->getLocation(), diag::err_non_static_static) << New->getDeclName(); 4089 return New->setInvalidDecl(); 4093 if (New->hasExternalStorage() && 4095 Diag(New->getLocation(), diag::err_extern_non_extern) << New->getDeclName(); 4095 Diag(New->getLocation(), diag::err_extern_non_extern) << New->getDeclName(); 4097 return New->setInvalidDecl(); 4099 if (Old->hasLinkage() && New->isLocalVarDeclOrParm() && 4100 !New->hasExternalStorage()) { 4101 Diag(New->getLocation(), diag::err_non_extern_extern) << New->getDeclName(); 4101 Diag(New->getLocation(), diag::err_non_extern_extern) << New->getDeclName(); 4103 return New->setInvalidDecl(); 4106 if (CheckRedeclarationModuleOwnership(New, Old)) 4113 if (!New->hasExternalStorage() && !New->isFileVarDecl() && 4113 if (!New->hasExternalStorage() && !New->isFileVarDecl() && 4116 !New->getLexicalDeclContext()->isRecord())) { 4117 Diag(New->getLocation(), diag::err_redefinition) << New->getDeclName(); 4117 Diag(New->getLocation(), diag::err_redefinition) << New->getDeclName(); 4119 return New->setInvalidDecl(); 4122 if (New->isInline() && !Old->getMostRecentDecl()->isInline()) { 4127 Diag(New->getLocation(), diag::err_inline_decl_follows_def) << New; 4127 Diag(New->getLocation(), diag::err_inline_decl_follows_def) << New; 4134 if (!Old->isInline() && New->isInline() && Old->isUsed(false) && 4135 !Old->getDefinition() && !New->isThisDeclarationADefinition()) 4139 if (New->getTLSKind() != Old->getTLSKind()) { 4141 Diag(New->getLocation(), diag::err_thread_non_thread) << New->getDeclName(); 4141 Diag(New->getLocation(), diag::err_thread_non_thread) << New->getDeclName(); 4143 } else if (!New->getTLSKind()) { 4144 Diag(New->getLocation(), diag::err_non_thread_thread) << New->getDeclName(); 4144 Diag(New->getLocation(), diag::err_non_thread_thread) << New->getDeclName(); 4151 Diag(New->getLocation(), diag::err_thread_thread_different_kind) 4152 << New->getDeclName() << (New->getTLSKind() == VarDecl::TLS_Dynamic); 4152 << New->getDeclName() << (New->getTLSKind() == VarDecl::TLS_Dynamic); 4159 New->isThisDeclarationADefinition() == VarDecl::Definition) { 4163 Diag(New->getLocation(), 4166 if (checkVarDeclRedefinition(Def, New)) 4171 if (haveIncompatibleLanguageLinkages(Old, New)) { 4172 Diag(New->getLocation(), diag::err_different_language_linkage) << New; 4172 Diag(New->getLocation(), diag::err_different_language_linkage) << New; 4174 New->setInvalidDecl(); 4180 New->setIsUsed(); 4183 New->setPreviousDecl(Old); 4186 adjustDeclContextForDeclaratorDecl(New, Old); 4189 New->setAccess(Old->getAccess()); 4191 NewTemplate->setAccess(New->getAccess()); 4194 New->setImplicitlyInline();