Lines Matching refs:VD

692         if (const auto *VD = dyn_cast<VarDecl>(DRE->getDecl())) {  in ImpCastExprToType()  local
693 if (VD->getStorageClass() == SC_Register) { in ImpCastExprToType()
762 if (const VarDecl *VD = dyn_cast<VarDecl>(D)) { in ShouldRemoveFromUnused() local
768 if (VD->isReferenced() && in ShouldRemoveFromUnused()
769 VD->mightBeUsableInConstantExpressions(SemaRef->Context)) in ShouldRemoveFromUnused()
772 if (VarTemplateDecl *Template = VD->getDescribedVarTemplate()) in ShouldRemoveFromUnused()
781 const VarDecl *DeclToCheck = VD->getDefinition(); in ShouldRemoveFromUnused()
787 DeclToCheck = VD->getMostRecentDecl(); in ShouldRemoveFromUnused()
788 if (DeclToCheck != VD) in ShouldRemoveFromUnused()
803 bool Sema::isExternalWithNoLinkageType(const ValueDecl *VD) const { in isExternalWithNoLinkageType()
807 return getLangOpts().CPlusPlus && VD->hasExternalFormalLinkage() && in isExternalWithNoLinkageType()
808 !isExternalFormalLinkage(VD->getType()->getLinkage()) && in isExternalWithNoLinkageType()
809 !isFunctionOrVarDeclExternC(VD); in isExternalWithNoLinkageType()
846 const auto *VD = cast<VarDecl>(ND); in getUndefinedButUsed() local
847 if (VD->hasDefinition() != VarDecl::DeclarationOnly) in getUndefinedButUsed()
849 if (VD->isExternallyVisible() && in getUndefinedButUsed()
850 !isExternalWithNoLinkageType(VD) && in getUndefinedButUsed()
851 !VD->getMostRecentDecl()->isInline() && in getUndefinedButUsed()
852 !VD->hasAttr<ExcludeFromExplicitInstantiationAttr>()) in getUndefinedButUsed()
857 if (VD->isKnownToBeDefined()) in getUndefinedButUsed()
877 ValueDecl *VD = cast<ValueDecl>(Undef.first); in checkUndefinedButUsed() local
880 if (S.isExternalWithNoLinkageType(VD)) { in checkUndefinedButUsed()
890 S.Diag(VD->getLocation(), isExternallyVisible(VD->getType()->getLinkage()) in checkUndefinedButUsed()
893 << isa<VarDecl>(VD) << VD; in checkUndefinedButUsed()
894 } else if (!VD->isExternallyVisible()) { in checkUndefinedButUsed()
899 if (const auto *BaseD = dyn_cast<FunctionDecl>(VD)) { in checkUndefinedButUsed()
911 S.Diag(VD->getLocation(), diag::warn_undefined_internal) in checkUndefinedButUsed()
912 << isa<VarDecl>(VD) << VD; in checkUndefinedButUsed()
913 } else if (auto *FD = dyn_cast<FunctionDecl>(VD)) { in checkUndefinedButUsed()
918 S.Diag(VD->getLocation(), diag::warn_undefined_inline) << VD; in checkUndefinedButUsed()
920 assert(cast<VarDecl>(VD)->getMostRecentDecl()->isInline() && in checkUndefinedButUsed()
922 S.Diag(VD->getLocation(), diag::err_undefined_inline_var) << VD; in checkUndefinedButUsed()
1322 VarDecl *VD = (*T)->getActingDefinition(); in ActOnEndOfTranslationUnit() local
1327 if (!VD || VD->isInvalidDecl() || !Seen.insert(VD).second) in ActOnEndOfTranslationUnit()
1331 = Context.getAsIncompleteArrayType(VD->getType())) { in ActOnEndOfTranslationUnit()
1333 Diag(VD->getLocation(), diag::warn_tentative_incomplete_array); in ActOnEndOfTranslationUnit()
1337 VD->setType(T); in ActOnEndOfTranslationUnit()
1338 } else if (RequireCompleteType(VD->getLocation(), VD->getType(), in ActOnEndOfTranslationUnit()
1340 VD->setInvalidDecl(); in ActOnEndOfTranslationUnit()
1343 CheckCompleteVariableDeclaration(VD); in ActOnEndOfTranslationUnit()
1346 if (!VD->isInvalidDecl()) in ActOnEndOfTranslationUnit()
1347 Consumer.CompleteTentativeDefinition(VD); in ActOnEndOfTranslationUnit()
1734 void checkVar(VarDecl *VD) { in checkVar() argument
1735 assert(VD->isFileVarDecl() && in checkVar()
1737 if (auto *Init = VD->getInit()) { in checkVar()
1738 auto DevTy = OMPDeclareTargetDeclAttr::getDeviceType(VD); in checkVar()
2192 static void checkEscapingByref(VarDecl *VD, Sema &S) { in checkEscapingByref() argument
2193 QualType T = VD->getType(); in checkEscapingByref()
2196 SourceLocation Loc = VD->getLocation(); in checkEscapingByref()
2198 new (S.Context) DeclRefExpr(S.Context, VD, false, T, VK_LValue, Loc); in checkEscapingByref()
2207 IE, Sema::NamedReturnInfo{VD, Sema::NamedReturnInfo::MoveEligible}, in checkEscapingByref()
2214 S.Context.setBlockVarCopyInit(VD, Init, S.canThrow(Init)); in checkEscapingByref()
2231 VarDecl *VD = BC.getVariable(); in markEscapingByrefs() local
2232 if (VD->hasAttr<BlocksAttr>()) { in markEscapingByrefs()
2237 VD->setEscapingByref(); in markEscapingByrefs()
2251 for (VarDecl *VD : FSI.ByrefBlockVars) { in markEscapingByrefs()
2253 if (!VD->isEscapingByref()) in markEscapingByrefs()
2259 if (VD->getType()->isStructureOrClassType()) in markEscapingByrefs()
2260 checkEscapingByref(VD, S); in markEscapingByrefs()