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()
155 bool Sema::IsStringInit(Expr *Init, const ArrayType *AT) { in IsStringInit() argument
156 return ::IsStringInit(Init, AT, Context) == SIF_None; in IsStringInit()
470 void FillInEmptyInitForBase(unsigned Init, const CXXBaseSpecifier &Base,
474 void FillInEmptyInitForField(unsigned Init, FieldDecl *Field,
625 unsigned Init, const CXXBaseSpecifier &Base, in FillInEmptyInitForBase() argument
631 if (Init >= ILE->getNumInits() || !ILE->getInit(Init)) { in FillInEmptyInitForBase()
641 assert(Init < ILE->getNumInits() && "should have been expanded"); in FillInEmptyInitForBase()
642 ILE->setInit(Init, BaseInit.getAs<Expr>()); in FillInEmptyInitForBase()
645 dyn_cast<InitListExpr>(ILE->getInit(Init))) { in FillInEmptyInitForBase()
647 ILE, Init, FillWithNoInit); in FillInEmptyInitForBase()
649 dyn_cast<DesignatedInitUpdateExpr>(ILE->getInit(Init))) { in FillInEmptyInitForBase()
651 RequiresSecondPass, ILE, Init, in FillInEmptyInitForBase()
656 void InitListChecker::FillInEmptyInitForField(unsigned Init, FieldDecl *Field, in FillInEmptyInitForField() argument
666 if (Init >= NumInits || !ILE->getInit(Init)) { in FillInEmptyInitForField()
669 assert((Init < NumInits || VerifyOnly) && in FillInEmptyInitForField()
675 if (Init < NumInits) in FillInEmptyInitForField()
676 ILE->setInit(Init, Filler); in FillInEmptyInitForField()
678 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitForField()
695 if (Init < NumInits) in FillInEmptyInitForField()
696 ILE->setInit(Init, DIE.get()); in FillInEmptyInitForField()
698 ILE->updateInit(SemaRef.Context, Init, DIE.get()); in FillInEmptyInitForField()
728 } else if (Init < NumInits) { in FillInEmptyInitForField()
729 ILE->setInit(Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
735 ILE->updateInit(SemaRef.Context, Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
739 = dyn_cast<InitListExpr>(ILE->getInit(Init))) { in FillInEmptyInitForField()
741 RequiresSecondPass, ILE, Init, FillWithNoInit); in FillInEmptyInitForField()
743 dyn_cast<DesignatedInitUpdateExpr>(ILE->getInit(Init))) { in FillInEmptyInitForField()
745 RequiresSecondPass, ILE, Init, in FillInEmptyInitForField()
813 unsigned Init = 0; in FillInEmptyInitializations() local
820 FillInEmptyInitForBase(Init, Base, Entity, ILE, RequiresSecondPass, in FillInEmptyInitializations()
822 ++Init; in FillInEmptyInitializations()
833 FillInEmptyInitForField(Init, Field, Entity, ILE, RequiresSecondPass, in FillInEmptyInitializations()
838 ++Init; in FillInEmptyInitializations()
873 for (unsigned Init = 0; Init != NumElements; ++Init) { in FillInEmptyInitializations() local
879 ElementEntity.setElementIndex(Init); in FillInEmptyInitializations()
881 if (Init >= NumInits && (ILE->hasArrayFiller() || SkipEmptyInitChecks)) in FillInEmptyInitializations()
884 Expr *InitExpr = (Init < NumInits ? ILE->getInit(Init) : nullptr); in FillInEmptyInitializations()
885 if (!InitExpr && Init < NumInits && ILE->hasArrayFiller()) in FillInEmptyInitializations()
886 ILE->setInit(Init, ILE->getArrayFiller()); in FillInEmptyInitializations()
912 } else if (Init < NumInits) { in FillInEmptyInitializations()
918 ILE->setInit(Init, Filler); in FillInEmptyInitializations()
932 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitializations()
939 ILE, Init, FillWithNoInit); in FillInEmptyInitializations()
943 RequiresSecondPass, ILE, Init, in FillInEmptyInitializations()
950 for (const Stmt *Init : *IL) in hasAnyDesignatedInits()
951 if (Init && isa<DesignatedInitExpr>(Init)) in hasAnyDesignatedInits()
1716 Expr *Init = IList->getInit(Index); in CheckVectorType() local
1717 if (!isa<InitListExpr>(Init) && Init->getType()->isVectorType()) { in CheckVectorType()
1720 if (SemaRef.CanPerformCopyInitialization(Entity, Init)) in CheckVectorType()
1726 SemaRef.PerformCopyInitialization(Entity, Init->getBeginLoc(), Init, in CheckVectorType()
1736 if (ResultExpr != Init && !VerifyOnly) { in CheckVectorType()
1935 Expr *Init = IList->getInit(Index); in CheckArrayType() local
1936 if (DesignatedInitExpr *DIE = dyn_cast<DesignatedInitExpr>(Init)) { in CheckArrayType()
2109 Expr *Init = Index < IList->getNumInits() ? IList->getInit(Index) : nullptr; in CheckStructUnionTypes() local
2113 if (Init && isa<DesignatedInitExpr>(Init)) in CheckStructUnionTypes()
2114 Init = nullptr; in CheckStructUnionTypes()
2116 SourceLocation InitLoc = Init ? Init->getBeginLoc() : IList->getEndLoc(); in CheckStructUnionTypes()
2119 if (Init) { in CheckStructUnionTypes()
2148 Expr *Init = IList->getInit(Index); in CheckStructUnionTypes() local
2149 SourceLocation InitLoc = Init->getBeginLoc(); in CheckStructUnionTypes()
2151 if (DesignatedInitExpr *DIE = dyn_cast<DesignatedInitExpr>(Init)) { in CheckStructUnionTypes()
2209 if (RD->isRandomized() && !IsZeroInitializer(Init)) { in CheckStructUnionTypes()
2460 Expr *Init = DIE->getInit(); in CheckDesignatedInitializer() local
2461 assert(isa<InitListExpr>(Init) && in CheckDesignatedInitializer()
2464 DIE->getBeginLoc(), Init->getBeginLoc(), Init->getEndLoc()); in CheckDesignatedInitializer()
2465 InitializationSequence Seq(SemaRef, Entity, Kind, Init, in CheckDesignatedInitializer()
2470 : Seq.Perform(SemaRef, Entity, Kind, Init); in CheckDesignatedInitializer()
2966 Expr *Init = new (Context) IntegerLiteral( in CheckDesignatedInitializer() local
2969 Init = ImplicitCastExpr::Create(Context, CharTy, CK_IntegralCast, in CheckDesignatedInitializer()
2970 Init, nullptr, VK_PRValue, in CheckDesignatedInitializer()
2972 StructuredList->updateInit(Context, i, Init); in CheckDesignatedInitializer()
2989 Expr *Init = new (Context) IntegerLiteral( in CheckDesignatedInitializer() local
2992 Init = ImplicitCastExpr::Create(Context, CharTy, CK_IntegralCast, in CheckDesignatedInitializer()
2993 Init, nullptr, VK_PRValue, in CheckDesignatedInitializer()
2995 StructuredList->updateInit(Context, i, Init); in CheckDesignatedInitializer()
3108 if (auto *Init = dyn_cast_or_null<InitListExpr>(IList->getInit(Index))) in getStructuredSubobjectInit() local
3109 ExpectedNumInits = Init->getNumInits(); in getStructuredSubobjectInit()
3219 ExprResult Init) { in ActOnDesignatedInitializer() argument
3296 if (Invalid || Init.isInvalid()) in ActOnDesignatedInitializer()
3304 Init.getAs<Expr>()); in ActOnDesignatedInitializer()
3882 std::string Init = S.getFixItZeroInitializerForType(VariableTy, Loc); in maybeRecoverWithZeroInitialization() local
3883 if (!Init.empty()) { in maybeRecoverWithZeroInitialization()
3885 Sequence.SetZeroInitializationFixit(Init, Loc); in maybeRecoverWithZeroInitialization()
4579 Expr *Init = InitList->getInit(0); in TryListInitialization() local
4580 if (Init->getType()->isRecordType() || in TryListInitialization()
4581 (Init->getType()->isNullPtrType() && DestType->isBooleanType())) { in TryListInitialization()
4588 Expr *SubInit[1] = { Init }; in TryListInitialization()
5722 const Expr *Init) { in isLibstdcxxPointerReturnFalseHack() argument
5726 isa<CXXBoolLiteralExpr>(Init) && in isLibstdcxxPointerReturnFalseHack()
5727 !cast<CXXBoolLiteralExpr>(Init)->getValue() && in isLibstdcxxPointerReturnFalseHack()
5728 S.getSourceManager().isInSystemHeader(Init->getExprLoc()); in isLibstdcxxPointerReturnFalseHack()
7223 Expr *Init, LocalVisitor Visit,
7228 Expr *Init, ReferenceKind RK,
7459 Expr *Init, ReferenceKind RK, in visitLocalsRetainedByReferenceBinding() argument
7467 Old = Init; in visitLocalsRetainedByReferenceBinding()
7469 if (auto *FE = dyn_cast<FullExpr>(Init)) in visitLocalsRetainedByReferenceBinding()
7470 Init = FE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
7472 if (InitListExpr *ILE = dyn_cast<InitListExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7475 Init = ILE->getInit(0); in visitLocalsRetainedByReferenceBinding()
7480 Init = const_cast<Expr *>(Init->skipRValueSubobjectAdjustments()); in visitLocalsRetainedByReferenceBinding()
7484 if (CastExpr *CE = dyn_cast<CastExpr>(Init)) in visitLocalsRetainedByReferenceBinding()
7486 Init = CE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
7490 if (auto *ASE = dyn_cast<ArraySubscriptExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7491 Init = ASE->getBase(); in visitLocalsRetainedByReferenceBinding()
7492 auto *ICE = dyn_cast<ImplicitCastExpr>(Init); in visitLocalsRetainedByReferenceBinding()
7494 Init = ICE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
7498 return visitLocalsRetainedByInitializer(Path, Init, Visit, true, in visitLocalsRetainedByReferenceBinding()
7504 if (auto *DIE = dyn_cast<CXXDefaultInitExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7507 Init = DIE->getExpr(); in visitLocalsRetainedByReferenceBinding()
7509 } while (Init != Old); in visitLocalsRetainedByReferenceBinding()
7511 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7517 if (isa<CallExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7519 handleGslAnnotatedTypes(Path, Init, Visit); in visitLocalsRetainedByReferenceBinding()
7520 return visitLifetimeBoundArguments(Path, Init, Visit); in visitLocalsRetainedByReferenceBinding()
7523 switch (Init->getStmtClass()) { in visitLocalsRetainedByReferenceBinding()
7527 auto *DRE = cast<DeclRefExpr>(Init); in visitLocalsRetainedByReferenceBinding()
7551 const UnaryOperator *U = cast<UnaryOperator>(Init); in visitLocalsRetainedByReferenceBinding()
7560 cast<OMPArraySectionExpr>(Init)->getBase(), in visitLocalsRetainedByReferenceBinding()
7567 auto *C = cast<AbstractConditionalOperator>(Init); in visitLocalsRetainedByReferenceBinding()
7587 Expr *Init, LocalVisitor Visit, in visitLocalsRetainedByInitializer() argument
7594 Old = Init; in visitLocalsRetainedByInitializer()
7598 if (auto *DIE = dyn_cast<CXXDefaultInitExpr>(Init)) { in visitLocalsRetainedByInitializer()
7600 Init = DIE->getExpr(); in visitLocalsRetainedByInitializer()
7603 if (auto *FE = dyn_cast<FullExpr>(Init)) in visitLocalsRetainedByInitializer()
7604 Init = FE->getSubExpr(); in visitLocalsRetainedByInitializer()
7607 Init = const_cast<Expr *>(Init->skipRValueSubobjectAdjustments()); in visitLocalsRetainedByInitializer()
7609 if (CXXBindTemporaryExpr *BTE = dyn_cast<CXXBindTemporaryExpr>(Init)) in visitLocalsRetainedByInitializer()
7610 Init = BTE->getSubExpr(); in visitLocalsRetainedByInitializer()
7612 Init = Init->IgnoreParens(); in visitLocalsRetainedByInitializer()
7615 if (auto *CE = dyn_cast<CastExpr>(Init)) { in visitLocalsRetainedByInitializer()
7622 Path, Init, RK_ReferenceBinding, in visitLocalsRetainedByInitializer()
7675 Init = CE->getSubExpr(); in visitLocalsRetainedByInitializer()
7677 } while (Old != Init); in visitLocalsRetainedByInitializer()
7682 if (auto *ILE = dyn_cast<CXXStdInitializerListExpr>(Init)) in visitLocalsRetainedByInitializer()
7687 if (InitListExpr *ILE = dyn_cast<InitListExpr>(Init)) { in visitLocalsRetainedByInitializer()
7750 if (auto *LE = dyn_cast<LambdaExpr>(Init)) { in visitLocalsRetainedByInitializer()
7772 if (auto *CCE = dyn_cast<CXXConstructExpr>(Init)) { in visitLocalsRetainedByInitializer()
7785 if (isa<CallExpr>(Init) || isa<CXXConstructExpr>(Init)) { in visitLocalsRetainedByInitializer()
7787 handleGslAnnotatedTypes(Path, Init, Visit); in visitLocalsRetainedByInitializer()
7788 return visitLifetimeBoundArguments(Path, Init, Visit); in visitLocalsRetainedByInitializer()
7791 switch (Init->getStmtClass()) { in visitLocalsRetainedByInitializer()
7793 auto *UO = cast<UnaryOperator>(Init); in visitLocalsRetainedByInitializer()
7813 auto *BO = cast<BinaryOperator>(Init); in visitLocalsRetainedByInitializer()
7829 auto *C = cast<AbstractConditionalOperator>(Init); in visitLocalsRetainedByInitializer()
7842 if (cast<BlockExpr>(Init)->getBlockDecl()->hasCaptures()) { in visitLocalsRetainedByInitializer()
7844 Visit(Path, Local(cast<BlockExpr>(Init)), RK_ReferenceBinding); in visitLocalsRetainedByInitializer()
7850 Visit(Path, Local(cast<AddrLabelExpr>(Init)), RK_ReferenceBinding); in visitLocalsRetainedByInitializer()
7931 Expr *Init) { in checkInitializerLifetime() argument
8020 << ExtendingEntity->getDecl() << Init->isGLValue() << DiagRange; in checkInitializerLifetime()
8194 if (Init->isGLValue()) in checkInitializerLifetime()
8195 visitLocalsRetainedByReferenceBinding(Path, Init, RK_ReferenceBinding, in checkInitializerLifetime()
8199 visitLocalsRetainedByInitializer(Path, Init, TemporaryVisitor, false, in checkInitializerLifetime()
8471 Expr *Init = Args[0]; in Perform() local
8472 S.Diag(Init->getBeginLoc(), diag::warn_cxx98_compat_reference_list_init) in Perform()
8473 << Init->getSourceRange(); in Perform()
9159 Expr *Init = CurInit.get()->IgnoreParens(); in Perform() local
9160 QualType SourceType = Init->getType(); in Perform()
9167 } else if (const DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(Init)) { in Perform()
9173 S.Context, Step->Type, CK_LValueToRValue, Init, in Perform()
9185 Init = cast<ImplicitCastExpr>(const_cast<Expr*>( in Perform()
9187 SourceType = Init->getType(); in Perform()
9194 if (!Init->isConstantInitializer(S.Context, false)) in Perform()
9205 Init->EvaluateAsInt(EVResult, S.Context); in Perform()
9230 CurInit = S.ImpCastExprToType(Init, S.Context.OCLSamplerTy, in Perform()
9259 if (auto *Init = CurInit.get()) in Perform() local
9260 S.checkInitializerLifetime(Entity, Init); in Perform()
10319 ExprResult Init) { in CanPerformCopyInitialization() argument
10320 if (Init.isInvalid()) in CanPerformCopyInitialization()
10323 Expr *InitE = Init.get(); in CanPerformCopyInitialization()
10335 ExprResult Init, in PerformCopyInitialization() argument
10338 if (Init.isInvalid()) in PerformCopyInitialization()
10341 Expr *InitE = Init.get(); in PerformCopyInitialization()