Lines Matching refs:VDecl

12982     VarDecl *VDecl;  member
12987 return VN.VDecl ? Diag << VN.VDecl : Diag << VN.Name; in operator <<()
12992 QualType Sema::deduceVarTypeFromInitializer(VarDecl *VDecl, in deduceVarTypeFromInitializer() argument
12997 bool IsInitCapture = !VDecl; in deduceVarTypeFromInitializer()
12998 assert((!VDecl || !VDecl->isInitCapture()) && in deduceVarTypeFromInitializer()
13001 VarDeclOrName VN{VDecl, Name}; in deduceVarTypeFromInitializer()
13017 assert(VDecl && "no init for init capture deduction?"); in deduceVarTypeFromInitializer()
13022 VDecl->hasExternalStorage() || in deduceVarTypeFromInitializer()
13023 VDecl->isStaticDataMember()) { in deduceVarTypeFromInitializer()
13024 Diag(VDecl->getLocation(), diag::err_auto_var_requires_init) in deduceVarTypeFromInitializer()
13025 << VDecl->getDeclName() << Type; in deduceVarTypeFromInitializer()
13039 assert(VDecl && "non-auto type for init capture deduction?"); in deduceVarTypeFromInitializer()
13040 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl); in deduceVarTypeFromInitializer()
13042 VDecl->getLocation(), DirectInit, Init); in deduceVarTypeFromInitializer()
13097 if (VDecl && isa<DecompositionDecl>(VDecl) && in deduceVarTypeFromInitializer()
13109 DiagnoseAutoDeductionFailure(VDecl, DeduceInit); in deduceVarTypeFromInitializer()
13139 bool Sema::DeduceVariableDeclarationType(VarDecl *VDecl, bool DirectInit, in DeduceVariableDeclarationType() argument
13143 VDecl, VDecl->getDeclName(), VDecl->getType(), VDecl->getTypeSourceInfo(), in DeduceVariableDeclarationType()
13144 VDecl->getSourceRange(), DirectInit, Init); in DeduceVariableDeclarationType()
13146 VDecl->setInvalidDecl(); in DeduceVariableDeclarationType()
13150 VDecl->setType(DeducedType); in DeduceVariableDeclarationType()
13151 assert(VDecl->isLinkageValid()); in DeduceVariableDeclarationType()
13154 if (getLangOpts().ObjCAutoRefCount && inferObjCARCLifetime(VDecl)) in DeduceVariableDeclarationType()
13155 VDecl->setInvalidDecl(); in DeduceVariableDeclarationType()
13158 deduceOpenCLAddressSpace(VDecl); in DeduceVariableDeclarationType()
13162 if (VarDecl *Old = VDecl->getPreviousDecl()) { in DeduceVariableDeclarationType()
13165 MergeVarDeclTypes(VDecl, Old, /*MergeTypeWithPrevious*/ false); in DeduceVariableDeclarationType()
13169 CheckVariableDeclarationType(VDecl); in DeduceVariableDeclarationType()
13170 return VDecl->isInvalidDecl(); in DeduceVariableDeclarationType()
13465 VarDecl *VDecl = dyn_cast<VarDecl>(RealDecl); in AddInitializerToDecl() local
13466 if (!VDecl) { in AddInitializerToDecl()
13477 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13482 if (VDecl->getType()->isUndeducedType()) { in AddInitializerToDecl()
13486 ExprResult Res = CorrectDelayedTyposInExpr(Init, VDecl); in AddInitializerToDecl()
13496 VDecl->setInit(Res.get()); in AddInitializerToDecl()
13501 if (DeduceVariableDeclarationType(VDecl, DirectInit, Init)) in AddInitializerToDecl()
13506 if (VDecl->hasAttr<DLLImportAttr>() && !VDecl->isStaticDataMember()) { in AddInitializerToDecl()
13507 Diag(VDecl->getLocation(), diag::err_attribute_dllimport_data_definition); in AddInitializerToDecl()
13508 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13516 if (VDecl->isLocalVarDecl() && VDecl->hasExternalStorage()) { in AddInitializerToDecl()
13517 Diag(VDecl->getLocation(), diag::err_block_extern_cant_init); in AddInitializerToDecl()
13518 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13522 if (!VDecl->getType()->isDependentType()) { in AddInitializerToDecl()
13526 QualType BaseDeclType = VDecl->getType(); in AddInitializerToDecl()
13529 if (RequireCompleteType(VDecl->getLocation(), BaseDeclType, in AddInitializerToDecl()
13536 if (RequireNonAbstractType(VDecl->getLocation(), VDecl->getType(), in AddInitializerToDecl()
13539 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13545 !VDecl->isInvalidDecl() && VDecl->isThisDeclarationADefinition() && in AddInitializerToDecl()
13546 VDecl->getFormalLinkage() == Linkage::External && !VDecl->isInline() && in AddInitializerToDecl()
13547 !VDecl->isTemplated() && !isa<VarTemplateSpecializationDecl>(VDecl)) { in AddInitializerToDecl()
13548 Diag(VDecl->getLocation(), diag::err_extern_def_in_header_unit); in AddInitializerToDecl()
13549 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13555 if (VarDecl *Def = VDecl->getDefinition()) in AddInitializerToDecl()
13556 if (Def != VDecl && in AddInitializerToDecl()
13557 (!VDecl->isStaticDataMember() || VDecl->isOutOfLine()) && in AddInitializerToDecl()
13558 !VDecl->isThisDeclarationADemotedDefinition() && in AddInitializerToDecl()
13559 checkVarDeclRedefinition(Def, VDecl)) in AddInitializerToDecl()
13575 if (VDecl->isStaticDataMember() && VDecl->getCanonicalDecl()->hasInit()) { in AddInitializerToDecl()
13577 << VDecl->getDeclName(); in AddInitializerToDecl()
13578 Diag(VDecl->getCanonicalDecl()->getInit()->getExprLoc(), in AddInitializerToDecl()
13584 if (VDecl->hasLocalStorage()) in AddInitializerToDecl()
13588 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13595 if (VDecl->getType().getAddressSpace() == LangAS::opencl_local) { in AddInitializerToDecl()
13596 Diag(VDecl->getLocation(), diag::err_local_cant_init); in AddInitializerToDecl()
13597 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13602 if (VDecl->hasAttr<LoaderUninitializedAttr>()) { in AddInitializerToDecl()
13603 Diag(VDecl->getLocation(), diag::err_loader_uninitialized_cant_init); in AddInitializerToDecl()
13604 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13610 QualType DclT = VDecl->getType(), SavT = DclT; in AddInitializerToDecl()
13618 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13627 if (!VDecl->isInvalidDecl()) { in AddInitializerToDecl()
13628 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl); in AddInitializerToDecl()
13630 VDecl->getLocation(), DirectInit, Init); in AddInitializerToDecl()
13640 Args[Idx], VDecl, /*RecoverUncorrectedTypos=*/true, in AddInitializerToDecl()
13646 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13651 if (VDecl->isInvalidDecl()) in AddInitializerToDecl()
13664 VDecl->setInit(RecoveryExpr.get()); in AddInitializerToDecl()
13672 if (isa<DecompositionDecl>(VDecl)) // Case 2) in AddInitializerToDecl()
13673 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13681 QualType VDeclType = VDecl->getType(); in AddInitializerToDecl()
13688 Diag(VDecl->getLocation(), diag::err_typecheck_decl_incomplete_type) in AddInitializerToDecl()
13690 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13700 if (!VDecl->hasLocalStorage() || VDecl->getType()->isRecordType() || in AddInitializerToDecl()
13701 VDecl->getType()->isReferenceType()) in AddInitializerToDecl()
13708 if (!VDecl->isInvalidDecl() && (DclT != SavT)) in AddInitializerToDecl()
13709 VDecl->setType(DclT); in AddInitializerToDecl()
13711 if (!VDecl->isInvalidDecl()) { in AddInitializerToDecl()
13712 checkUnsafeAssigns(VDecl->getLocation(), VDecl->getType(), Init); in AddInitializerToDecl()
13714 if (VDecl->hasAttr<BlocksAttr>()) in AddInitializerToDecl()
13715 checkRetainCycles(VDecl, Init); in AddInitializerToDecl()
13725 if ((VDecl->getType().getObjCLifetime() == Qualifiers::OCL_Strong || in AddInitializerToDecl()
13726 VDecl->getType().isNonWeakInMRRWithObjCWeak(Context)) && in AddInitializerToDecl()
13744 ActOnFinishFullExpr(Init, VDecl->getLocation(), in AddInitializerToDecl()
13745 /*DiscardedValue*/ false, VDecl->isConstexpr()); in AddInitializerToDecl()
13747 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13753 VDecl->setInit(Init); in AddInitializerToDecl()
13755 if (VDecl->isLocalVarDecl()) { in AddInitializerToDecl()
13757 if (VDecl->isInvalidDecl()) { in AddInitializerToDecl()
13762 } else if (VDecl->getType().getAddressSpace() == LangAS::opencl_constant) { in AddInitializerToDecl()
13771 } else if (VDecl->getStorageClass() == SC_Static) { in AddInitializerToDecl()
13778 } else if (!getLangOpts().C99 && VDecl->getType()->isAggregateType() && in AddInitializerToDecl()
13790 if (VDecl->hasLocalStorage()) in AddInitializerToDecl()
13792 } else if (VDecl->isStaticDataMember() && !VDecl->isInline() && in AddInitializerToDecl()
13793 VDecl->getLexicalDeclContext()->isRecord()) { in AddInitializerToDecl()
13821 } else if (VDecl->isConstexpr()) { in AddInitializerToDecl()
13825 Diag(VDecl->getLocation(), diag::err_in_class_initializer_non_const) in AddInitializerToDecl()
13827 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13836 Diag(VDecl->getLocation(), diag::err_in_class_initializer_volatile); in AddInitializerToDecl()
13854 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13862 Diag(VDecl->getLocation(), in AddInitializerToDecl()
13865 Diag(VDecl->getBeginLoc(), in AddInitializerToDecl()
13867 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr "); in AddInitializerToDecl()
13869 Diag(VDecl->getLocation(), diag::ext_in_class_initializer_float_type) in AddInitializerToDecl()
13875 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13881 Diag(VDecl->getLocation(), diag::err_in_class_initializer_literal_type) in AddInitializerToDecl()
13883 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr "); in AddInitializerToDecl()
13884 VDecl->setConstexpr(true); in AddInitializerToDecl()
13887 Diag(VDecl->getLocation(), diag::err_in_class_initializer_bad_type) in AddInitializerToDecl()
13889 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13891 } else if (VDecl->isFileVarDecl()) { in AddInitializerToDecl()
13899 if (VDecl->getStorageClass() == SC_Extern && in AddInitializerToDecl()
13900 ((!getLangOpts().CPlusPlus && !VDecl->hasAttr<SelectAnyAttr>()) || in AddInitializerToDecl()
13901 !Context.getBaseElementType(VDecl->getType()).isConstQualified()) && in AddInitializerToDecl()
13902 !(getLangOpts().CPlusPlus && VDecl->isExternC()) && in AddInitializerToDecl()
13903 !isTemplateInstantiation(VDecl->getTemplateSpecializationKind())) in AddInitializerToDecl()
13904 Diag(VDecl->getLocation(), diag::warn_extern_init); in AddInitializerToDecl()
13910 getLangOpts().CPlusPlus && VDecl->getType().isConstQualified() && in AddInitializerToDecl()
13911 VDecl->hasAttr<DLLExportAttr>() && VDecl->getDefinition()) in AddInitializerToDecl()
13912 VDecl->setStorageClass(SC_Extern); in AddInitializerToDecl()
13915 if (!getLangOpts().CPlusPlus && !VDecl->isInvalidDecl()) in AddInitializerToDecl()
13941 VDecl->setInitStyle(IsParenListInit ? VarDecl::ParenListInit in AddInitializerToDecl()
13945 VDecl->setInitStyle(VarDecl::ListInit); in AddInitializerToDecl()
13950 VDecl->isFileVarDecl()) in AddInitializerToDecl()
13951 DeclsToCheckForDeferredDiags.insert(VDecl); in AddInitializerToDecl()
13952 CheckCompleteVariableDeclaration(VDecl); in AddInitializerToDecl()