Lines Matching refs:VDecl
11690 VarDecl *VDecl; member
11695 return VN.VDecl ? Diag << VN.VDecl : Diag << VN.Name; in operator <<()
11700 QualType Sema::deduceVarTypeFromInitializer(VarDecl *VDecl, in deduceVarTypeFromInitializer() argument
11705 bool IsInitCapture = !VDecl; in deduceVarTypeFromInitializer()
11706 assert((!VDecl || !VDecl->isInitCapture()) && in deduceVarTypeFromInitializer()
11709 VarDeclOrName VN{VDecl, Name}; in deduceVarTypeFromInitializer()
11716 assert(VDecl && "no init for init capture deduction?"); in deduceVarTypeFromInitializer()
11721 VDecl->hasExternalStorage() || in deduceVarTypeFromInitializer()
11722 VDecl->isStaticDataMember()) { in deduceVarTypeFromInitializer()
11723 Diag(VDecl->getLocation(), diag::err_auto_var_requires_init) in deduceVarTypeFromInitializer()
11724 << VDecl->getDeclName() << Type; in deduceVarTypeFromInitializer()
11739 assert(VDecl && "non-auto type for init capture deduction?"); in deduceVarTypeFromInitializer()
11740 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl); in deduceVarTypeFromInitializer()
11742 VDecl->getLocation(), DirectInit, Init); in deduceVarTypeFromInitializer()
11797 if (VDecl && isa<DecompositionDecl>(VDecl) && in deduceVarTypeFromInitializer()
11806 DiagnoseAutoDeductionFailure(VDecl, DeduceInit); in deduceVarTypeFromInitializer()
11836 bool Sema::DeduceVariableDeclarationType(VarDecl *VDecl, bool DirectInit, in DeduceVariableDeclarationType() argument
11840 VDecl, VDecl->getDeclName(), VDecl->getType(), VDecl->getTypeSourceInfo(), in DeduceVariableDeclarationType()
11841 VDecl->getSourceRange(), DirectInit, Init); in DeduceVariableDeclarationType()
11843 VDecl->setInvalidDecl(); in DeduceVariableDeclarationType()
11847 VDecl->setType(DeducedType); in DeduceVariableDeclarationType()
11848 assert(VDecl->isLinkageValid()); in DeduceVariableDeclarationType()
11851 if (getLangOpts().ObjCAutoRefCount && inferObjCARCLifetime(VDecl)) in DeduceVariableDeclarationType()
11852 VDecl->setInvalidDecl(); in DeduceVariableDeclarationType()
11855 deduceOpenCLAddressSpace(VDecl); in DeduceVariableDeclarationType()
11859 if (VarDecl *Old = VDecl->getPreviousDecl()) { in DeduceVariableDeclarationType()
11862 MergeVarDeclTypes(VDecl, Old, /*MergeTypeWithPrevious*/ false); in DeduceVariableDeclarationType()
11866 CheckVariableDeclarationType(VDecl); in DeduceVariableDeclarationType()
11867 return VDecl->isInvalidDecl(); in DeduceVariableDeclarationType()
12162 VarDecl *VDecl = dyn_cast<VarDecl>(RealDecl); in AddInitializerToDecl() local
12163 if (!VDecl) { in AddInitializerToDecl()
12171 if (VDecl->getType()->isUndeducedType()) { in AddInitializerToDecl()
12175 ExprResult Res = CorrectDelayedTyposInExpr(Init, VDecl); in AddInitializerToDecl()
12185 VDecl->setInit(Res.get()); in AddInitializerToDecl()
12190 if (DeduceVariableDeclarationType(VDecl, DirectInit, Init)) in AddInitializerToDecl()
12195 if (VDecl->hasAttr<DLLImportAttr>() && !VDecl->isStaticDataMember()) { in AddInitializerToDecl()
12196 Diag(VDecl->getLocation(), diag::err_attribute_dllimport_data_definition); in AddInitializerToDecl()
12197 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12201 if (VDecl->isLocalVarDecl() && VDecl->hasExternalStorage()) { in AddInitializerToDecl()
12203 Diag(VDecl->getLocation(), diag::err_block_extern_cant_init); in AddInitializerToDecl()
12204 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12208 if (!VDecl->getType()->isDependentType()) { in AddInitializerToDecl()
12212 QualType BaseDeclType = VDecl->getType(); in AddInitializerToDecl()
12215 if (RequireCompleteType(VDecl->getLocation(), BaseDeclType, in AddInitializerToDecl()
12222 if (RequireNonAbstractType(VDecl->getLocation(), VDecl->getType(), in AddInitializerToDecl()
12225 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12231 if (VarDecl *Def = VDecl->getDefinition()) in AddInitializerToDecl()
12232 if (Def != VDecl && in AddInitializerToDecl()
12233 (!VDecl->isStaticDataMember() || VDecl->isOutOfLine()) && in AddInitializerToDecl()
12234 !VDecl->isThisDeclarationADemotedDefinition() && in AddInitializerToDecl()
12235 checkVarDeclRedefinition(Def, VDecl)) in AddInitializerToDecl()
12251 if (VDecl->isStaticDataMember() && VDecl->getCanonicalDecl()->hasInit()) { in AddInitializerToDecl()
12253 << VDecl->getDeclName(); in AddInitializerToDecl()
12254 Diag(VDecl->getCanonicalDecl()->getInit()->getExprLoc(), in AddInitializerToDecl()
12260 if (VDecl->hasLocalStorage()) in AddInitializerToDecl()
12264 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12271 if (VDecl->getType().getAddressSpace() == LangAS::opencl_local) { in AddInitializerToDecl()
12272 Diag(VDecl->getLocation(), diag::err_local_cant_init); in AddInitializerToDecl()
12273 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12278 if (VDecl->hasAttr<LoaderUninitializedAttr>()) { in AddInitializerToDecl()
12279 Diag(VDecl->getLocation(), diag::err_loader_uninitialized_cant_init); in AddInitializerToDecl()
12280 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12286 QualType DclT = VDecl->getType(), SavT = DclT; in AddInitializerToDecl()
12294 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12302 if (!VDecl->isInvalidDecl()) { in AddInitializerToDecl()
12303 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl); in AddInitializerToDecl()
12305 VDecl->getLocation(), DirectInit, Init); in AddInitializerToDecl()
12315 Args[Idx], VDecl, /*RecoverUncorrectedTypos=*/true, in AddInitializerToDecl()
12321 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12326 if (VDecl->isInvalidDecl()) in AddInitializerToDecl()
12339 VDecl->setInit(RecoveryExpr.get()); in AddInitializerToDecl()
12351 if (!VDecl->hasLocalStorage() || VDecl->getType()->isRecordType() || in AddInitializerToDecl()
12352 VDecl->getType()->isReferenceType()) in AddInitializerToDecl()
12359 if (!VDecl->isInvalidDecl() && (DclT != SavT)) in AddInitializerToDecl()
12360 VDecl->setType(DclT); in AddInitializerToDecl()
12362 if (!VDecl->isInvalidDecl()) { in AddInitializerToDecl()
12363 checkUnsafeAssigns(VDecl->getLocation(), VDecl->getType(), Init); in AddInitializerToDecl()
12365 if (VDecl->hasAttr<BlocksAttr>()) in AddInitializerToDecl()
12366 checkRetainCycles(VDecl, Init); in AddInitializerToDecl()
12376 if ((VDecl->getType().getObjCLifetime() == Qualifiers::OCL_Strong || in AddInitializerToDecl()
12377 VDecl->getType().isNonWeakInMRRWithObjCWeak(Context)) && in AddInitializerToDecl()
12395 ActOnFinishFullExpr(Init, VDecl->getLocation(), in AddInitializerToDecl()
12396 /*DiscardedValue*/ false, VDecl->isConstexpr()); in AddInitializerToDecl()
12398 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12404 VDecl->setInit(Init); in AddInitializerToDecl()
12406 if (VDecl->isLocalVarDecl()) { in AddInitializerToDecl()
12408 if (VDecl->isInvalidDecl()) { in AddInitializerToDecl()
12413 } else if (VDecl->getType().getAddressSpace() == LangAS::opencl_constant) { in AddInitializerToDecl()
12422 } else if (VDecl->getStorageClass() == SC_Static) { in AddInitializerToDecl()
12429 } else if (!getLangOpts().C99 && VDecl->getType()->isAggregateType() && in AddInitializerToDecl()
12441 if (VDecl->hasLocalStorage()) in AddInitializerToDecl()
12443 } else if (VDecl->isStaticDataMember() && !VDecl->isInline() && in AddInitializerToDecl()
12444 VDecl->getLexicalDeclContext()->isRecord()) { in AddInitializerToDecl()
12472 } else if (VDecl->isConstexpr()) { in AddInitializerToDecl()
12476 Diag(VDecl->getLocation(), diag::err_in_class_initializer_non_const) in AddInitializerToDecl()
12478 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12487 Diag(VDecl->getLocation(), diag::err_in_class_initializer_volatile); in AddInitializerToDecl()
12505 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12513 Diag(VDecl->getLocation(), in AddInitializerToDecl()
12516 Diag(VDecl->getBeginLoc(), in AddInitializerToDecl()
12518 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr "); in AddInitializerToDecl()
12520 Diag(VDecl->getLocation(), diag::ext_in_class_initializer_float_type) in AddInitializerToDecl()
12526 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12532 Diag(VDecl->getLocation(), diag::err_in_class_initializer_literal_type) in AddInitializerToDecl()
12534 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr "); in AddInitializerToDecl()
12535 VDecl->setConstexpr(true); in AddInitializerToDecl()
12538 Diag(VDecl->getLocation(), diag::err_in_class_initializer_bad_type) in AddInitializerToDecl()
12540 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12542 } else if (VDecl->isFileVarDecl()) { in AddInitializerToDecl()
12550 if (VDecl->getStorageClass() == SC_Extern && in AddInitializerToDecl()
12551 ((!getLangOpts().CPlusPlus && !VDecl->hasAttr<SelectAnyAttr>()) || in AddInitializerToDecl()
12552 !Context.getBaseElementType(VDecl->getType()).isConstQualified()) && in AddInitializerToDecl()
12553 !(getLangOpts().CPlusPlus && VDecl->isExternC()) && in AddInitializerToDecl()
12554 !isTemplateInstantiation(VDecl->getTemplateSpecializationKind())) in AddInitializerToDecl()
12555 Diag(VDecl->getLocation(), diag::warn_extern_init); in AddInitializerToDecl()
12561 getLangOpts().CPlusPlus && VDecl->getType().isConstQualified() && in AddInitializerToDecl()
12562 VDecl->hasAttr<DLLExportAttr>() && VDecl->getDefinition()) in AddInitializerToDecl()
12563 VDecl->setStorageClass(SC_Extern); in AddInitializerToDecl()
12566 if (!getLangOpts().CPlusPlus && !VDecl->isInvalidDecl()) in AddInitializerToDecl()
12592 VDecl->setInitStyle(VarDecl::CallInit); in AddInitializerToDecl()
12595 VDecl->setInitStyle(VarDecl::ListInit); in AddInitializerToDecl()
12598 if (LangOpts.OpenMP && VDecl->isFileVarDecl()) in AddInitializerToDecl()
12599 DeclsToCheckForDeferredDiags.insert(VDecl); in AddInitializerToDecl()
12600 CheckCompleteVariableDeclaration(VDecl); in AddInitializerToDecl()