Lines Matching refs:VDecl

12544     VarDecl *VDecl;  member
12549 return VN.VDecl ? Diag << VN.VDecl : Diag << VN.Name; in operator <<()
12554 QualType Sema::deduceVarTypeFromInitializer(VarDecl *VDecl, in deduceVarTypeFromInitializer() argument
12559 bool IsInitCapture = !VDecl; in deduceVarTypeFromInitializer()
12560 assert((!VDecl || !VDecl->isInitCapture()) && in deduceVarTypeFromInitializer()
12563 VarDeclOrName VN{VDecl, Name}; in deduceVarTypeFromInitializer()
12570 assert(VDecl && "no init for init capture deduction?"); in deduceVarTypeFromInitializer()
12575 VDecl->hasExternalStorage() || in deduceVarTypeFromInitializer()
12576 VDecl->isStaticDataMember()) { in deduceVarTypeFromInitializer()
12577 Diag(VDecl->getLocation(), diag::err_auto_var_requires_init) in deduceVarTypeFromInitializer()
12578 << VDecl->getDeclName() << Type; in deduceVarTypeFromInitializer()
12593 assert(VDecl && "non-auto type for init capture deduction?"); in deduceVarTypeFromInitializer()
12594 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl); in deduceVarTypeFromInitializer()
12596 VDecl->getLocation(), DirectInit, Init); in deduceVarTypeFromInitializer()
12651 if (VDecl && isa<DecompositionDecl>(VDecl) && in deduceVarTypeFromInitializer()
12663 DiagnoseAutoDeductionFailure(VDecl, DeduceInit); in deduceVarTypeFromInitializer()
12693 bool Sema::DeduceVariableDeclarationType(VarDecl *VDecl, bool DirectInit, in DeduceVariableDeclarationType() argument
12697 VDecl, VDecl->getDeclName(), VDecl->getType(), VDecl->getTypeSourceInfo(), in DeduceVariableDeclarationType()
12698 VDecl->getSourceRange(), DirectInit, Init); in DeduceVariableDeclarationType()
12700 VDecl->setInvalidDecl(); in DeduceVariableDeclarationType()
12704 VDecl->setType(DeducedType); in DeduceVariableDeclarationType()
12705 assert(VDecl->isLinkageValid()); in DeduceVariableDeclarationType()
12708 if (getLangOpts().ObjCAutoRefCount && inferObjCARCLifetime(VDecl)) in DeduceVariableDeclarationType()
12709 VDecl->setInvalidDecl(); in DeduceVariableDeclarationType()
12712 deduceOpenCLAddressSpace(VDecl); in DeduceVariableDeclarationType()
12716 if (VarDecl *Old = VDecl->getPreviousDecl()) { in DeduceVariableDeclarationType()
12719 MergeVarDeclTypes(VDecl, Old, /*MergeTypeWithPrevious*/ false); in DeduceVariableDeclarationType()
12723 CheckVariableDeclarationType(VDecl); in DeduceVariableDeclarationType()
12724 return VDecl->isInvalidDecl(); in DeduceVariableDeclarationType()
13019 VarDecl *VDecl = dyn_cast<VarDecl>(RealDecl); in AddInitializerToDecl() local
13020 if (!VDecl) { in AddInitializerToDecl()
13028 if (VDecl->getType()->isUndeducedType()) { in AddInitializerToDecl()
13032 ExprResult Res = CorrectDelayedTyposInExpr(Init, VDecl); in AddInitializerToDecl()
13042 VDecl->setInit(Res.get()); in AddInitializerToDecl()
13047 if (DeduceVariableDeclarationType(VDecl, DirectInit, Init)) in AddInitializerToDecl()
13052 if (VDecl->hasAttr<DLLImportAttr>() && !VDecl->isStaticDataMember()) { in AddInitializerToDecl()
13053 Diag(VDecl->getLocation(), diag::err_attribute_dllimport_data_definition); in AddInitializerToDecl()
13054 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13062 if (VDecl->isLocalVarDecl() && VDecl->hasExternalStorage()) { in AddInitializerToDecl()
13063 Diag(VDecl->getLocation(), diag::err_block_extern_cant_init); in AddInitializerToDecl()
13064 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13068 if (!VDecl->getType()->isDependentType()) { in AddInitializerToDecl()
13072 QualType BaseDeclType = VDecl->getType(); in AddInitializerToDecl()
13075 if (RequireCompleteType(VDecl->getLocation(), BaseDeclType, in AddInitializerToDecl()
13082 if (RequireNonAbstractType(VDecl->getLocation(), VDecl->getType(), in AddInitializerToDecl()
13085 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13091 !VDecl->isInvalidDecl() && VDecl->isThisDeclarationADefinition() && in AddInitializerToDecl()
13092 VDecl->getFormalLinkage() == Linkage::ExternalLinkage && in AddInitializerToDecl()
13093 !VDecl->isInline() && !VDecl->isTemplated() && in AddInitializerToDecl()
13094 !isa<VarTemplateSpecializationDecl>(VDecl)) { in AddInitializerToDecl()
13095 Diag(VDecl->getLocation(), diag::err_extern_def_in_header_unit); in AddInitializerToDecl()
13096 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13102 if (VarDecl *Def = VDecl->getDefinition()) in AddInitializerToDecl()
13103 if (Def != VDecl && in AddInitializerToDecl()
13104 (!VDecl->isStaticDataMember() || VDecl->isOutOfLine()) && in AddInitializerToDecl()
13105 !VDecl->isThisDeclarationADemotedDefinition() && in AddInitializerToDecl()
13106 checkVarDeclRedefinition(Def, VDecl)) in AddInitializerToDecl()
13122 if (VDecl->isStaticDataMember() && VDecl->getCanonicalDecl()->hasInit()) { in AddInitializerToDecl()
13124 << VDecl->getDeclName(); in AddInitializerToDecl()
13125 Diag(VDecl->getCanonicalDecl()->getInit()->getExprLoc(), in AddInitializerToDecl()
13131 if (VDecl->hasLocalStorage()) in AddInitializerToDecl()
13135 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13142 if (VDecl->getType().getAddressSpace() == LangAS::opencl_local) { in AddInitializerToDecl()
13143 Diag(VDecl->getLocation(), diag::err_local_cant_init); in AddInitializerToDecl()
13144 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13149 if (VDecl->hasAttr<LoaderUninitializedAttr>()) { in AddInitializerToDecl()
13150 Diag(VDecl->getLocation(), diag::err_loader_uninitialized_cant_init); in AddInitializerToDecl()
13151 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13157 QualType DclT = VDecl->getType(), SavT = DclT; in AddInitializerToDecl()
13165 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13174 if (!VDecl->isInvalidDecl()) { in AddInitializerToDecl()
13175 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl); in AddInitializerToDecl()
13177 VDecl->getLocation(), DirectInit, Init); in AddInitializerToDecl()
13187 Args[Idx], VDecl, /*RecoverUncorrectedTypos=*/true, in AddInitializerToDecl()
13193 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13198 if (VDecl->isInvalidDecl()) in AddInitializerToDecl()
13211 VDecl->setInit(RecoveryExpr.get()); in AddInitializerToDecl()
13226 if (!VDecl->hasLocalStorage() || VDecl->getType()->isRecordType() || in AddInitializerToDecl()
13227 VDecl->getType()->isReferenceType()) in AddInitializerToDecl()
13234 if (!VDecl->isInvalidDecl() && (DclT != SavT)) in AddInitializerToDecl()
13235 VDecl->setType(DclT); in AddInitializerToDecl()
13237 if (!VDecl->isInvalidDecl()) { in AddInitializerToDecl()
13238 checkUnsafeAssigns(VDecl->getLocation(), VDecl->getType(), Init); in AddInitializerToDecl()
13240 if (VDecl->hasAttr<BlocksAttr>()) in AddInitializerToDecl()
13241 checkRetainCycles(VDecl, Init); in AddInitializerToDecl()
13251 if ((VDecl->getType().getObjCLifetime() == Qualifiers::OCL_Strong || in AddInitializerToDecl()
13252 VDecl->getType().isNonWeakInMRRWithObjCWeak(Context)) && in AddInitializerToDecl()
13270 ActOnFinishFullExpr(Init, VDecl->getLocation(), in AddInitializerToDecl()
13271 /*DiscardedValue*/ false, VDecl->isConstexpr()); in AddInitializerToDecl()
13273 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13279 VDecl->setInit(Init); in AddInitializerToDecl()
13281 if (VDecl->isLocalVarDecl()) { in AddInitializerToDecl()
13283 if (VDecl->isInvalidDecl()) { in AddInitializerToDecl()
13288 } else if (VDecl->getType().getAddressSpace() == LangAS::opencl_constant) { in AddInitializerToDecl()
13297 } else if (VDecl->getStorageClass() == SC_Static) { in AddInitializerToDecl()
13304 } else if (!getLangOpts().C99 && VDecl->getType()->isAggregateType() && in AddInitializerToDecl()
13316 if (VDecl->hasLocalStorage()) in AddInitializerToDecl()
13318 } else if (VDecl->isStaticDataMember() && !VDecl->isInline() && in AddInitializerToDecl()
13319 VDecl->getLexicalDeclContext()->isRecord()) { in AddInitializerToDecl()
13347 } else if (VDecl->isConstexpr()) { in AddInitializerToDecl()
13351 Diag(VDecl->getLocation(), diag::err_in_class_initializer_non_const) in AddInitializerToDecl()
13353 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13362 Diag(VDecl->getLocation(), diag::err_in_class_initializer_volatile); in AddInitializerToDecl()
13380 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13388 Diag(VDecl->getLocation(), in AddInitializerToDecl()
13391 Diag(VDecl->getBeginLoc(), in AddInitializerToDecl()
13393 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr "); in AddInitializerToDecl()
13395 Diag(VDecl->getLocation(), diag::ext_in_class_initializer_float_type) in AddInitializerToDecl()
13401 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13407 Diag(VDecl->getLocation(), diag::err_in_class_initializer_literal_type) in AddInitializerToDecl()
13409 << FixItHint::CreateInsertion(VDecl->getBeginLoc(), "constexpr "); in AddInitializerToDecl()
13410 VDecl->setConstexpr(true); in AddInitializerToDecl()
13413 Diag(VDecl->getLocation(), diag::err_in_class_initializer_bad_type) in AddInitializerToDecl()
13415 VDecl->setInvalidDecl(); in AddInitializerToDecl()
13417 } else if (VDecl->isFileVarDecl()) { in AddInitializerToDecl()
13425 if (VDecl->getStorageClass() == SC_Extern && in AddInitializerToDecl()
13426 ((!getLangOpts().CPlusPlus && !VDecl->hasAttr<SelectAnyAttr>()) || in AddInitializerToDecl()
13427 !Context.getBaseElementType(VDecl->getType()).isConstQualified()) && in AddInitializerToDecl()
13428 !(getLangOpts().CPlusPlus && VDecl->isExternC()) && in AddInitializerToDecl()
13429 !isTemplateInstantiation(VDecl->getTemplateSpecializationKind())) in AddInitializerToDecl()
13430 Diag(VDecl->getLocation(), diag::warn_extern_init); in AddInitializerToDecl()
13436 getLangOpts().CPlusPlus && VDecl->getType().isConstQualified() && in AddInitializerToDecl()
13437 VDecl->hasAttr<DLLExportAttr>() && VDecl->getDefinition()) in AddInitializerToDecl()
13438 VDecl->setStorageClass(SC_Extern); in AddInitializerToDecl()
13441 if (!getLangOpts().CPlusPlus && !VDecl->isInvalidDecl()) in AddInitializerToDecl()
13467 VDecl->setInitStyle(IsParenListInit ? VarDecl::ParenListInit in AddInitializerToDecl()
13471 VDecl->setInitStyle(VarDecl::ListInit); in AddInitializerToDecl()
13476 VDecl->isFileVarDecl()) in AddInitializerToDecl()
13477 DeclsToCheckForDeferredDiags.insert(VDecl); in AddInitializerToDecl()
13478 CheckCompleteVariableDeclaration(VDecl); in AddInitializerToDecl()