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

References

tools/clang/lib/Sema/SemaDecl.cpp
 2775     New->addAttr(NewAttr);
 2778   if (!Old->hasAttrs() && !New->hasAttrs())
 2785   const auto *NewConstInit = New->getAttr<ConstInitAttr>();
 2788     auto *NewVD = cast<VarDecl>(New);
 2817   checkNewAttributesAfterDef(*this, New, Old);
 2819   if (AsmLabelAttr *NewA = New->getAttr<AsmLabelAttr>()) {
 2823         Diag(New->getLocation(), diag::err_different_asm_label);
 2829       Diag(New->getLocation(), diag::err_late_asm_label_name)
 2830         << isa<FunctionDecl>(Old) << New->getAttr<AsmLabelAttr>()->getRange();
 2835   if (const auto *NewAbiTagAttr = New->getAttr<AbiTagAttr>()) {
 2853   if (New->hasAttr<SectionAttr>() && !Old->hasAttr<SectionAttr>()) {
 2854     if (auto *VD = dyn_cast<VarDecl>(New)) {
 2856         Diag(New->getLocation(), diag::warn_attribute_section_on_redeclaration);
 2863   const auto *NewCSA = New->getAttr<CodeSegAttr>();
 2865       !NewCSA->isImplicit() && isa<CXXMethodDecl>(New)) {
 2866     Diag(New->getLocation(), diag::warn_mismatched_section)
 2874   bool foundAny = New->hasAttrs();
 2878   if (!foundAny) New->setAttrs(AttrVec());
 2902     if (mergeDeclAttribute(*this, New, I, LocalAMK))
 2906   if (mergeAlignedAttrs(*this, New, Old))
 2909   if (!foundAny) New->dropAttrs();