Lines Matching refs:Init
64 static StringInitFailureKind IsStringInit(Expr *Init, const ArrayType *AT, in IsStringInit() argument
70 Init = Init->IgnoreParens(); in IsStringInit()
73 if (isa<ObjCEncodeExpr>(Init) && AT->getElementType()->isCharType()) in IsStringInit()
77 StringLiteral *SL = dyn_cast<StringLiteral>(Init); in IsStringInit()
145 bool Sema::IsStringInit(Expr *Init, const ArrayType *AT) { in IsStringInit() argument
146 return ::IsStringInit(Init, AT, Context) == SIF_None; in IsStringInit()
459 void FillInEmptyInitForBase(unsigned Init, const CXXBaseSpecifier &Base,
463 void FillInEmptyInitForField(unsigned Init, FieldDecl *Field,
612 unsigned Init, const CXXBaseSpecifier &Base, in FillInEmptyInitForBase() argument
618 if (Init >= ILE->getNumInits() || !ILE->getInit(Init)) { in FillInEmptyInitForBase()
628 assert(Init < ILE->getNumInits() && "should have been expanded"); in FillInEmptyInitForBase()
629 ILE->setInit(Init, BaseInit.getAs<Expr>()); in FillInEmptyInitForBase()
632 dyn_cast<InitListExpr>(ILE->getInit(Init))) { in FillInEmptyInitForBase()
634 ILE, Init, FillWithNoInit); in FillInEmptyInitForBase()
636 dyn_cast<DesignatedInitUpdateExpr>(ILE->getInit(Init))) { in FillInEmptyInitForBase()
638 RequiresSecondPass, ILE, Init, in FillInEmptyInitForBase()
643 void InitListChecker::FillInEmptyInitForField(unsigned Init, FieldDecl *Field, in FillInEmptyInitForField() argument
653 if (Init >= NumInits || !ILE->getInit(Init)) { in FillInEmptyInitForField()
656 assert((Init < NumInits || VerifyOnly) && in FillInEmptyInitForField()
662 if (Init < NumInits) in FillInEmptyInitForField()
663 ILE->setInit(Init, Filler); in FillInEmptyInitForField()
665 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitForField()
682 if (Init < NumInits) in FillInEmptyInitForField()
683 ILE->setInit(Init, DIE.get()); in FillInEmptyInitForField()
685 ILE->updateInit(SemaRef.Context, Init, DIE.get()); in FillInEmptyInitForField()
715 } else if (Init < NumInits) { in FillInEmptyInitForField()
716 ILE->setInit(Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
722 ILE->updateInit(SemaRef.Context, Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
726 = dyn_cast<InitListExpr>(ILE->getInit(Init))) { in FillInEmptyInitForField()
728 RequiresSecondPass, ILE, Init, FillWithNoInit); in FillInEmptyInitForField()
730 dyn_cast<DesignatedInitUpdateExpr>(ILE->getInit(Init))) { in FillInEmptyInitForField()
732 RequiresSecondPass, ILE, Init, in FillInEmptyInitForField()
800 unsigned Init = 0; in FillInEmptyInitializations() local
807 FillInEmptyInitForBase(Init, Base, Entity, ILE, RequiresSecondPass, in FillInEmptyInitializations()
809 ++Init; in FillInEmptyInitializations()
820 FillInEmptyInitForField(Init, Field, Entity, ILE, RequiresSecondPass, in FillInEmptyInitializations()
825 ++Init; in FillInEmptyInitializations()
860 for (unsigned Init = 0; Init != NumElements; ++Init) { in FillInEmptyInitializations() local
866 ElementEntity.setElementIndex(Init); in FillInEmptyInitializations()
868 if (Init >= NumInits && (ILE->hasArrayFiller() || SkipEmptyInitChecks)) in FillInEmptyInitializations()
871 Expr *InitExpr = (Init < NumInits ? ILE->getInit(Init) : nullptr); in FillInEmptyInitializations()
872 if (!InitExpr && Init < NumInits && ILE->hasArrayFiller()) in FillInEmptyInitializations()
873 ILE->setInit(Init, ILE->getArrayFiller()); in FillInEmptyInitializations()
899 } else if (Init < NumInits) { in FillInEmptyInitializations()
905 ILE->setInit(Init, Filler); in FillInEmptyInitializations()
919 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitializations()
926 ILE, Init, FillWithNoInit); in FillInEmptyInitializations()
930 RequiresSecondPass, ILE, Init, in FillInEmptyInitializations()
937 for (const Stmt *Init : *IL) in hasAnyDesignatedInits()
938 if (Init && isa<DesignatedInitExpr>(Init)) in hasAnyDesignatedInits()
1702 Expr *Init = IList->getInit(Index); in CheckVectorType() local
1703 if (!isa<InitListExpr>(Init) && Init->getType()->isVectorType()) { in CheckVectorType()
1706 if (SemaRef.CanPerformCopyInitialization(Entity, Init)) in CheckVectorType()
1712 SemaRef.PerformCopyInitialization(Entity, Init->getBeginLoc(), Init, in CheckVectorType()
1722 if (ResultExpr != Init && !VerifyOnly) { in CheckVectorType()
1921 Expr *Init = IList->getInit(Index); in CheckArrayType() local
1922 if (DesignatedInitExpr *DIE = dyn_cast<DesignatedInitExpr>(Init)) { in CheckArrayType()
2095 Expr *Init = Index < IList->getNumInits() ? IList->getInit(Index) : nullptr; in CheckStructUnionTypes() local
2099 if (Init && isa<DesignatedInitExpr>(Init)) in CheckStructUnionTypes()
2100 Init = nullptr; in CheckStructUnionTypes()
2102 SourceLocation InitLoc = Init ? Init->getBeginLoc() : IList->getEndLoc(); in CheckStructUnionTypes()
2105 if (Init) { in CheckStructUnionTypes()
2134 Expr *Init = IList->getInit(Index); in CheckStructUnionTypes() local
2135 SourceLocation InitLoc = Init->getBeginLoc(); in CheckStructUnionTypes()
2137 if (DesignatedInitExpr *DIE = dyn_cast<DesignatedInitExpr>(Init)) { in CheckStructUnionTypes()
2195 if (RD->isRandomized() && !IsZeroInitializer(Init)) { in CheckStructUnionTypes()
2446 Expr *Init = DIE->getInit(); in CheckDesignatedInitializer() local
2447 assert(isa<InitListExpr>(Init) && in CheckDesignatedInitializer()
2450 DIE->getBeginLoc(), Init->getBeginLoc(), Init->getEndLoc()); in CheckDesignatedInitializer()
2451 InitializationSequence Seq(SemaRef, Entity, Kind, Init, in CheckDesignatedInitializer()
2456 : Seq.Perform(SemaRef, Entity, Kind, Init); in CheckDesignatedInitializer()
2952 Expr *Init = new (Context) IntegerLiteral( in CheckDesignatedInitializer() local
2955 Init = ImplicitCastExpr::Create(Context, CharTy, CK_IntegralCast, in CheckDesignatedInitializer()
2956 Init, nullptr, VK_PRValue, in CheckDesignatedInitializer()
2958 StructuredList->updateInit(Context, i, Init); in CheckDesignatedInitializer()
2975 Expr *Init = new (Context) IntegerLiteral( in CheckDesignatedInitializer() local
2978 Init = ImplicitCastExpr::Create(Context, CharTy, CK_IntegralCast, in CheckDesignatedInitializer()
2979 Init, nullptr, VK_PRValue, in CheckDesignatedInitializer()
2981 StructuredList->updateInit(Context, i, Init); in CheckDesignatedInitializer()
3094 if (auto *Init = dyn_cast_or_null<InitListExpr>(IList->getInit(Index))) in getStructuredSubobjectInit() local
3095 ExpectedNumInits = Init->getNumInits(); in getStructuredSubobjectInit()
3207 ExprResult Init) { in ActOnDesignatedInitializer() argument
3284 if (Invalid || Init.isInvalid()) in ActOnDesignatedInitializer()
3292 Init.getAs<Expr>()); in ActOnDesignatedInitializer()
3855 std::string Init = S.getFixItZeroInitializerForType(VariableTy, Loc); in maybeRecoverWithZeroInitialization() local
3856 if (!Init.empty()) { in maybeRecoverWithZeroInitialization()
3858 Sequence.SetZeroInitializationFixit(Init, Loc); in maybeRecoverWithZeroInitialization()
4552 Expr *Init = InitList->getInit(0); in TryListInitialization() local
4553 if (Init->getType()->isRecordType() || in TryListInitialization()
4554 (Init->getType()->isNullPtrType() && DestType->isBooleanType())) { in TryListInitialization()
4561 Expr *SubInit[1] = { Init }; in TryListInitialization()
5445 const Expr *Init) { in isLibstdcxxPointerReturnFalseHack() argument
5449 isa<CXXBoolLiteralExpr>(Init) && in isLibstdcxxPointerReturnFalseHack()
5450 !cast<CXXBoolLiteralExpr>(Init)->getValue() && in isLibstdcxxPointerReturnFalseHack()
5451 S.getSourceManager().isInSystemHeader(Init->getExprLoc()); in isLibstdcxxPointerReturnFalseHack()
6895 Expr *Init, LocalVisitor Visit,
6900 Expr *Init, ReferenceKind RK,
7131 Expr *Init, ReferenceKind RK, in visitLocalsRetainedByReferenceBinding() argument
7139 Old = Init; in visitLocalsRetainedByReferenceBinding()
7141 if (auto *FE = dyn_cast<FullExpr>(Init)) in visitLocalsRetainedByReferenceBinding()
7142 Init = FE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
7144 if (InitListExpr *ILE = dyn_cast<InitListExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7147 Init = ILE->getInit(0); in visitLocalsRetainedByReferenceBinding()
7152 Init = const_cast<Expr *>(Init->skipRValueSubobjectAdjustments()); in visitLocalsRetainedByReferenceBinding()
7156 if (CastExpr *CE = dyn_cast<CastExpr>(Init)) in visitLocalsRetainedByReferenceBinding()
7158 Init = CE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
7162 if (auto *ASE = dyn_cast<ArraySubscriptExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7163 Init = ASE->getBase(); in visitLocalsRetainedByReferenceBinding()
7164 auto *ICE = dyn_cast<ImplicitCastExpr>(Init); in visitLocalsRetainedByReferenceBinding()
7166 Init = ICE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
7170 return visitLocalsRetainedByInitializer(Path, Init, Visit, true, in visitLocalsRetainedByReferenceBinding()
7176 if (auto *DIE = dyn_cast<CXXDefaultInitExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7179 Init = DIE->getExpr(); in visitLocalsRetainedByReferenceBinding()
7181 } while (Init != Old); in visitLocalsRetainedByReferenceBinding()
7183 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7189 if (isa<CallExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7191 handleGslAnnotatedTypes(Path, Init, Visit); in visitLocalsRetainedByReferenceBinding()
7192 return visitLifetimeBoundArguments(Path, Init, Visit); in visitLocalsRetainedByReferenceBinding()
7195 switch (Init->getStmtClass()) { in visitLocalsRetainedByReferenceBinding()
7199 auto *DRE = cast<DeclRefExpr>(Init); in visitLocalsRetainedByReferenceBinding()
7223 const UnaryOperator *U = cast<UnaryOperator>(Init); in visitLocalsRetainedByReferenceBinding()
7232 cast<OMPArraySectionExpr>(Init)->getBase(), in visitLocalsRetainedByReferenceBinding()
7239 auto *C = cast<AbstractConditionalOperator>(Init); in visitLocalsRetainedByReferenceBinding()
7259 Expr *Init, LocalVisitor Visit, in visitLocalsRetainedByInitializer() argument
7266 Old = Init; in visitLocalsRetainedByInitializer()
7270 if (auto *DIE = dyn_cast<CXXDefaultInitExpr>(Init)) { in visitLocalsRetainedByInitializer()
7272 Init = DIE->getExpr(); in visitLocalsRetainedByInitializer()
7275 if (auto *FE = dyn_cast<FullExpr>(Init)) in visitLocalsRetainedByInitializer()
7276 Init = FE->getSubExpr(); in visitLocalsRetainedByInitializer()
7279 Init = const_cast<Expr *>(Init->skipRValueSubobjectAdjustments()); in visitLocalsRetainedByInitializer()
7281 if (CXXBindTemporaryExpr *BTE = dyn_cast<CXXBindTemporaryExpr>(Init)) in visitLocalsRetainedByInitializer()
7282 Init = BTE->getSubExpr(); in visitLocalsRetainedByInitializer()
7284 Init = Init->IgnoreParens(); in visitLocalsRetainedByInitializer()
7287 if (auto *CE = dyn_cast<CastExpr>(Init)) { in visitLocalsRetainedByInitializer()
7294 Path, Init, RK_ReferenceBinding, in visitLocalsRetainedByInitializer()
7347 Init = CE->getSubExpr(); in visitLocalsRetainedByInitializer()
7349 } while (Old != Init); in visitLocalsRetainedByInitializer()
7354 if (auto *ILE = dyn_cast<CXXStdInitializerListExpr>(Init)) in visitLocalsRetainedByInitializer()
7359 if (InitListExpr *ILE = dyn_cast<InitListExpr>(Init)) { in visitLocalsRetainedByInitializer()
7422 if (auto *LE = dyn_cast<LambdaExpr>(Init)) { in visitLocalsRetainedByInitializer()
7444 if (auto *CCE = dyn_cast<CXXConstructExpr>(Init)) { in visitLocalsRetainedByInitializer()
7457 if (isa<CallExpr>(Init) || isa<CXXConstructExpr>(Init)) { in visitLocalsRetainedByInitializer()
7459 handleGslAnnotatedTypes(Path, Init, Visit); in visitLocalsRetainedByInitializer()
7460 return visitLifetimeBoundArguments(Path, Init, Visit); in visitLocalsRetainedByInitializer()
7463 switch (Init->getStmtClass()) { in visitLocalsRetainedByInitializer()
7465 auto *UO = cast<UnaryOperator>(Init); in visitLocalsRetainedByInitializer()
7485 auto *BO = cast<BinaryOperator>(Init); in visitLocalsRetainedByInitializer()
7501 auto *C = cast<AbstractConditionalOperator>(Init); in visitLocalsRetainedByInitializer()
7514 if (cast<BlockExpr>(Init)->getBlockDecl()->hasCaptures()) { in visitLocalsRetainedByInitializer()
7516 Visit(Path, Local(cast<BlockExpr>(Init)), RK_ReferenceBinding); in visitLocalsRetainedByInitializer()
7522 Visit(Path, Local(cast<AddrLabelExpr>(Init)), RK_ReferenceBinding); in visitLocalsRetainedByInitializer()
7603 Expr *Init) { in checkInitializerLifetime() argument
7692 << ExtendingEntity->getDecl() << Init->isGLValue() << DiagRange; in checkInitializerLifetime()
7866 if (Init->isGLValue()) in checkInitializerLifetime()
7867 visitLocalsRetainedByReferenceBinding(Path, Init, RK_ReferenceBinding, in checkInitializerLifetime()
7871 visitLocalsRetainedByInitializer(Path, Init, TemporaryVisitor, false, in checkInitializerLifetime()
8133 Expr *Init = Args[0]; in Perform() local
8134 S.Diag(Init->getBeginLoc(), diag::warn_cxx98_compat_reference_list_init) in Perform()
8135 << Init->getSourceRange(); in Perform()
8820 Expr *Init = CurInit.get()->IgnoreParens(); in Perform() local
8821 QualType SourceType = Init->getType(); in Perform()
8828 } else if (const DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(Init)) { in Perform()
8834 S.Context, Step->Type, CK_LValueToRValue, Init, in Perform()
8846 Init = cast<ImplicitCastExpr>(const_cast<Expr*>( in Perform()
8848 SourceType = Init->getType(); in Perform()
8855 if (!Init->isConstantInitializer(S.Context, false)) in Perform()
8866 Init->EvaluateAsInt(EVResult, S.Context); in Perform()
8891 CurInit = S.ImpCastExprToType(Init, S.Context.OCLSamplerTy, in Perform()
8910 if (auto *Init = CurInit.get()) in Perform() local
8911 S.checkInitializerLifetime(Entity, Init); in Perform()
9951 ExprResult Init) { in CanPerformCopyInitialization() argument
9952 if (Init.isInvalid()) in CanPerformCopyInitialization()
9955 Expr *InitE = Init.get(); in CanPerformCopyInitialization()
9967 ExprResult Init, in PerformCopyInitialization() argument
9970 if (Init.isInvalid()) in PerformCopyInitialization()
9973 Expr *InitE = Init.get(); in PerformCopyInitialization()