Lines Matching defs:VDecl

12781     VarDecl *VDecl;
12786 return VN.VDecl ? Diag << VN.VDecl : Diag << VN.Name;
12791 QualType Sema::deduceVarTypeFromInitializer(VarDecl *VDecl,
12796 bool IsInitCapture = !VDecl;
12797 assert((!VDecl || !VDecl->isInitCapture()) &&
12800 VarDeclOrName VN{VDecl, Name};
12816 assert(VDecl && "no init for init capture deduction?");
12821 VDecl->hasExternalStorage() ||
12822 VDecl->isStaticDataMember()) {
12823 Diag(VDecl->getLocation(), diag::err_auto_var_requires_init)
12824 << VDecl->getDeclName() << Type;
12838 assert(VDecl && "non-auto type for init capture deduction?");
12839 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl);
12841 VDecl->getLocation(), DirectInit, Init);
12896 if (VDecl && isa<DecompositionDecl>(VDecl) &&
12909 DiagnoseAutoDeductionFailure(VDecl, DeduceInit);
12939 bool Sema::DeduceVariableDeclarationType(VarDecl *VDecl, bool DirectInit,
12943 VDecl, VDecl->getDeclName(), VDecl->getType(), VDecl->getTypeSourceInfo(),
12944 VDecl->getSourceRange(), DirectInit, Init);
12946 VDecl->setInvalidDecl();
12950 VDecl->setType(DeducedType);
12951 assert(VDecl->isLinkageValid());
12954 if (getLangOpts().ObjCAutoRefCount && ObjC().inferObjCARCLifetime(VDecl))
12955 VDecl->setInvalidDecl();
12958 deduceOpenCLAddressSpace(VDecl);
12962 if (VarDecl *Old = VDecl->getPreviousDecl()) {
12965 MergeVarDeclTypes(VDecl, Old, /*MergeTypeWithPrevious*/ false);
12969 CheckVariableDeclarationType(VDecl);
12970 return VDecl->isInvalidDecl();
13264 VarDecl *VDecl = dyn_cast<VarDecl>(RealDecl);
13265 if (!VDecl) {
13272 if (VDecl->isInvalidDecl()) {
13273 ExprResult Res = CorrectDelayedTyposInExpr(Init, VDecl);
13280 VDecl->setInit(E);
13288 VDecl->setInvalidDecl();
13293 if (VDecl->getType()->isUndeducedType()) {
13297 ExprResult Res = CorrectDelayedTyposInExpr(Init, VDecl);
13307 VDecl->setInit(Res.get());
13312 if (DeduceVariableDeclarationType(VDecl, DirectInit, Init))
13317 if (VDecl->hasAttr<DLLImportAttr>() && !VDecl->isStaticDataMember()) {
13318 Diag(VDecl->getLocation(), diag::err_attribute_dllimport_data_definition);
13319 VDecl->setInvalidDecl();
13327 if (VDecl->isLocalVarDecl() && VDecl->hasExternalStorage()) {
13328 Diag(VDecl->getLocation(), diag::err_block_extern_cant_init);
13329 VDecl->setInvalidDecl();
13333 if (!VDecl->getType()->isDependentType()) {
13337 QualType BaseDeclType = VDecl->getType();
13340 if (RequireCompleteType(VDecl->getLocation(), BaseDeclType,
13347 if (RequireNonAbstractType(VDecl->getLocation(), VDecl->getType(),
13350 VDecl->setInvalidDecl();
13356 !VDecl->isInvalidDecl() && VDecl->isThisDeclarationADefinition() &&
13357 VDecl->getFormalLinkage() == Linkage::External && !VDecl->isInline() &&
13358 !VDecl->isTemplated() && !isa<VarTemplateSpecializationDecl>(VDecl) &&
13359 !VDecl->getInstantiatedFromStaticDataMember()) {
13360 Diag(VDecl->getLocation(), diag::err_extern_def_in_header_unit);
13361 VDecl->setInvalidDecl();
13367 if (VarDecl *Def = VDecl->getDefinition())
13368 if (Def != VDecl &&
13369 (!VDecl->isStaticDataMember() || VDecl->isOutOfLine()) &&
13370 !VDecl->isThisDeclarationADemotedDefinition() &&
13371 checkVarDeclRedefinition(Def, VDecl))
13387 if (VDecl->isStaticDataMember() && VDecl->getCanonicalDecl()->hasInit()) {
13389 << VDecl->getDeclName();
13390 Diag(VDecl->getCanonicalDecl()->getInit()->getExprLoc(),
13396 if (VDecl->hasLocalStorage())
13400 VDecl->setInvalidDecl();
13407 if (VDecl->getType().getAddressSpace() == LangAS::opencl_local) {
13408 Diag(VDecl->getLocation(), diag::err_local_cant_init);
13409 VDecl->setInvalidDecl();
13414 if (VDecl->hasAttr<LoaderUninitializedAttr>()) {
13415 Diag(VDecl->getLocation(), diag::err_loader_uninitialized_cant_init);
13416 VDecl->setInvalidDecl();
13422 QualType DclT = VDecl->getType(), SavT = DclT;
13430 VDecl->setInvalidDecl();
13439 if (!VDecl->isInvalidDecl()) {
13440 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl);
13442 VDecl->getLocation(), DirectInit, Init);
13452 Args[Idx], VDecl, /*RecoverUncorrectedTypos=*/true,
13458 VDecl->setInvalidDecl();
13463 if (VDecl->isInvalidDecl())
13476 VDecl->setInit(RecoveryExpr.get());
13484 if (isa<DecompositionDecl>(VDecl)) // Case 2)
13485 VDecl->setInvalidDecl();
13493 QualType VDeclType = VDecl->getType();
13500 Diag(VDecl->getLocation(), diag::err_typecheck_decl_incomplete_type)
13502 VDecl->setInvalidDecl();
13512 if (!VDecl->hasLocalStorage() || VDecl->getType()->isRecordType() ||
13513 VDecl->getType()->isReferenceType())
13520 if (!VDecl->isInvalidDecl() && (DclT != SavT))
13521 VDecl->setType(DclT);
13523 if (!VDecl->isInvalidDecl()) {
13524 checkUnsafeAssigns(VDecl->getLocation(), VDecl->getType(), Init);
13526 if (VDecl->hasAttr<BlocksAttr>())
13527 ObjC().checkRetainCycles(VDecl, Init);
13537 if ((VDecl->getType().getObjCLifetime() == Qualifiers::OCL_Strong ||
13538 VDecl->getType().isNonWeakInMRRWithObjCWeak(Context)) &&
13556 ActOnFinishFullExpr(Init, VDecl->getLocation(),
13557 /*DiscardedValue*/ false, VDecl->isConstexpr());
13559 VDecl->setInvalidDecl();
13565 VDecl->setInit(Init);
13567 if (VDecl->isLocalVarDecl()) {
13569 if (VDecl->isInvalidDecl()) {
13574 } else if (VDecl->getType().getAddressSpace() == LangAS::opencl_constant) {
13583 } else if (VDecl->getStorageClass() == SC_Static) {
13590 } else if (!getLangOpts().C99 && VDecl->getType()->isAggregateType() &&
13597 if (VDecl->hasLocalStorage())
13599 } else if (VDecl->isStaticDataMember() && !VDecl->isInline() &&
13600 VDecl->getLexicalDeclContext()->isRecord()) {
13628 } else if (VDecl->isConstexpr()) {
13632 Diag(VDecl->getLocation(), diag::err_in_class_initializer_non_const)
13634 VDecl->setInvalidDecl();
13643 Diag(VDecl->getLocation(), diag::err_in_class_initializer_volatile);
13661 VDecl->setInvalidDecl();
13669 Diag(VDecl->getLocation(),
13672 Diag(VDecl->getBeginLoc(),
13674 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr ");
13676 Diag(VDecl->getLocation(), diag::ext_in_class_initializer_float_type)
13682 VDecl->setInvalidDecl();
13688 Diag(VDecl->getLocation(), diag::err_in_class_initializer_literal_type)
13690 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr ");
13691 VDecl->setConstexpr(true);
13694 Diag(VDecl->getLocation(), diag::err_in_class_initializer_bad_type)
13696 VDecl->setInvalidDecl();
13698 } else if (VDecl->isFileVarDecl()) {
13706 if (VDecl->getStorageClass() == SC_Extern &&
13707 ((!getLangOpts().CPlusPlus && !VDecl->hasAttr<SelectAnyAttr>()) ||
13708 !Context.getBaseElementType(VDecl->getType()).isConstQualified()) &&
13709 !(getLangOpts().CPlusPlus && VDecl->isExternC()) &&
13710 !isTemplateInstantiation(VDecl->getTemplateSpecializationKind()))
13711 Diag(VDecl->getLocation(), diag::warn_extern_init);
13717 getLangOpts().CPlusPlus && VDecl->getType().isConstQualified() &&
13718 VDecl->hasAttr<DLLExportAttr>() && VDecl->getDefinition())
13719 VDecl->setStorageClass(SC_Extern);
13723 if (!getLangOpts().CPlusPlus && !VDecl->isInvalidDecl() &&
13724 !VDecl->isConstexpr())
13750 VDecl->setInitStyle(IsParenListInit ? VarDecl::ParenListInit
13754 VDecl->setInitStyle(VarDecl::ListInit);
13759 VDecl->isFileVarDecl())
13760 DeclsToCheckForDeferredDiags.insert(VDecl);
13761 CheckCompleteVariableDeclaration(VDecl);