Lines Matching refs:VD
430 static bool SuggestInitializationFixit(Sema &S, const VarDecl *VD) {
431 QualType VariableTy = VD->getType().getCanonicalType();
433 !VD->hasAttr<BlocksAttr>()) {
434 S.Diag(VD->getLocation(), diag::note_block_var_fixit_add_initialization) << VD->getDeclName()
435 << FixItHint::CreateInsertion(VD->getLocation(), "__block ");
440 if (VD->getInit())
449 if (VD->getLocEnd().isMacroID())
452 SourceLocation Loc = S.PP.getLocForEndOfToken(VD->getLocEnd());
454 S.Diag(Loc, diag::note_var_fixit_add_initialization) << VD->getDeclName()
488 static void DiagUninitUse(Sema &S, const VarDecl *VD, const UninitUse &Use,
606 << VD->getDeclName() << IsCapturedByBlock << DiagKind
621 << VD->getDeclName() << IsCapturedByBlock
630 static bool DiagnoseUninitializedUse(Sema &S, const VarDecl *VD,
646 if (const Expr *Initializer = VD->getInit()) {
655 << VD->getDeclName() << VD->getLocation() << DRE->getSourceRange();
660 DiagUninitUse(S, VD, Use, false);
663 if (VD->getType()->isBlockPointerType() && !VD->hasAttr<BlocksAttr>())
666 << VD->getDeclName();
668 DiagUninitUse(S, VD, Use, true);
674 if (!SuggestInitializationFixit(S, VD))
675 S.Diag(VD->getLocStart(), diag::note_uninit_var_def)
676 << VD->getDeclName();