Lines Matching refs:VDecl

11631     VarDecl *VDecl;  member
11636 return VN.VDecl ? Diag << VN.VDecl : Diag << VN.Name; in operator <<()
11641 QualType Sema::deduceVarTypeFromInitializer(VarDecl *VDecl, in deduceVarTypeFromInitializer() argument
11646 bool IsInitCapture = !VDecl; in deduceVarTypeFromInitializer()
11647 assert((!VDecl || !VDecl->isInitCapture()) && in deduceVarTypeFromInitializer()
11650 VarDeclOrName VN{VDecl, Name}; in deduceVarTypeFromInitializer()
11657 assert(VDecl && "no init for init capture deduction?"); in deduceVarTypeFromInitializer()
11662 VDecl->hasExternalStorage() || in deduceVarTypeFromInitializer()
11663 VDecl->isStaticDataMember()) { in deduceVarTypeFromInitializer()
11664 Diag(VDecl->getLocation(), diag::err_auto_var_requires_init) in deduceVarTypeFromInitializer()
11665 << VDecl->getDeclName() << Type; in deduceVarTypeFromInitializer()
11680 assert(VDecl && "non-auto type for init capture deduction?"); in deduceVarTypeFromInitializer()
11681 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl); in deduceVarTypeFromInitializer()
11683 VDecl->getLocation(), DirectInit, Init); in deduceVarTypeFromInitializer()
11738 if (VDecl && isa<DecompositionDecl>(VDecl) && in deduceVarTypeFromInitializer()
11747 DiagnoseAutoDeductionFailure(VDecl, DeduceInit); in deduceVarTypeFromInitializer()
11777 bool Sema::DeduceVariableDeclarationType(VarDecl *VDecl, bool DirectInit, in DeduceVariableDeclarationType() argument
11781 VDecl, VDecl->getDeclName(), VDecl->getType(), VDecl->getTypeSourceInfo(), in DeduceVariableDeclarationType()
11782 VDecl->getSourceRange(), DirectInit, Init); in DeduceVariableDeclarationType()
11784 VDecl->setInvalidDecl(); in DeduceVariableDeclarationType()
11788 VDecl->setType(DeducedType); in DeduceVariableDeclarationType()
11789 assert(VDecl->isLinkageValid()); in DeduceVariableDeclarationType()
11792 if (getLangOpts().ObjCAutoRefCount && inferObjCARCLifetime(VDecl)) in DeduceVariableDeclarationType()
11793 VDecl->setInvalidDecl(); in DeduceVariableDeclarationType()
11796 deduceOpenCLAddressSpace(VDecl); in DeduceVariableDeclarationType()
11800 if (VarDecl *Old = VDecl->getPreviousDecl()) { in DeduceVariableDeclarationType()
11803 MergeVarDeclTypes(VDecl, Old, /*MergeTypeWithPrevious*/ false); in DeduceVariableDeclarationType()
11807 CheckVariableDeclarationType(VDecl); in DeduceVariableDeclarationType()
11808 return VDecl->isInvalidDecl(); in DeduceVariableDeclarationType()
12103 VarDecl *VDecl = dyn_cast<VarDecl>(RealDecl); in AddInitializerToDecl() local
12104 if (!VDecl) { in AddInitializerToDecl()
12112 if (VDecl->getType()->isUndeducedType()) { in AddInitializerToDecl()
12116 ExprResult Res = CorrectDelayedTyposInExpr(Init, VDecl); in AddInitializerToDecl()
12126 VDecl->setInit(Res.get()); in AddInitializerToDecl()
12131 if (DeduceVariableDeclarationType(VDecl, DirectInit, Init)) in AddInitializerToDecl()
12136 if (VDecl->hasAttr<DLLImportAttr>() && !VDecl->isStaticDataMember()) { in AddInitializerToDecl()
12137 Diag(VDecl->getLocation(), diag::err_attribute_dllimport_data_definition); in AddInitializerToDecl()
12138 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12142 if (VDecl->isLocalVarDecl() && VDecl->hasExternalStorage()) { in AddInitializerToDecl()
12144 Diag(VDecl->getLocation(), diag::err_block_extern_cant_init); in AddInitializerToDecl()
12145 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12149 if (!VDecl->getType()->isDependentType()) { in AddInitializerToDecl()
12153 QualType BaseDeclType = VDecl->getType(); in AddInitializerToDecl()
12156 if (RequireCompleteType(VDecl->getLocation(), BaseDeclType, in AddInitializerToDecl()
12163 if (RequireNonAbstractType(VDecl->getLocation(), VDecl->getType(), in AddInitializerToDecl()
12166 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12173 if ((Def = VDecl->getDefinition()) && Def != VDecl && in AddInitializerToDecl()
12174 (!VDecl->isStaticDataMember() || VDecl->isOutOfLine()) && in AddInitializerToDecl()
12175 !VDecl->isThisDeclarationADemotedDefinition() && in AddInitializerToDecl()
12176 checkVarDeclRedefinition(Def, VDecl)) in AddInitializerToDecl()
12192 if (VDecl->isStaticDataMember() && VDecl->getCanonicalDecl()->hasInit()) { in AddInitializerToDecl()
12194 << VDecl->getDeclName(); in AddInitializerToDecl()
12195 Diag(VDecl->getCanonicalDecl()->getInit()->getExprLoc(), in AddInitializerToDecl()
12201 if (VDecl->hasLocalStorage()) in AddInitializerToDecl()
12205 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12212 if (VDecl->getType().getAddressSpace() == LangAS::opencl_local) { in AddInitializerToDecl()
12213 Diag(VDecl->getLocation(), diag::err_local_cant_init); in AddInitializerToDecl()
12214 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12219 if (VDecl->hasAttr<LoaderUninitializedAttr>()) { in AddInitializerToDecl()
12220 Diag(VDecl->getLocation(), diag::err_loader_uninitialized_cant_init); in AddInitializerToDecl()
12221 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12227 QualType DclT = VDecl->getType(), SavT = DclT; in AddInitializerToDecl()
12235 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12243 if (!VDecl->isInvalidDecl()) { in AddInitializerToDecl()
12244 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl); in AddInitializerToDecl()
12246 VDecl->getLocation(), DirectInit, Init); in AddInitializerToDecl()
12256 Args[Idx], VDecl, /*RecoverUncorrectedTypos=*/true, in AddInitializerToDecl()
12262 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12267 if (VDecl->isInvalidDecl()) in AddInitializerToDecl()
12280 VDecl->setInit(RecoveryExpr.get()); in AddInitializerToDecl()
12292 if (!VDecl->hasLocalStorage() || VDecl->getType()->isRecordType() || in AddInitializerToDecl()
12293 VDecl->getType()->isReferenceType()) { in AddInitializerToDecl()
12302 if (!VDecl->isInvalidDecl() && (DclT != SavT)) in AddInitializerToDecl()
12303 VDecl->setType(DclT); in AddInitializerToDecl()
12305 if (!VDecl->isInvalidDecl()) { in AddInitializerToDecl()
12306 checkUnsafeAssigns(VDecl->getLocation(), VDecl->getType(), Init); in AddInitializerToDecl()
12308 if (VDecl->hasAttr<BlocksAttr>()) in AddInitializerToDecl()
12309 checkRetainCycles(VDecl, Init); in AddInitializerToDecl()
12319 if ((VDecl->getType().getObjCLifetime() == Qualifiers::OCL_Strong || in AddInitializerToDecl()
12320 VDecl->getType().isNonWeakInMRRWithObjCWeak(Context)) && in AddInitializerToDecl()
12338 ActOnFinishFullExpr(Init, VDecl->getLocation(), in AddInitializerToDecl()
12339 /*DiscardedValue*/ false, VDecl->isConstexpr()); in AddInitializerToDecl()
12341 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12347 VDecl->setInit(Init); in AddInitializerToDecl()
12349 if (VDecl->isLocalVarDecl()) { in AddInitializerToDecl()
12351 if (VDecl->isInvalidDecl()) { in AddInitializerToDecl()
12356 } else if (VDecl->getType().getAddressSpace() == LangAS::opencl_constant) { in AddInitializerToDecl()
12365 } else if (VDecl->getStorageClass() == SC_Static) { in AddInitializerToDecl()
12372 } else if (!getLangOpts().C99 && VDecl->getType()->isAggregateType() && in AddInitializerToDecl()
12384 if (VDecl->hasLocalStorage()) in AddInitializerToDecl()
12386 } else if (VDecl->isStaticDataMember() && !VDecl->isInline() && in AddInitializerToDecl()
12387 VDecl->getLexicalDeclContext()->isRecord()) { in AddInitializerToDecl()
12415 } else if (VDecl->isConstexpr()) { in AddInitializerToDecl()
12419 Diag(VDecl->getLocation(), diag::err_in_class_initializer_non_const) in AddInitializerToDecl()
12421 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12430 Diag(VDecl->getLocation(), diag::err_in_class_initializer_volatile); in AddInitializerToDecl()
12448 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12456 Diag(VDecl->getLocation(), in AddInitializerToDecl()
12459 Diag(VDecl->getBeginLoc(), in AddInitializerToDecl()
12461 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr "); in AddInitializerToDecl()
12463 Diag(VDecl->getLocation(), diag::ext_in_class_initializer_float_type) in AddInitializerToDecl()
12469 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12475 Diag(VDecl->getLocation(), diag::err_in_class_initializer_literal_type) in AddInitializerToDecl()
12477 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr "); in AddInitializerToDecl()
12478 VDecl->setConstexpr(true); in AddInitializerToDecl()
12481 Diag(VDecl->getLocation(), diag::err_in_class_initializer_bad_type) in AddInitializerToDecl()
12483 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12485 } else if (VDecl->isFileVarDecl()) { in AddInitializerToDecl()
12493 if (VDecl->getStorageClass() == SC_Extern && in AddInitializerToDecl()
12494 ((!getLangOpts().CPlusPlus && !VDecl->hasAttr<SelectAnyAttr>()) || in AddInitializerToDecl()
12495 !Context.getBaseElementType(VDecl->getType()).isConstQualified()) && in AddInitializerToDecl()
12496 !(getLangOpts().CPlusPlus && VDecl->isExternC()) && in AddInitializerToDecl()
12497 !isTemplateInstantiation(VDecl->getTemplateSpecializationKind())) in AddInitializerToDecl()
12498 Diag(VDecl->getLocation(), diag::warn_extern_init); in AddInitializerToDecl()
12504 getLangOpts().CPlusPlus && VDecl->getType().isConstQualified() && in AddInitializerToDecl()
12505 VDecl->hasAttr<DLLExportAttr>() && VDecl->getDefinition()) in AddInitializerToDecl()
12506 VDecl->setStorageClass(SC_Extern); in AddInitializerToDecl()
12509 if (!getLangOpts().CPlusPlus && !VDecl->isInvalidDecl()) in AddInitializerToDecl()
12535 VDecl->setInitStyle(VarDecl::CallInit); in AddInitializerToDecl()
12538 VDecl->setInitStyle(VarDecl::ListInit); in AddInitializerToDecl()
12541 if (LangOpts.OpenMP && VDecl->isFileVarDecl()) in AddInitializerToDecl()
12542 DeclsToCheckForDeferredDiags.insert(VDecl); in AddInitializerToDecl()
12543 CheckCompleteVariableDeclaration(VDecl); in AddInitializerToDecl()