Lines Matching refs:VD

754         if (const auto *VD = dyn_cast<VarDecl>(DRE->getDecl())) {  in ImpCastExprToType()  local
755 if (VD->getStorageClass() == SC_Register) { in ImpCastExprToType()
822 if (const VarDecl *VD = dyn_cast<VarDecl>(D)) { in ShouldRemoveFromUnused() local
828 if (VD->isReferenced() && in ShouldRemoveFromUnused()
829 VD->mightBeUsableInConstantExpressions(SemaRef->Context)) in ShouldRemoveFromUnused()
832 if (VarTemplateDecl *Template = VD->getDescribedVarTemplate()) in ShouldRemoveFromUnused()
841 const VarDecl *DeclToCheck = VD->getDefinition(); in ShouldRemoveFromUnused()
847 DeclToCheck = VD->getMostRecentDecl(); in ShouldRemoveFromUnused()
848 if (DeclToCheck != VD) in ShouldRemoveFromUnused()
863 bool Sema::isExternalWithNoLinkageType(const ValueDecl *VD) const { in isExternalWithNoLinkageType()
867 return getLangOpts().CPlusPlus && VD->hasExternalFormalLinkage() && in isExternalWithNoLinkageType()
868 !isExternalFormalLinkage(VD->getType()->getLinkage()) && in isExternalWithNoLinkageType()
869 !isFunctionOrVarDeclExternC(VD); in isExternalWithNoLinkageType()
906 const auto *VD = cast<VarDecl>(ND); in getUndefinedButUsed() local
907 if (VD->hasDefinition() != VarDecl::DeclarationOnly) in getUndefinedButUsed()
909 if (VD->isExternallyVisible() && in getUndefinedButUsed()
910 !isExternalWithNoLinkageType(VD) && in getUndefinedButUsed()
911 !VD->getMostRecentDecl()->isInline() && in getUndefinedButUsed()
912 !VD->hasAttr<ExcludeFromExplicitInstantiationAttr>()) in getUndefinedButUsed()
917 if (VD->isKnownToBeDefined()) in getUndefinedButUsed()
937 ValueDecl *VD = cast<ValueDecl>(Undef.first); in checkUndefinedButUsed() local
940 if (S.isExternalWithNoLinkageType(VD)) { in checkUndefinedButUsed()
950 S.Diag(VD->getLocation(), isExternallyVisible(VD->getType()->getLinkage()) in checkUndefinedButUsed()
953 << isa<VarDecl>(VD) << VD; in checkUndefinedButUsed()
954 } else if (!VD->isExternallyVisible()) { in checkUndefinedButUsed()
959 if (const auto *BaseD = dyn_cast<FunctionDecl>(VD)) { in checkUndefinedButUsed()
971 S.Diag(VD->getLocation(), diag::warn_undefined_internal) in checkUndefinedButUsed()
972 << isa<VarDecl>(VD) << VD; in checkUndefinedButUsed()
973 } else if (auto *FD = dyn_cast<FunctionDecl>(VD)) { in checkUndefinedButUsed()
978 S.Diag(VD->getLocation(), diag::warn_undefined_inline) << VD; in checkUndefinedButUsed()
980 assert(cast<VarDecl>(VD)->getMostRecentDecl()->isInline() && in checkUndefinedButUsed()
982 S.Diag(VD->getLocation(), diag::err_undefined_inline_var) << VD; in checkUndefinedButUsed()
1363 VarDecl *VD = (*T)->getActingDefinition(); in ActOnEndOfTranslationUnit() local
1368 if (!VD || VD->isInvalidDecl() || !Seen.insert(VD).second) in ActOnEndOfTranslationUnit()
1372 = Context.getAsIncompleteArrayType(VD->getType())) { in ActOnEndOfTranslationUnit()
1374 Diag(VD->getLocation(), diag::warn_tentative_incomplete_array); in ActOnEndOfTranslationUnit()
1378 VD->setType(T); in ActOnEndOfTranslationUnit()
1379 } else if (RequireCompleteType(VD->getLocation(), VD->getType(), in ActOnEndOfTranslationUnit()
1381 VD->setInvalidDecl(); in ActOnEndOfTranslationUnit()
1384 CheckCompleteVariableDeclaration(VD); in ActOnEndOfTranslationUnit()
1387 if (!VD->isInvalidDecl()) in ActOnEndOfTranslationUnit()
1388 Consumer.CompleteTentativeDefinition(VD); in ActOnEndOfTranslationUnit()
1775 void checkVar(VarDecl *VD) { in checkVar() argument
1776 assert(VD->isFileVarDecl() && in checkVar()
1778 if (auto *Init = VD->getInit()) { in checkVar()
1779 auto DevTy = OMPDeclareTargetDeclAttr::getDeviceType(VD); in checkVar()
2203 static void checkEscapingByref(VarDecl *VD, Sema &S) { in checkEscapingByref() argument
2204 QualType T = VD->getType(); in checkEscapingByref()
2207 SourceLocation Loc = VD->getLocation(); in checkEscapingByref()
2209 new (S.Context) DeclRefExpr(S.Context, VD, false, T, VK_LValue, Loc); in checkEscapingByref()
2218 IE, Sema::NamedReturnInfo{VD, Sema::NamedReturnInfo::MoveEligible}, in checkEscapingByref()
2225 S.Context.setBlockVarCopyInit(VD, Init, S.canThrow(Init)); in checkEscapingByref()
2242 VarDecl *VD = BC.getVariable(); in markEscapingByrefs() local
2243 if (VD->hasAttr<BlocksAttr>()) { in markEscapingByrefs()
2248 VD->setEscapingByref(); in markEscapingByrefs()
2262 for (VarDecl *VD : FSI.ByrefBlockVars) { in markEscapingByrefs()
2264 if (!VD->isEscapingByref()) in markEscapingByrefs()
2270 if (VD->getType()->isStructureOrClassType()) in markEscapingByrefs()
2271 checkEscapingByref(VD, S); in markEscapingByrefs()