Lines Matching refs:Init

62 static StringInitFailureKind IsStringInit(Expr *Init, const ArrayType *AT,  in IsStringInit()  argument
68 Init = Init->IgnoreParens(); in IsStringInit()
71 if (isa<ObjCEncodeExpr>(Init) && AT->getElementType()->isCharType()) in IsStringInit()
75 StringLiteral *SL = dyn_cast<StringLiteral>(Init); in IsStringInit()
357 void FillInEmptyInitForBase(unsigned Init, const CXXBaseSpecifier &Base,
361 void FillInEmptyInitForField(unsigned Init, FieldDecl *Field,
511 unsigned Init, const CXXBaseSpecifier &Base, in FillInEmptyInitForBase() argument
514 assert(Init < ILE->getNumInits() && "should have been expanded"); in FillInEmptyInitForBase()
519 if (!ILE->getInit(Init)) { in FillInEmptyInitForBase()
530 ILE->setInit(Init, BaseInit.getAs<Expr>()); in FillInEmptyInitForBase()
532 dyn_cast<InitListExpr>(ILE->getInit(Init))) { in FillInEmptyInitForBase()
534 ILE, Init, FillWithNoInit); in FillInEmptyInitForBase()
536 dyn_cast<DesignatedInitUpdateExpr>(ILE->getInit(Init))) { in FillInEmptyInitForBase()
538 RequiresSecondPass, ILE, Init, in FillInEmptyInitForBase()
543 void InitListChecker::FillInEmptyInitForField(unsigned Init, FieldDecl *Field, in FillInEmptyInitForField() argument
555 assert(Init < NumInits && "This ILE should have been expanded"); in FillInEmptyInitForField()
557 if (Init >= NumInits || !ILE->getInit(Init)) { in FillInEmptyInitForField()
560 if (Init < NumInits) in FillInEmptyInitForField()
561 ILE->setInit(Init, Filler); in FillInEmptyInitForField()
563 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitForField()
577 if (Init < NumInits) in FillInEmptyInitForField()
578 ILE->setInit(Init, DIE.get()); in FillInEmptyInitForField()
580 ILE->updateInit(SemaRef.Context, Init, DIE.get()); in FillInEmptyInitForField()
610 } else if (Init < NumInits) { in FillInEmptyInitForField()
611 ILE->setInit(Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
617 ILE->updateInit(SemaRef.Context, Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
621 = dyn_cast<InitListExpr>(ILE->getInit(Init))) in FillInEmptyInitForField()
623 RequiresSecondPass, ILE, Init, FillWithNoInit); in FillInEmptyInitForField()
625 = dyn_cast<DesignatedInitUpdateExpr>(ILE->getInit(Init))) in FillInEmptyInitForField()
627 RequiresSecondPass, ILE, Init, in FillInEmptyInitForField()
689 unsigned Init = 0; in FillInEmptyInitializations() local
696 FillInEmptyInitForBase(Init, Base, Entity, ILE, RequiresSecondPass, in FillInEmptyInitializations()
698 ++Init; in FillInEmptyInitializations()
709 FillInEmptyInitForField(Init, Field, Entity, ILE, RequiresSecondPass, in FillInEmptyInitializations()
714 ++Init; in FillInEmptyInitializations()
748 for (unsigned Init = 0; Init != NumElements; ++Init) { in FillInEmptyInitializations() local
754 ElementEntity.setElementIndex(Init); in FillInEmptyInitializations()
756 if (Init >= NumInits && ILE->hasArrayFiller()) in FillInEmptyInitializations()
759 Expr *InitExpr = (Init < NumInits ? ILE->getInit(Init) : nullptr); in FillInEmptyInitializations()
760 if (!InitExpr && Init < NumInits && ILE->hasArrayFiller()) in FillInEmptyInitializations()
761 ILE->setInit(Init, ILE->getArrayFiller()); in FillInEmptyInitializations()
781 } else if (Init < NumInits) { in FillInEmptyInitializations()
787 ILE->setInit(Init, Filler); in FillInEmptyInitializations()
801 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitializations()
808 ILE, Init, FillWithNoInit); in FillInEmptyInitializations()
812 RequiresSecondPass, ILE, Init, in FillInEmptyInitializations()
1551 Expr *Init = IList->getInit(Index); in CheckVectorType() local
1552 if (!isa<InitListExpr>(Init) && Init->getType()->isVectorType()) { in CheckVectorType()
1554 if (!SemaRef.CanPerformCopyInitialization(Entity, Init)) in CheckVectorType()
1561 SemaRef.PerformCopyInitialization(Entity, Init->getBeginLoc(), Init, in CheckVectorType()
1570 if (ResultExpr != Init) { in CheckVectorType()
1739 Expr *Init = IList->getInit(Index); in CheckArrayType() local
1740 if (DesignatedInitExpr *DIE = dyn_cast<DesignatedInitExpr>(Init)) { in CheckArrayType()
1942 Expr *Init = Index < IList->getNumInits() ? IList->getInit(Index) : nullptr; in CheckStructUnionTypes() local
1946 if (Init && isa<DesignatedInitExpr>(Init)) in CheckStructUnionTypes()
1947 Init = nullptr; in CheckStructUnionTypes()
1949 SourceLocation InitLoc = Init ? Init->getBeginLoc() : IList->getEndLoc(); in CheckStructUnionTypes()
1952 if (Init) { in CheckStructUnionTypes()
1978 Expr *Init = IList->getInit(Index); in CheckStructUnionTypes() local
1979 SourceLocation InitLoc = Init->getBeginLoc(); in CheckStructUnionTypes()
1981 if (DesignatedInitExpr *DIE = dyn_cast<DesignatedInitExpr>(Init)) { in CheckStructUnionTypes()
2698 Expr *Init = new (Context) IntegerLiteral( in CheckDesignatedInitializer() local
2701 Init = ImplicitCastExpr::Create(Context, CharTy, CK_IntegralCast, in CheckDesignatedInitializer()
2702 Init, nullptr, VK_RValue); in CheckDesignatedInitializer()
2703 StructuredList->updateInit(Context, i, Init); in CheckDesignatedInitializer()
2720 Expr *Init = new (Context) IntegerLiteral( in CheckDesignatedInitializer() local
2723 Init = ImplicitCastExpr::Create(Context, CharTy, CK_IntegralCast, in CheckDesignatedInitializer()
2724 Init, nullptr, VK_RValue); in CheckDesignatedInitializer()
2725 StructuredList->updateInit(Context, i, Init); in CheckDesignatedInitializer()
2947 ExprResult Init) { in ActOnDesignatedInitializer() argument
3024 if (Invalid || Init.isInvalid()) in ActOnDesignatedInitializer()
3034 Init.getAs<Expr>()); in ActOnDesignatedInitializer()
3600 std::string Init = S.getFixItZeroInitializerForType(VariableTy, Loc); in maybeRecoverWithZeroInitialization() local
3601 if (!Init.empty()) { in maybeRecoverWithZeroInitialization()
3603 Sequence.SetZeroInitializationFixit(Init, Loc); in maybeRecoverWithZeroInitialization()
5096 const Expr *Init) { in isLibstdcxxPointerReturnFalseHack() argument
5100 isa<CXXBoolLiteralExpr>(Init) && in isLibstdcxxPointerReturnFalseHack()
5101 !cast<CXXBoolLiteralExpr>(Init)->getValue() && in isLibstdcxxPointerReturnFalseHack()
5102 S.getSourceManager().isInSystemHeader(Init->getExprLoc()); in isLibstdcxxPointerReturnFalseHack()
6471 Expr *Init, LocalVisitor Visit,
6475 Expr *Init, ReferenceKind RK,
6543 Expr *Init, ReferenceKind RK, in visitLocalsRetainedByReferenceBinding() argument
6550 Old = Init; in visitLocalsRetainedByReferenceBinding()
6552 if (auto *FE = dyn_cast<FullExpr>(Init)) in visitLocalsRetainedByReferenceBinding()
6553 Init = FE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
6555 if (InitListExpr *ILE = dyn_cast<InitListExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
6558 Init = ILE->getInit(0); in visitLocalsRetainedByReferenceBinding()
6563 Init = const_cast<Expr *>(Init->skipRValueSubobjectAdjustments()); in visitLocalsRetainedByReferenceBinding()
6567 if (CastExpr *CE = dyn_cast<CastExpr>(Init)) in visitLocalsRetainedByReferenceBinding()
6569 Init = CE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
6573 if (auto *ASE = dyn_cast<ArraySubscriptExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
6574 Init = ASE->getBase(); in visitLocalsRetainedByReferenceBinding()
6575 auto *ICE = dyn_cast<ImplicitCastExpr>(Init); in visitLocalsRetainedByReferenceBinding()
6577 Init = ICE->getSubExpr(); in visitLocalsRetainedByReferenceBinding()
6581 return visitLocalsRetainedByInitializer(Path, Init, Visit, true); in visitLocalsRetainedByReferenceBinding()
6586 if (auto *DIE = dyn_cast<CXXDefaultInitExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
6589 Init = DIE->getExpr(); in visitLocalsRetainedByReferenceBinding()
6591 } while (Init != Old); in visitLocalsRetainedByReferenceBinding()
6593 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(Init)) { in visitLocalsRetainedByReferenceBinding()
6599 if (isa<CallExpr>(Init)) in visitLocalsRetainedByReferenceBinding()
6600 return visitLifetimeBoundArguments(Path, Init, Visit); in visitLocalsRetainedByReferenceBinding()
6602 switch (Init->getStmtClass()) { in visitLocalsRetainedByReferenceBinding()
6606 auto *DRE = cast<DeclRefExpr>(Init); in visitLocalsRetainedByReferenceBinding()
6629 const UnaryOperator *U = cast<UnaryOperator>(Init); in visitLocalsRetainedByReferenceBinding()
6637 Path, cast<OMPArraySectionExpr>(Init)->getBase(), Visit, true); in visitLocalsRetainedByReferenceBinding()
6643 auto *C = cast<AbstractConditionalOperator>(Init); in visitLocalsRetainedByReferenceBinding()
6661 Expr *Init, LocalVisitor Visit, in visitLocalsRetainedByInitializer() argument
6667 Old = Init; in visitLocalsRetainedByInitializer()
6671 if (auto *DIE = dyn_cast<CXXDefaultInitExpr>(Init)) { in visitLocalsRetainedByInitializer()
6673 Init = DIE->getExpr(); in visitLocalsRetainedByInitializer()
6676 if (auto *FE = dyn_cast<FullExpr>(Init)) in visitLocalsRetainedByInitializer()
6677 Init = FE->getSubExpr(); in visitLocalsRetainedByInitializer()
6680 Init = const_cast<Expr *>(Init->skipRValueSubobjectAdjustments()); in visitLocalsRetainedByInitializer()
6682 if (CXXBindTemporaryExpr *BTE = dyn_cast<CXXBindTemporaryExpr>(Init)) in visitLocalsRetainedByInitializer()
6683 Init = BTE->getSubExpr(); in visitLocalsRetainedByInitializer()
6685 Init = Init->IgnoreParens(); in visitLocalsRetainedByInitializer()
6688 if (auto *CE = dyn_cast<CastExpr>(Init)) { in visitLocalsRetainedByInitializer()
6695 Path, Init, RK_ReferenceBinding, in visitLocalsRetainedByInitializer()
6746 Init = CE->getSubExpr(); in visitLocalsRetainedByInitializer()
6748 } while (Old != Init); in visitLocalsRetainedByInitializer()
6753 if (auto *ILE = dyn_cast<CXXStdInitializerListExpr>(Init)) in visitLocalsRetainedByInitializer()
6757 if (InitListExpr *ILE = dyn_cast<InitListExpr>(Init)) { in visitLocalsRetainedByInitializer()
6811 if (auto *LE = dyn_cast<LambdaExpr>(Init)) { in visitLocalsRetainedByInitializer()
6823 if (isa<CallExpr>(Init) || isa<CXXConstructExpr>(Init)) in visitLocalsRetainedByInitializer()
6824 return visitLifetimeBoundArguments(Path, Init, Visit); in visitLocalsRetainedByInitializer()
6826 switch (Init->getStmtClass()) { in visitLocalsRetainedByInitializer()
6828 auto *UO = cast<UnaryOperator>(Init); in visitLocalsRetainedByInitializer()
6847 auto *BO = cast<BinaryOperator>(Init); in visitLocalsRetainedByInitializer()
6861 auto *C = cast<AbstractConditionalOperator>(Init); in visitLocalsRetainedByInitializer()
6872 if (cast<BlockExpr>(Init)->getBlockDecl()->hasCaptures()) { in visitLocalsRetainedByInitializer()
6874 Visit(Path, Local(cast<BlockExpr>(Init)), RK_ReferenceBinding); in visitLocalsRetainedByInitializer()
6880 Visit(Path, Local(cast<AddrLabelExpr>(Init)), RK_ReferenceBinding); in visitLocalsRetainedByInitializer()
6919 Expr *Init) { in checkInitializerLifetime() argument
6978 << ExtendingEntity->getDecl() << Init->isGLValue() << DiagRange; in checkInitializerLifetime()
7116 if (Init->isGLValue()) in checkInitializerLifetime()
7117 visitLocalsRetainedByReferenceBinding(Path, Init, RK_ReferenceBinding, in checkInitializerLifetime()
7120 visitLocalsRetainedByInitializer(Path, Init, TemporaryVisitor, false); in checkInitializerLifetime()
7371 Expr *Init = Args[0]; in Perform() local
7372 S.Diag(Init->getBeginLoc(), diag::warn_cxx98_compat_reference_list_init) in Perform()
7373 << Init->getSourceRange(); in Perform()
8032 Expr *Init = CurInit.get(); in Perform() local
8033 QualType SourceType = Init->getType(); in Perform()
8040 } else if (const DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(Init)) { in Perform()
8046 CK_LValueToRValue, Init, in Perform()
8058 Init = cast<ImplicitCastExpr>(const_cast<Expr*>( in Perform()
8060 SourceType = Init->getType(); in Perform()
8067 if (!Init->isConstantInitializer(S.Context, false)) in Perform()
8078 Init->EvaluateAsInt(EVResult, S.Context); in Perform()
8103 CurInit = S.ImpCastExprToType(Init, S.Context.OCLSamplerTy, in Perform()
8122 if (auto *Init = CurInit.get()) in Perform() local
8123 S.checkInitializerLifetime(Entity, Init); in Perform()
9111 ExprResult Init) { in CanPerformCopyInitialization() argument
9112 if (Init.isInvalid()) in CanPerformCopyInitialization()
9115 Expr *InitE = Init.get(); in CanPerformCopyInitialization()
9127 ExprResult Init, in PerformCopyInitialization() argument
9130 if (Init.isInvalid()) in PerformCopyInitialization()
9133 Expr *InitE = Init.get(); in PerformCopyInitialization()