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

References

tools/clang/lib/Sema/SemaDecl.cpp
 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();