Lines Matching refs:VDecl

9421 QualType Sema::deduceVarTypeFromInitializer(VarDecl *VDecl,
9426 bool IsInitCapture = !VDecl;
9427 assert((!VDecl || !VDecl->isInitCapture()) &&
9481 DiagnoseAutoDeductionFailure(VDecl, DeduceInit);
9531 VarDecl *VDecl = dyn_cast<VarDecl>(RealDecl);
9532 if (!VDecl) {
9540 if (TypeMayContainAuto && VDecl->getType()->isUndeducedType()) {
9544 ExprResult Res = CorrectDelayedTyposInExpr(Init, VDecl);
9552 VDecl, VDecl->getDeclName(), VDecl->getType(),
9553 VDecl->getTypeSourceInfo(), VDecl->getSourceRange(), DirectInit, Init);
9559 VDecl->setType(DeducedType);
9560 assert(VDecl->isLinkageValid());
9563 if (getLangOpts().ObjCAutoRefCount && inferObjCARCLifetime(VDecl))
9564 VDecl->setInvalidDecl();
9568 if (VarDecl *Old = VDecl->getPreviousDecl()) {
9571 MergeVarDeclTypes(VDecl, Old, /*MergeTypeWithPrevious*/ false);
9575 CheckVariableDeclarationType(VDecl);
9576 if (VDecl->isInvalidDecl())
9581 if (VDecl->hasAttr<DLLImportAttr>() && !VDecl->isStaticDataMember()) {
9582 Diag(VDecl->getLocation(), diag::err_attribute_dllimport_data_definition);
9583 VDecl->setInvalidDecl();
9587 if (VDecl->isLocalVarDecl() && VDecl->hasExternalStorage()) {
9589 Diag(VDecl->getLocation(), diag::err_block_extern_cant_init);
9590 VDecl->setInvalidDecl();
9594 if (!VDecl->getType()->isDependentType()) {
9598 QualType BaseDeclType = VDecl->getType();
9601 if (RequireCompleteType(VDecl->getLocation(), BaseDeclType,
9608 if (RequireNonAbstractType(VDecl->getLocation(), VDecl->getType(),
9611 VDecl->setInvalidDecl();
9615 if ((Def = VDecl->getDefinition()) && Def != VDecl) {
9618 (VDecl->getFormalLinkage() == InternalLinkage ||
9619 VDecl->getDescribedVarTemplate() ||
9620 VDecl->getNumTemplateParameterLists() ||
9621 VDecl->getDeclContext()->isDependentContext())) {
9625 Diag(VDecl->getLocation(), diag::err_redefinition)
9626 << VDecl->getDeclName();
9628 VDecl->setInvalidDecl();
9646 if (VDecl->isStaticDataMember() && VDecl->getCanonicalDecl()->hasInit()) {
9648 << VDecl->getDeclName();
9649 Diag(VDecl->getCanonicalDecl()->getInit()->getExprLoc(),
9655 if (VDecl->hasLocalStorage())
9659 VDecl->setInvalidDecl();
9666 if (VDecl->getType().getAddressSpace() == LangAS::opencl_local) {
9667 Diag(VDecl->getLocation(), diag::err_local_cant_init);
9668 VDecl->setInvalidDecl();
9674 QualType DclT = VDecl->getType(), SavT = DclT;
9682 VDecl->setInvalidDecl();
9690 if (!VDecl->isInvalidDecl()) {
9691 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl);
9695 ? InitializationKind::CreateDirect(VDecl->getLocation(),
9698 : InitializationKind::CreateDirectList(VDecl->getLocation())
9699 : InitializationKind::CreateCopy(VDecl->getLocation(),
9710 Args[Idx], VDecl, [this, Entity, Kind](Expr *E) {
9715 VDecl->setInvalidDecl();
9720 if (VDecl->isInvalidDecl())
9728 VDecl->setInvalidDecl();
9738 if (!VDecl->hasLocalStorage() || VDecl->getType()->isRecordType() ||
9739 VDecl->getType()->isReferenceType()) {
9747 if (!VDecl->isInvalidDecl() && (DclT != SavT))
9748 VDecl->setType(DclT);
9750 if (!VDecl->isInvalidDecl()) {
9751 checkUnsafeAssigns(VDecl->getLocation(), VDecl->getType(), Init);
9753 if (VDecl->hasAttr<BlocksAttr>())
9754 checkRetainCycles(VDecl, Init);
9763 if (VDecl->getType().getObjCLifetime() == Qualifiers::OCL_Strong &&
9780 ExprResult Result = ActOnFinishFullExpr(Init, VDecl->getLocation(),
9782 VDecl->isConstexpr());
9784 VDecl->setInvalidDecl();
9790 VDecl->setInit(Init);
9792 if (VDecl->isLocalVarDecl()) {
9796 if (!getLangOpts().CPlusPlus && !VDecl->isInvalidDecl()) {
9798 if (VDecl->getStorageClass() == SC_Static)
9804 else if (!getLangOpts().C99 && VDecl->getType()->isAggregateType() &&
9811 } else if (VDecl->isStaticDataMember() && !VDecl->isInline() &&
9812 VDecl->getLexicalDeclContext()->isRecord()) {
9840 } else if (VDecl->isConstexpr()) {
9844 Diag(VDecl->getLocation(), diag::err_in_class_initializer_non_const)
9846 VDecl->setInvalidDecl();
9855 Diag(VDecl->getLocation(), diag::err_in_class_initializer_volatile);
9870 VDecl->setInvalidDecl();
9878 Diag(VDecl->getLocation(),
9881 Diag(VDecl->getLocStart(),
9883 << FixItHint::CreateInsertion(VDecl->getLocStart(), "constexpr ");
9885 Diag(VDecl->getLocation(), diag::ext_in_class_initializer_float_type)
9891 VDecl->setInvalidDecl();
9897 Diag(VDecl->getLocation(), diag::err_in_class_initializer_literal_type)
9899 << FixItHint::CreateInsertion(VDecl->getLocStart(), "constexpr ");
9900 VDecl->setConstexpr(true);
9903 Diag(VDecl->getLocation(), diag::err_in_class_initializer_bad_type)
9905 VDecl->setInvalidDecl();
9907 } else if (VDecl->isFileVarDecl()) {
9908 if (VDecl->getStorageClass() == SC_Extern &&
9910 !(Context.getBaseElementType(VDecl->getType()).isConstQualified() ||
9911 VDecl->isExternC())) &&
9912 !isTemplateInstantiation(VDecl->getTemplateSpecializationKind()))
9913 Diag(VDecl->getLocation(), diag::warn_extern_init);
9916 if (!getLangOpts().CPlusPlus && !VDecl->isInvalidDecl())
9936 VDecl->setInitStyle(VarDecl::CallInit);
9939 VDecl->setInitStyle(VarDecl::ListInit);
9942 CheckCompleteVariableDeclaration(VDecl);