Lines Matching defs:VDecl

11237     VarDecl *VDecl;
11242 return VN.VDecl ? Diag << VN.VDecl : Diag << VN.Name;
11247 QualType Sema::deduceVarTypeFromInitializer(VarDecl *VDecl,
11252 bool IsInitCapture = !VDecl;
11253 assert((!VDecl || !VDecl->isInitCapture()) &&
11256 VarDeclOrName VN{VDecl, Name};
11263 assert(VDecl && "no init for init capture deduction?");
11268 VDecl->hasExternalStorage() ||
11269 VDecl->isStaticDataMember()) {
11270 Diag(VDecl->getLocation(), diag::err_auto_var_requires_init)
11271 << VDecl->getDeclName() << Type;
11286 assert(VDecl && "non-auto type for init capture deduction?");
11287 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl);
11289 VDecl->getLocation(), DirectInit, Init);
11344 if (VDecl && isa<DecompositionDecl>(VDecl) &&
11353 DiagnoseAutoDeductionFailure(VDecl, DeduceInit);
11383 bool Sema::DeduceVariableDeclarationType(VarDecl *VDecl, bool DirectInit,
11386 VDecl, VDecl->getDeclName(), VDecl->getType(), VDecl->getTypeSourceInfo(),
11387 VDecl->getSourceRange(), DirectInit, Init);
11389 VDecl->setInvalidDecl();
11393 VDecl->setType(DeducedType);
11394 assert(VDecl->isLinkageValid());
11397 if (getLangOpts().ObjCAutoRefCount && inferObjCARCLifetime(VDecl))
11398 VDecl->setInvalidDecl();
11401 deduceOpenCLAddressSpace(VDecl);
11405 if (VarDecl *Old = VDecl->getPreviousDecl()) {
11408 MergeVarDeclTypes(VDecl, Old, /*MergeTypeWithPrevious*/ false);
11412 CheckVariableDeclarationType(VDecl);
11413 return VDecl->isInvalidDecl();
11705 VarDecl *VDecl = dyn_cast<VarDecl>(RealDecl);
11706 if (!VDecl) {
11714 if (VDecl->getType()->isUndeducedType()) {
11718 ExprResult Res = CorrectDelayedTyposInExpr(Init, VDecl);
11725 if (DeduceVariableDeclarationType(VDecl, DirectInit, Init))
11730 if (VDecl->hasAttr<DLLImportAttr>() && !VDecl->isStaticDataMember()) {
11731 Diag(VDecl->getLocation(), diag::err_attribute_dllimport_data_definition);
11732 VDecl->setInvalidDecl();
11736 if (VDecl->isLocalVarDecl() && VDecl->hasExternalStorage()) {
11738 Diag(VDecl->getLocation(), diag::err_block_extern_cant_init);
11739 VDecl->setInvalidDecl();
11743 if (!VDecl->getType()->isDependentType()) {
11747 QualType BaseDeclType = VDecl->getType();
11750 if (RequireCompleteType(VDecl->getLocation(), BaseDeclType,
11757 if (RequireNonAbstractType(VDecl->getLocation(), VDecl->getType(),
11760 VDecl->setInvalidDecl();
11767 if ((Def = VDecl->getDefinition()) && Def != VDecl &&
11768 (!VDecl->isStaticDataMember() || VDecl->isOutOfLine()) &&
11769 !VDecl->isThisDeclarationADemotedDefinition() &&
11770 checkVarDeclRedefinition(Def, VDecl))
11786 if (VDecl->isStaticDataMember() && VDecl->getCanonicalDecl()->hasInit()) {
11788 << VDecl->getDeclName();
11789 Diag(VDecl->getCanonicalDecl()->getInit()->getExprLoc(),
11795 if (VDecl->hasLocalStorage())
11799 VDecl->setInvalidDecl();
11806 if (VDecl->getType().getAddressSpace() == LangAS::opencl_local) {
11807 Diag(VDecl->getLocation(), diag::err_local_cant_init);
11808 VDecl->setInvalidDecl();
11814 QualType DclT = VDecl->getType(), SavT = DclT;
11822 VDecl->setInvalidDecl();
11830 if (!VDecl->isInvalidDecl()) {
11831 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl);
11833 VDecl->getLocation(), DirectInit, Init);
11843 Args[Idx], VDecl, [this, Entity, Kind](Expr *E) {
11848 VDecl->setInvalidDecl();
11853 if (VDecl->isInvalidDecl())
11861 VDecl->setInvalidDecl();
11873 if (!VDecl->hasLocalStorage() || VDecl->getType()->isRecordType() ||
11874 VDecl->getType()->isReferenceType()) {
11883 if (!VDecl->isInvalidDecl() && (DclT != SavT))
11884 VDecl->setType(DclT);
11886 if (!VDecl->isInvalidDecl()) {
11887 checkUnsafeAssigns(VDecl->getLocation(), VDecl->getType(), Init);
11889 if (VDecl->hasAttr<BlocksAttr>())
11890 checkRetainCycles(VDecl, Init);
11900 if ((VDecl->getType().getObjCLifetime() == Qualifiers::OCL_Strong ||
11901 VDecl->getType().isNonWeakInMRRWithObjCWeak(Context)) &&
11919 ActOnFinishFullExpr(Init, VDecl->getLocation(),
11920 /*DiscardedValue*/ false, VDecl->isConstexpr());
11922 VDecl->setInvalidDecl();
11928 VDecl->setInit(Init);
11930 if (VDecl->isLocalVarDecl()) {
11932 if (VDecl->isInvalidDecl()) {
11937 } else if (VDecl->getType().getAddressSpace() == LangAS::opencl_constant) {
11946 } else if (VDecl->getStorageClass() == SC_Static) {
11953 } else if (!getLangOpts().C99 && VDecl->getType()->isAggregateType() &&
11965 if (VDecl->hasLocalStorage())
11967 } else if (VDecl->isStaticDataMember() && !VDecl->isInline() &&
11968 VDecl->getLexicalDeclContext()->isRecord()) {
11996 } else if (VDecl->isConstexpr()) {
12000 Diag(VDecl->getLocation(), diag::err_in_class_initializer_non_const)
12002 VDecl->setInvalidDecl();
12011 Diag(VDecl->getLocation(), diag::err_in_class_initializer_volatile);
12029 VDecl->setInvalidDecl();
12037 Diag(VDecl->getLocation(),
12040 Diag(VDecl->getBeginLoc(),
12042 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr ");
12044 Diag(VDecl->getLocation(), diag::ext_in_class_initializer_float_type)
12050 VDecl->setInvalidDecl();
12056 Diag(VDecl->getLocation(), diag::err_in_class_initializer_literal_type)
12058 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr ");
12059 VDecl->setConstexpr(true);
12062 Diag(VDecl->getLocation(), diag::err_in_class_initializer_bad_type)
12064 VDecl->setInvalidDecl();
12066 } else if (VDecl->isFileVarDecl()) {
12074 if (VDecl->getStorageClass() == SC_Extern &&
12075 ((!getLangOpts().CPlusPlus && !VDecl->hasAttr<SelectAnyAttr>()) ||
12076 !Context.getBaseElementType(VDecl->getType()).isConstQualified()) &&
12077 !(getLangOpts().CPlusPlus && VDecl->isExternC()) &&
12078 !isTemplateInstantiation(VDecl->getTemplateSpecializationKind()))
12079 Diag(VDecl->getLocation(), diag::warn_extern_init);
12085 getLangOpts().CPlusPlus && VDecl->getType().isConstQualified() &&
12086 VDecl->hasAttr<DLLExportAttr>() && VDecl->getDefinition())
12087 VDecl->setStorageClass(SC_Extern);
12090 if (!getLangOpts().CPlusPlus && !VDecl->isInvalidDecl())
12116 VDecl->setInitStyle(VarDecl::CallInit);
12119 VDecl->setInitStyle(VarDecl::ListInit);
12122 CheckCompleteVariableDeclaration(VDecl);