Lines Matching refs:VDecl

12187     VarDecl *VDecl;  member
12192 return VN.VDecl ? Diag << VN.VDecl : Diag << VN.Name; in operator <<()
12197 QualType Sema::deduceVarTypeFromInitializer(VarDecl *VDecl, in deduceVarTypeFromInitializer() argument
12202 bool IsInitCapture = !VDecl; in deduceVarTypeFromInitializer()
12203 assert((!VDecl || !VDecl->isInitCapture()) && in deduceVarTypeFromInitializer()
12206 VarDeclOrName VN{VDecl, Name}; in deduceVarTypeFromInitializer()
12213 assert(VDecl && "no init for init capture deduction?"); in deduceVarTypeFromInitializer()
12218 VDecl->hasExternalStorage() || in deduceVarTypeFromInitializer()
12219 VDecl->isStaticDataMember()) { in deduceVarTypeFromInitializer()
12220 Diag(VDecl->getLocation(), diag::err_auto_var_requires_init) in deduceVarTypeFromInitializer()
12221 << VDecl->getDeclName() << Type; in deduceVarTypeFromInitializer()
12236 assert(VDecl && "non-auto type for init capture deduction?"); in deduceVarTypeFromInitializer()
12237 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl); in deduceVarTypeFromInitializer()
12239 VDecl->getLocation(), DirectInit, Init); in deduceVarTypeFromInitializer()
12294 if (VDecl && isa<DecompositionDecl>(VDecl) && in deduceVarTypeFromInitializer()
12303 DiagnoseAutoDeductionFailure(VDecl, DeduceInit); in deduceVarTypeFromInitializer()
12333 bool Sema::DeduceVariableDeclarationType(VarDecl *VDecl, bool DirectInit, in DeduceVariableDeclarationType() argument
12337 VDecl, VDecl->getDeclName(), VDecl->getType(), VDecl->getTypeSourceInfo(), in DeduceVariableDeclarationType()
12338 VDecl->getSourceRange(), DirectInit, Init); in DeduceVariableDeclarationType()
12340 VDecl->setInvalidDecl(); in DeduceVariableDeclarationType()
12344 VDecl->setType(DeducedType); in DeduceVariableDeclarationType()
12345 assert(VDecl->isLinkageValid()); in DeduceVariableDeclarationType()
12348 if (getLangOpts().ObjCAutoRefCount && inferObjCARCLifetime(VDecl)) in DeduceVariableDeclarationType()
12349 VDecl->setInvalidDecl(); in DeduceVariableDeclarationType()
12352 deduceOpenCLAddressSpace(VDecl); in DeduceVariableDeclarationType()
12356 if (VarDecl *Old = VDecl->getPreviousDecl()) { in DeduceVariableDeclarationType()
12359 MergeVarDeclTypes(VDecl, Old, /*MergeTypeWithPrevious*/ false); in DeduceVariableDeclarationType()
12363 CheckVariableDeclarationType(VDecl); in DeduceVariableDeclarationType()
12364 return VDecl->isInvalidDecl(); in DeduceVariableDeclarationType()
12659 VarDecl *VDecl = dyn_cast<VarDecl>(RealDecl); in AddInitializerToDecl() local
12660 if (!VDecl) { in AddInitializerToDecl()
12668 if (VDecl->getType()->isUndeducedType()) { in AddInitializerToDecl()
12672 ExprResult Res = CorrectDelayedTyposInExpr(Init, VDecl); in AddInitializerToDecl()
12682 VDecl->setInit(Res.get()); in AddInitializerToDecl()
12687 if (DeduceVariableDeclarationType(VDecl, DirectInit, Init)) in AddInitializerToDecl()
12692 if (VDecl->hasAttr<DLLImportAttr>() && !VDecl->isStaticDataMember()) { in AddInitializerToDecl()
12693 Diag(VDecl->getLocation(), diag::err_attribute_dllimport_data_definition); in AddInitializerToDecl()
12694 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12698 if (VDecl->isLocalVarDecl() && VDecl->hasExternalStorage()) { in AddInitializerToDecl()
12700 Diag(VDecl->getLocation(), diag::err_block_extern_cant_init); in AddInitializerToDecl()
12701 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12705 if (!VDecl->getType()->isDependentType()) { in AddInitializerToDecl()
12709 QualType BaseDeclType = VDecl->getType(); in AddInitializerToDecl()
12712 if (RequireCompleteType(VDecl->getLocation(), BaseDeclType, in AddInitializerToDecl()
12719 if (RequireNonAbstractType(VDecl->getLocation(), VDecl->getType(), in AddInitializerToDecl()
12722 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12728 if (VarDecl *Def = VDecl->getDefinition()) in AddInitializerToDecl()
12729 if (Def != VDecl && in AddInitializerToDecl()
12730 (!VDecl->isStaticDataMember() || VDecl->isOutOfLine()) && in AddInitializerToDecl()
12731 !VDecl->isThisDeclarationADemotedDefinition() && in AddInitializerToDecl()
12732 checkVarDeclRedefinition(Def, VDecl)) in AddInitializerToDecl()
12748 if (VDecl->isStaticDataMember() && VDecl->getCanonicalDecl()->hasInit()) { in AddInitializerToDecl()
12750 << VDecl->getDeclName(); in AddInitializerToDecl()
12751 Diag(VDecl->getCanonicalDecl()->getInit()->getExprLoc(), in AddInitializerToDecl()
12757 if (VDecl->hasLocalStorage()) in AddInitializerToDecl()
12761 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12768 if (VDecl->getType().getAddressSpace() == LangAS::opencl_local) { in AddInitializerToDecl()
12769 Diag(VDecl->getLocation(), diag::err_local_cant_init); in AddInitializerToDecl()
12770 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12775 if (VDecl->hasAttr<LoaderUninitializedAttr>()) { in AddInitializerToDecl()
12776 Diag(VDecl->getLocation(), diag::err_loader_uninitialized_cant_init); in AddInitializerToDecl()
12777 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12783 QualType DclT = VDecl->getType(), SavT = DclT; in AddInitializerToDecl()
12791 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12799 if (!VDecl->isInvalidDecl()) { in AddInitializerToDecl()
12800 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl); in AddInitializerToDecl()
12802 VDecl->getLocation(), DirectInit, Init); in AddInitializerToDecl()
12812 Args[Idx], VDecl, /*RecoverUncorrectedTypos=*/true, in AddInitializerToDecl()
12818 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12823 if (VDecl->isInvalidDecl()) in AddInitializerToDecl()
12836 VDecl->setInit(RecoveryExpr.get()); in AddInitializerToDecl()
12848 if (!VDecl->hasLocalStorage() || VDecl->getType()->isRecordType() || in AddInitializerToDecl()
12849 VDecl->getType()->isReferenceType()) in AddInitializerToDecl()
12856 if (!VDecl->isInvalidDecl() && (DclT != SavT)) in AddInitializerToDecl()
12857 VDecl->setType(DclT); in AddInitializerToDecl()
12859 if (!VDecl->isInvalidDecl()) { in AddInitializerToDecl()
12860 checkUnsafeAssigns(VDecl->getLocation(), VDecl->getType(), Init); in AddInitializerToDecl()
12862 if (VDecl->hasAttr<BlocksAttr>()) in AddInitializerToDecl()
12863 checkRetainCycles(VDecl, Init); in AddInitializerToDecl()
12873 if ((VDecl->getType().getObjCLifetime() == Qualifiers::OCL_Strong || in AddInitializerToDecl()
12874 VDecl->getType().isNonWeakInMRRWithObjCWeak(Context)) && in AddInitializerToDecl()
12892 ActOnFinishFullExpr(Init, VDecl->getLocation(), in AddInitializerToDecl()
12893 /*DiscardedValue*/ false, VDecl->isConstexpr()); in AddInitializerToDecl()
12895 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12901 VDecl->setInit(Init); in AddInitializerToDecl()
12903 if (VDecl->isLocalVarDecl()) { in AddInitializerToDecl()
12905 if (VDecl->isInvalidDecl()) { in AddInitializerToDecl()
12910 } else if (VDecl->getType().getAddressSpace() == LangAS::opencl_constant) { in AddInitializerToDecl()
12919 } else if (VDecl->getStorageClass() == SC_Static) { in AddInitializerToDecl()
12926 } else if (!getLangOpts().C99 && VDecl->getType()->isAggregateType() && in AddInitializerToDecl()
12938 if (VDecl->hasLocalStorage()) in AddInitializerToDecl()
12940 } else if (VDecl->isStaticDataMember() && !VDecl->isInline() && in AddInitializerToDecl()
12941 VDecl->getLexicalDeclContext()->isRecord()) { in AddInitializerToDecl()
12969 } else if (VDecl->isConstexpr()) { in AddInitializerToDecl()
12973 Diag(VDecl->getLocation(), diag::err_in_class_initializer_non_const) in AddInitializerToDecl()
12975 VDecl->setInvalidDecl(); in AddInitializerToDecl()
12984 Diag(VDecl->getLocation(), diag::err_in_class_initializer_volatile); in AddInitializerToDecl()
13002 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13010 Diag(VDecl->getLocation(), in AddInitializerToDecl()
13013 Diag(VDecl->getBeginLoc(), in AddInitializerToDecl()
13015 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr "); in AddInitializerToDecl()
13017 Diag(VDecl->getLocation(), diag::ext_in_class_initializer_float_type) in AddInitializerToDecl()
13023 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13029 Diag(VDecl->getLocation(), diag::err_in_class_initializer_literal_type) in AddInitializerToDecl()
13031 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr "); in AddInitializerToDecl()
13032 VDecl->setConstexpr(true); in AddInitializerToDecl()
13035 Diag(VDecl->getLocation(), diag::err_in_class_initializer_bad_type) in AddInitializerToDecl()
13037 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13039 } else if (VDecl->isFileVarDecl()) { in AddInitializerToDecl()
13047 if (VDecl->getStorageClass() == SC_Extern && in AddInitializerToDecl()
13048 ((!getLangOpts().CPlusPlus && !VDecl->hasAttr<SelectAnyAttr>()) || in AddInitializerToDecl()
13049 !Context.getBaseElementType(VDecl->getType()).isConstQualified()) && in AddInitializerToDecl()
13050 !(getLangOpts().CPlusPlus && VDecl->isExternC()) && in AddInitializerToDecl()
13051 !isTemplateInstantiation(VDecl->getTemplateSpecializationKind())) in AddInitializerToDecl()
13052 Diag(VDecl->getLocation(), diag::warn_extern_init); in AddInitializerToDecl()
13058 getLangOpts().CPlusPlus && VDecl->getType().isConstQualified() && in AddInitializerToDecl()
13059 VDecl->hasAttr<DLLExportAttr>() && VDecl->getDefinition()) in AddInitializerToDecl()
13060 VDecl->setStorageClass(SC_Extern); in AddInitializerToDecl()
13063 if (!getLangOpts().CPlusPlus && !VDecl->isInvalidDecl()) in AddInitializerToDecl()
13089 VDecl->setInitStyle(VarDecl::CallInit); in AddInitializerToDecl()
13092 VDecl->setInitStyle(VarDecl::ListInit); in AddInitializerToDecl()
13097 VDecl->isFileVarDecl()) in AddInitializerToDecl()
13098 DeclsToCheckForDeferredDiags.insert(VDecl); in AddInitializerToDecl()
13099 CheckCompleteVariableDeclaration(VDecl); in AddInitializerToDecl()