Lines Matching defs:ILE
494 InitListExpr *ILE, bool &RequiresSecondPass,
498 InitListExpr *ILE, bool &RequiresSecondPass,
501 InitListExpr *ILE, bool &RequiresSecondPass,
693 const InitializedEntity &ParentEntity, InitListExpr *ILE,
698 if (Init >= ILE->getNumInits() || !ILE->getInit(Init)) {
701 : PerformEmptyInit(ILE->getEndLoc(), BaseEntity);
708 assert(Init < ILE->getNumInits() && "should have been expanded");
709 ILE->setInit(Init, BaseInit.getAs<Expr>());
712 dyn_cast<InitListExpr>(ILE->getInit(Init))) {
714 ILE, Init, FillWithNoInit);
716 dyn_cast<DesignatedInitUpdateExpr>(ILE->getInit(Init))) {
718 RequiresSecondPass, ILE, Init,
725 InitListExpr *ILE,
728 SourceLocation Loc = ILE->getEndLoc();
729 unsigned NumInits = ILE->getNumInits();
733 if (Init >= NumInits || !ILE->getInit(Init)) {
734 if (const RecordType *RType = ILE->getType()->getAs<RecordType>())
737 "This ILE should have been expanded");
743 ILE->setInit(Init, Filler);
745 ILE->updateInit(SemaRef.Context, Init, Filler);
750 SemaRef.Diag(ILE->getExprLoc(), diag::warn_field_requires_explicit_init)
787 ILE->setInit(Init, DIE.get());
789 ILE->updateInit(SemaRef.Context, Init, DIE.get());
803 << (ILE->isSyntacticForm() ? ILE : ILE->getSyntacticForm())
820 ILE->setInit(Init, MemberInit.getAs<Expr>());
826 ILE->updateInit(SemaRef.Context, Init, MemberInit.getAs<Expr>());
830 = dyn_cast<InitListExpr>(ILE->getInit(Init))) {
832 RequiresSecondPass, ILE, Init, FillWithNoInit);
834 dyn_cast<DesignatedInitUpdateExpr>(ILE->getInit(Init))) {
836 RequiresSecondPass, ILE, Init,
846 InitListExpr *ILE,
851 assert((ILE->getType() != SemaRef.Context.VoidTy) &&
875 // A transparent ILE is not performing aggregate initialization and should
877 if (ILE->isTransparent())
880 if (const RecordType *RType = ILE->getType()->getAs<RecordType>()) {
882 if (RDecl->isUnion() && ILE->getInitializedFieldInUnion()) {
883 FillInEmptyInitForField(0, ILE->getInitializedFieldInUnion(), Entity, ILE,
889 // The fields beyond ILE->getNumInits() are default initialized, so in
890 // order to leave them uninitialized, the ILE is expanded and the extra
892 unsigned NumElems = numStructUnionElements(ILE->getType());
895 if (!VerifyOnly && ILE->getNumInits() < NumElems)
896 ILE->resizeInits(SemaRef.Context, NumElems);
905 FillInEmptyInitForBase(Init, Base, Entity, ILE, RequiresSecondPass,
918 FillInEmptyInitForField(Init, Field, Entity, ILE, RequiresSecondPass,
937 unsigned NumInits = ILE->getNumInits();
939 if (const ArrayType *AType = SemaRef.Context.getAsArrayType(ILE->getType())) {
949 } else if (const VectorType *VType = ILE->getType()->getAs<VectorType>()) {
955 ElementType = ILE->getType();
966 if (Init >= NumInits && (ILE->hasArrayFiller() || SkipEmptyInitChecks))
969 Expr *InitExpr = (Init < NumInits ? ILE->getInit(Init) : nullptr);
970 if (!InitExpr && Init < NumInits && ILE->hasArrayFiller())
971 ILE->setInit(Init, ILE->getArrayFiller());
972 else if (!InitExpr && !ILE->hasArrayFiller()) {
984 PerformEmptyInit(ILE->getEndLoc(), ElementEntity);
1001 ILE->setArrayFiller(Filler);
1003 ILE->setInit(Init, Filler);
1008 ILE->setArrayFiller(Filler);
1017 ILE->updateInit(SemaRef.Context, Init, Filler);
1024 ILE, Init, FillWithNoInit);
1028 RequiresSecondPass, ILE, Init,
4418 InitListExpr *ILE =
4421 ILE ? MultiExprArg(ILE->getInits(), ILE->getNumInits()) : Args;
4439 if (ILE)
4440 Sequence.RewrapReferenceInitList(DestType, ILE);
4455 if (ILE && !DestType->isAggregateType()) {
4570 Sequence.RewrapReferenceInitList(Entity.getType(), ILE);
6740 InitListExpr *ILE = new (Context) InitListExpr(
6742 Args[0] = ILE;
8203 InitListExpr *ILE = new (S.Context) InitListExpr(S.Context,
8205 ILE->setSyntacticForm(Syntactic);
8206 ILE->setType(E->getType());
8207 ILE->setValueKind(E->getValueKind());
8208 CurInit = ILE;