Lines Matching refs:Init
72 static StringInitFailureKind IsStringInit(Expr *Init, const ArrayType *AT, in IsStringInit() argument
78 Init = Init->IgnoreParens(); in IsStringInit()
81 if (isa<ObjCEncodeExpr>(Init) && AT->getElementType()->isCharType()) in IsStringInit()
85 StringLiteral *SL = dyn_cast<StringLiteral>(Init); in IsStringInit()
166 bool Sema::IsStringInit(Expr *Init, const ArrayType *AT) { in IsStringInit() argument
167 return ::IsStringInit(Init, AT, Context) == SIF_None; in IsStringInit()
463 void FillInEmptyInitForBase(unsigned Init, const CXXBaseSpecifier &Base,
467 void FillInEmptyInitForField(unsigned Init, FieldDecl *Field,
628 unsigned Init, const CXXBaseSpecifier &Base, in FillInEmptyInitForBase() argument
634 if (Init >= ILE->getNumInits() || !ILE->getInit(Init)) { in FillInEmptyInitForBase()
644 assert(Init < ILE->getNumInits() && "should have been expanded"); in FillInEmptyInitForBase()
645 ILE->setInit(Init, BaseInit.getAs<Expr>()); in FillInEmptyInitForBase()
648 dyn_cast<InitListExpr>(ILE->getInit(Init))) { in FillInEmptyInitForBase()
650 ILE, Init, FillWithNoInit); in FillInEmptyInitForBase()
652 dyn_cast<DesignatedInitUpdateExpr>(ILE->getInit(Init))) { in FillInEmptyInitForBase()
654 RequiresSecondPass, ILE, Init, in FillInEmptyInitForBase()
659 void InitListChecker::FillInEmptyInitForField(unsigned Init, FieldDecl *Field, in FillInEmptyInitForField() argument
669 if (Init >= NumInits || !ILE->getInit(Init)) { in FillInEmptyInitForField()
672 assert((Init < NumInits || VerifyOnly) && in FillInEmptyInitForField()
678 if (Init < NumInits) in FillInEmptyInitForField()
679 ILE->setInit(Init, Filler); in FillInEmptyInitForField()
681 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitForField()
698 if (Init < NumInits) in FillInEmptyInitForField()
699 ILE->setInit(Init, DIE.get()); in FillInEmptyInitForField()
701 ILE->updateInit(SemaRef.Context, Init, DIE.get()); in FillInEmptyInitForField()
731 } else if (Init < NumInits) { in FillInEmptyInitForField()
732 ILE->setInit(Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
738 ILE->updateInit(SemaRef.Context, Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
742 = dyn_cast<InitListExpr>(ILE->getInit(Init))) { in FillInEmptyInitForField()
744 RequiresSecondPass, ILE, Init, FillWithNoInit); in FillInEmptyInitForField()
746 dyn_cast<DesignatedInitUpdateExpr>(ILE->getInit(Init))) { in FillInEmptyInitForField()
748 RequiresSecondPass, ILE, Init, in FillInEmptyInitForField()
816 unsigned Init = 0; in FillInEmptyInitializations() local
823 FillInEmptyInitForBase(Init, Base, Entity, ILE, RequiresSecondPass, in FillInEmptyInitializations()
825 ++Init; in FillInEmptyInitializations()
836 FillInEmptyInitForField(Init, Field, Entity, ILE, RequiresSecondPass, in FillInEmptyInitializations()
841 ++Init; in FillInEmptyInitializations()
876 for (unsigned Init = 0; Init != NumElements; ++Init) { in FillInEmptyInitializations() local
882 ElementEntity.setElementIndex(Init); in FillInEmptyInitializations()
884 if (Init >= NumInits && (ILE->hasArrayFiller() || SkipEmptyInitChecks)) in FillInEmptyInitializations()
887 Expr *InitExpr = (Init < NumInits ? ILE->getInit(Init) : nullptr); in FillInEmptyInitializations()
888 if (!InitExpr && Init < NumInits && ILE->hasArrayFiller()) in FillInEmptyInitializations()
889 ILE->setInit(Init, ILE->getArrayFiller()); in FillInEmptyInitializations()
915 } else if (Init < NumInits) { in FillInEmptyInitializations()
921 ILE->setInit(Init, Filler); in FillInEmptyInitializations()
935 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitializations()
942 ILE, Init, FillWithNoInit); in FillInEmptyInitializations()
946 RequiresSecondPass, ILE, Init, in FillInEmptyInitializations()
953 for (const Stmt *Init : *IL) in hasAnyDesignatedInits()
954 if (isa_and_nonnull<DesignatedInitExpr>(Init)) in hasAnyDesignatedInits()
1760 Expr *Init = IList->getInit(Index); in CheckVectorType() local
1761 if (!isa<InitListExpr>(Init) && Init->getType()->isVectorType()) { in CheckVectorType()
1764 if (SemaRef.CanPerformCopyInitialization(Entity, Init)) in CheckVectorType()
1770 SemaRef.PerformCopyInitialization(Entity, Init->getBeginLoc(), Init, in CheckVectorType()
1780 if (ResultExpr != Init && !VerifyOnly) { in CheckVectorType()
1996 Expr *Init = IList->getInit(Index); in CheckArrayType() local
1997 if (DesignatedInitExpr *DIE = dyn_cast<DesignatedInitExpr>(Init)) { in CheckArrayType()
2169 Expr *Init = Index < IList->getNumInits() ? IList->getInit(Index) : nullptr; in CheckStructUnionTypes() local
2173 if (Init && isa<DesignatedInitExpr>(Init)) in CheckStructUnionTypes()
2174 Init = nullptr; in CheckStructUnionTypes()
2204 SourceLocation InitLoc = Init ? Init->getBeginLoc() : IList->getEndLoc(); in CheckStructUnionTypes()
2207 if (Init) { in CheckStructUnionTypes()
2237 Expr *Init = IList->getInit(Index); in CheckStructUnionTypes() local
2238 SourceLocation InitLoc = Init->getBeginLoc(); in CheckStructUnionTypes()
2240 if (DesignatedInitExpr *DIE = dyn_cast<DesignatedInitExpr>(Init)) { in CheckStructUnionTypes()
2302 if (RD->isRandomized() && !IsZeroInitializer(Init)) { in CheckStructUnionTypes()
2561 Expr *Init = DIE->getInit(); in CheckDesignatedInitializer() local
2562 assert(isa<InitListExpr>(Init) && in CheckDesignatedInitializer()
2565 DIE->getBeginLoc(), Init->getBeginLoc(), Init->getEndLoc()); in CheckDesignatedInitializer()
2566 InitializationSequence Seq(SemaRef, Entity, Kind, Init, in CheckDesignatedInitializer()
2571 : Seq.Perform(SemaRef, Entity, Kind, Init); in CheckDesignatedInitializer()
3086 Expr *Init = new (Context) IntegerLiteral( in CheckDesignatedInitializer() local
3089 Init = ImplicitCastExpr::Create(Context, CharTy, CK_IntegralCast, in CheckDesignatedInitializer()
3090 Init, nullptr, VK_PRValue, in CheckDesignatedInitializer()
3092 StructuredList->updateInit(Context, i, Init); in CheckDesignatedInitializer()
3109 Expr *Init = new (Context) IntegerLiteral( in CheckDesignatedInitializer() local
3112 Init = ImplicitCastExpr::Create(Context, CharTy, CK_IntegralCast, in CheckDesignatedInitializer()
3113 Init, nullptr, VK_PRValue, in CheckDesignatedInitializer()
3115 StructuredList->updateInit(Context, i, Init); in CheckDesignatedInitializer()
3228 if (auto *Init = dyn_cast_or_null<InitListExpr>(IList->getInit(Index))) in getStructuredSubobjectInit() local
3229 ExpectedNumInits = Init->getNumInits(); in getStructuredSubobjectInit()
3341 ExprResult Init) { in ActOnDesignatedInitializer() argument
3409 if (Invalid || Init.isInvalid()) in ActOnDesignatedInitializer()
3414 Init.getAs<Expr>()); in ActOnDesignatedInitializer()
3993 std::string Init = S.getFixItZeroInitializerForType(VariableTy, Loc); in maybeRecoverWithZeroInitialization() local
3994 if (!Init.empty()) { in maybeRecoverWithZeroInitialization()
3996 Sequence.SetZeroInitializationFixit(Init, Loc); in maybeRecoverWithZeroInitialization()
4717 Expr *Init = InitList->getInit(0); in TryListInitialization() local
4718 if (Init->getType()->isRecordType() || in TryListInitialization()
4719 (Init->getType()->isNullPtrType() && DestType->isBooleanType())) { in TryListInitialization()
4726 Expr *SubInit[1] = { Init }; in TryListInitialization()
5862 const Expr *Init) { in isLibstdcxxPointerReturnFalseHack() argument
5866 isa<CXXBoolLiteralExpr>(Init) && in isLibstdcxxPointerReturnFalseHack()
5867 !cast<CXXBoolLiteralExpr>(Init)->getValue() && in isLibstdcxxPointerReturnFalseHack()
5868 S.getSourceManager().isInSystemHeader(Init->getExprLoc()); in isLibstdcxxPointerReturnFalseHack()
7364 Expr *Init, LocalVisitor Visit,
7369 Expr *Init, ReferenceKind RK,
7619 Expr *Init, ReferenceKind RK, in visitLocalsRetainedByReferenceBinding() argument
7627 Old = Init; in visitLocalsRetainedByReferenceBinding()
7629 if (auto *FE = dyn_cast<FullExpr>(Init)) in visitLocalsRetainedByReferenceBinding()
7630 Init = FE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
7632 if (InitListExpr *ILE = dyn_cast<InitListExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7635 Init = ILE->getInit(0); in visitLocalsRetainedByReferenceBinding()
7640 Init = const_cast<Expr *>(Init->skipRValueSubobjectAdjustments()); in visitLocalsRetainedByReferenceBinding()
7644 if (CastExpr *CE = dyn_cast<CastExpr>(Init)) in visitLocalsRetainedByReferenceBinding()
7646 Init = CE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
7650 if (auto *ASE = dyn_cast<ArraySubscriptExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7651 Init = ASE->getBase(); in visitLocalsRetainedByReferenceBinding()
7652 auto *ICE = dyn_cast<ImplicitCastExpr>(Init); in visitLocalsRetainedByReferenceBinding()
7654 Init = ICE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
7658 return visitLocalsRetainedByInitializer(Path, Init, Visit, true, in visitLocalsRetainedByReferenceBinding()
7664 if (auto *DIE = dyn_cast<CXXDefaultInitExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7667 Init = DIE->getExpr(); in visitLocalsRetainedByReferenceBinding()
7669 } while (Init != Old); in visitLocalsRetainedByReferenceBinding()
7671 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7677 if (isa<CallExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
7679 handleGslAnnotatedTypes(Path, Init, Visit); in visitLocalsRetainedByReferenceBinding()
7680 return visitLifetimeBoundArguments(Path, Init, Visit); in visitLocalsRetainedByReferenceBinding()
7683 switch (Init->getStmtClass()) { in visitLocalsRetainedByReferenceBinding()
7687 auto *DRE = cast<DeclRefExpr>(Init); in visitLocalsRetainedByReferenceBinding()
7711 const UnaryOperator *U = cast<UnaryOperator>(Init); in visitLocalsRetainedByReferenceBinding()
7720 cast<OMPArraySectionExpr>(Init)->getBase(), in visitLocalsRetainedByReferenceBinding()
7727 auto *C = cast<AbstractConditionalOperator>(Init); in visitLocalsRetainedByReferenceBinding()
7747 Expr *Init, LocalVisitor Visit, in visitLocalsRetainedByInitializer() argument
7754 Old = Init; in visitLocalsRetainedByInitializer()
7758 if (auto *DIE = dyn_cast<CXXDefaultInitExpr>(Init)) { in visitLocalsRetainedByInitializer()
7760 Init = DIE->getExpr(); in visitLocalsRetainedByInitializer()
7763 if (auto *FE = dyn_cast<FullExpr>(Init)) in visitLocalsRetainedByInitializer()
7764 Init = FE->getSubExpr(); in visitLocalsRetainedByInitializer()
7767 Init = const_cast<Expr *>(Init->skipRValueSubobjectAdjustments()); in visitLocalsRetainedByInitializer()
7769 if (CXXBindTemporaryExpr *BTE = dyn_cast<CXXBindTemporaryExpr>(Init)) in visitLocalsRetainedByInitializer()
7770 Init = BTE->getSubExpr(); in visitLocalsRetainedByInitializer()
7772 Init = Init->IgnoreParens(); in visitLocalsRetainedByInitializer()
7775 if (auto *CE = dyn_cast<CastExpr>(Init)) { in visitLocalsRetainedByInitializer()
7782 Path, Init, RK_ReferenceBinding, in visitLocalsRetainedByInitializer()
7835 Init = CE->getSubExpr(); in visitLocalsRetainedByInitializer()
7837 } while (Old != Init); in visitLocalsRetainedByInitializer()
7842 if (auto *ILE = dyn_cast<CXXStdInitializerListExpr>(Init)) in visitLocalsRetainedByInitializer()
7847 if (InitListExpr *ILE = dyn_cast<InitListExpr>(Init)) { in visitLocalsRetainedByInitializer()
7910 if (auto *LE = dyn_cast<LambdaExpr>(Init)) { in visitLocalsRetainedByInitializer()
7932 if (auto *CCE = dyn_cast<CXXConstructExpr>(Init)) { in visitLocalsRetainedByInitializer()
7945 if (isa<CallExpr>(Init) || isa<CXXConstructExpr>(Init)) { in visitLocalsRetainedByInitializer()
7947 handleGslAnnotatedTypes(Path, Init, Visit); in visitLocalsRetainedByInitializer()
7948 return visitLifetimeBoundArguments(Path, Init, Visit); in visitLocalsRetainedByInitializer()
7951 switch (Init->getStmtClass()) { in visitLocalsRetainedByInitializer()
7953 auto *UO = cast<UnaryOperator>(Init); in visitLocalsRetainedByInitializer()
7973 auto *BO = cast<BinaryOperator>(Init); in visitLocalsRetainedByInitializer()
7989 auto *C = cast<AbstractConditionalOperator>(Init); in visitLocalsRetainedByInitializer()
8002 if (cast<BlockExpr>(Init)->getBlockDecl()->hasCaptures()) { in visitLocalsRetainedByInitializer()
8004 Visit(Path, Local(cast<BlockExpr>(Init)), RK_ReferenceBinding); in visitLocalsRetainedByInitializer()
8010 Visit(Path, Local(cast<AddrLabelExpr>(Init)), RK_ReferenceBinding); in visitLocalsRetainedByInitializer()
8091 Expr *Init) { in checkInitializerLifetime() argument
8180 << ExtendingEntity->getDecl() << Init->isGLValue() << DiagRange; in checkInitializerLifetime()
8354 if (Init->isGLValue()) in checkInitializerLifetime()
8355 visitLocalsRetainedByReferenceBinding(Path, Init, RK_ReferenceBinding, in checkInitializerLifetime()
8359 visitLocalsRetainedByInitializer(Path, Init, TemporaryVisitor, false, in checkInitializerLifetime()
8631 Expr *Init = Args[0]; in Perform() local
8632 S.Diag(Init->getBeginLoc(), diag::warn_cxx98_compat_reference_list_init) in Perform()
8633 << Init->getSourceRange(); in Perform()
8641 Expr *Init = Args[0]; in Perform() local
8642 S.Diag(Init->getBeginLoc(), diag::ext_init_from_predefined) << Init; in Perform()
9323 Expr *Init = CurInit.get()->IgnoreParens(); in Perform() local
9324 QualType SourceType = Init->getType(); in Perform()
9331 } else if (const DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(Init)) { in Perform()
9337 S.Context, Step->Type, CK_LValueToRValue, Init, in Perform()
9349 Init = cast<ImplicitCastExpr>(const_cast<Expr*>( in Perform()
9351 SourceType = Init->getType(); in Perform()
9358 if (!Init->isConstantInitializer(S.Context, false)) in Perform()
9369 Init->EvaluateAsInt(EVResult, S.Context); in Perform()
9394 CurInit = S.ImpCastExprToType(Init, S.Context.OCLSamplerTy, in Perform()
9421 Expr *Init = CurInit.get(); in Perform() local
9422 if (!Init) in Perform()
9427 S.checkInitializerLifetime(Entity, Init); in Perform()
9435 cast<FieldDecl>(Entity.getDecl()), Init); in Perform()
9438 CheckMoveOnConstruction(S, Init, in Perform()
9441 return Init; in Perform()
10502 ExprResult Init) { in CanPerformCopyInitialization() argument
10503 if (Init.isInvalid()) in CanPerformCopyInitialization()
10506 Expr *InitE = Init.get(); in CanPerformCopyInitialization()
10518 ExprResult Init, in PerformCopyInitialization() argument
10521 if (Init.isInvalid()) in PerformCopyInitialization()
10524 Expr *InitE = Init.get(); in PerformCopyInitialization()