reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
12617 if (!VD) 12621 if (VD->hasGlobalStorage() && VD->isThisDeclarationADefinition() && 12621 if (VD->hasGlobalStorage() && VD->isThisDeclarationADefinition() && 12622 !inTemplateInstantiation() && !VD->hasAttr<SectionAttr>()) { 12624 VD->addAttr(PragmaClangBSSSectionAttr::CreateImplicit( 12629 VD->addAttr(PragmaClangDataSectionAttr::CreateImplicit( 12634 VD->addAttr(PragmaClangRodataSectionAttr::CreateImplicit( 12639 VD->addAttr(PragmaClangRelroSectionAttr::CreateImplicit( 12651 checkAttributesAfterMerging(*this, *VD); 12659 if (VD->getTLSKind() && !hasDependentAlignment(VD) && 12659 if (VD->getTLSKind() && !hasDependentAlignment(VD) && 12660 !VD->isInvalidDecl()) { 12662 if (Context.getDeclAlign(VD) > MaxAlignChars) { 12663 Diag(VD->getLocation(), diag::err_tls_var_aligned_over_maximum) 12664 << (unsigned)Context.getDeclAlign(VD).getQuantity() << VD 12664 << (unsigned)Context.getDeclAlign(VD).getQuantity() << VD 12670 if (VD->isStaticLocal()) { 12671 CheckStaticLocalForDllExport(VD); 12673 if (dyn_cast_or_null<FunctionDecl>(VD->getParentFunctionOrMethod())) { 12683 if (VD->hasAttr<CUDASharedAttr>()) 12685 if (VD->getType().isConstQualified() && 12686 !(VD->hasAttr<CUDADeviceAttr>() || VD->hasAttr<CUDAConstantAttr>())) 12686 !(VD->hasAttr<CUDADeviceAttr>() || VD->hasAttr<CUDAConstantAttr>())) 12688 if (CUDADiagIfDeviceCode(VD->getLocation(), 12691 VD->setInvalidDecl(); 12702 checkAllowedCUDAInitializer(VD); 12705 const InheritableAttr *DLLAttr = getDLLAttr(VD); 12709 if (VD->isStaticDataMember() && VD->isOutOfLine() && 12709 if (VD->isStaticDataMember() && VD->isOutOfLine() && 12710 VD->isThisDeclarationADefinition()) { 12714 cast<CXXRecordDecl>(VD->getFirstDecl()->getDeclContext()); 12719 Diag(VD->getLocation(), 12725 VD->setInvalidDecl(); 12731 if (DLLAttr && VD->getTLSKind()) { 12732 auto *F = dyn_cast_or_null<FunctionDecl>(VD->getParentFunctionOrMethod()); 12734 assert(VD->isStaticLocal()); 12739 Diag(VD->getLocation(), diag::err_attribute_dll_thread_local) << VD 12739 Diag(VD->getLocation(), diag::err_attribute_dll_thread_local) << VD 12741 VD->setInvalidDecl(); 12745 if (UsedAttr *Attr = VD->getAttr<UsedAttr>()) { 12746 if (!Attr->isInherited() && !VD->isThisDeclarationADefinition()) { 12748 VD->dropAttr<UsedAttr>(); 12752 const DeclContext *DC = VD->getDeclContext(); 12755 if (DC->getRedeclContext()->isFileContext() && VD->isExternallyVisible()) 12756 AddPushedVisibilityAttribute(VD); 12759 if (VD->isFileVarDecl() && !isa<VarTemplatePartialSpecializationDecl>(VD)) 12759 if (VD->isFileVarDecl() && !isa<VarTemplatePartialSpecializationDecl>(VD)) 12760 MarkUnusedFileScopedDecl(VD); 12764 if (!VD->hasAttr<TypeTagForDatatypeAttr>() || 12765 !VD->getType()->isIntegralOrEnumerationType()) 12769 const Expr *MagicValueExpr = VD->getInit();