Lines Matching refs:SemaRef
285 Sema &SemaRef; member in __anonde5473ff0211::InitListChecker
296 DummyExpr = new (SemaRef.Context) NoInitExpr(SemaRef.Context.VoidTy); in getDummyInit()
391 SemaRef.getLangOpts().CPlusPlus in diagnoseInitOverride()
396 if (InOverloadResolution && SemaRef.getLangOpts().CPlusPlus) { in diagnoseInitOverride()
436 SemaRef.Diag(NewInitRange.getBegin(), DiagID) in diagnoseInitOverride()
438 SemaRef.Diag(OldInit->getBeginLoc(), diag::note_previous_initializer) in diagnoseInitOverride()
439 << (OldInit->HasSideEffects(SemaRef.Context) && FullyOverwritten) in diagnoseInitOverride()
510 InitListExpr DummyInitList(SemaRef.Context, Loc, std::nullopt, Loc); in PerformEmptyInit()
516 bool EmptyInitList = SemaRef.getLangOpts().CPlusPlus11 && in PerformEmptyInit()
531 : new (SemaRef.Context) in PerformEmptyInit()
532 InitListExpr(SemaRef.Context, Loc, std::nullopt, Loc); in PerformEmptyInit()
533 InitExpr->setType(SemaRef.Context.VoidTy); in PerformEmptyInit()
541 InitializationSequence InitSeq(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
552 .BestViableFunction(SemaRef, Kind.getLocation(), Best); in PerformEmptyInit()
560 SemaRef.SourceMgr.isInSystemHeader(CtorDecl->getLocation())) { in PerformEmptyInit()
564 if (SemaRef.getStdNamespace()->InEnclosingNamespaceSetOf(ND)) in PerformEmptyInit()
575 SemaRef, Entity, in PerformEmptyInit()
582 SemaRef.Diag(CtorDecl->getLocation(), in PerformEmptyInit()
585 SemaRef.Diag(Entity.getDecl()->getLocation(), in PerformEmptyInit()
588 SemaRef.Diag(Loc, diag::note_used_in_initialization_here); in PerformEmptyInit()
595 InitSeq.Diagnose(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
597 SemaRef.Diag(Entity.getDecl()->getLocation(), in PerformEmptyInit()
604 SemaRef.Diag(Loc, diag::note_in_omitted_aggregate_initializer) in PerformEmptyInit()
614 : InitSeq.Perform(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
632 SemaRef.Context, &Base, false, &ParentEntity); in FillInEmptyInitForBase()
636 ? new (SemaRef.Context) NoInitExpr(Base.getType()) in FillInEmptyInitForBase()
677 Expr *Filler = new (SemaRef.Context) NoInitExpr(Field->getType()); in FillInEmptyInitForField()
681 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitForField()
692 ExprResult DIE = SemaRef.BuildCXXDefaultInitExpr(Loc, Field); in FillInEmptyInitForField()
697 SemaRef.checkInitializerLifetime(MemberEntity, DIE.get()); in FillInEmptyInitForField()
701 ILE->updateInit(SemaRef.Context, Init, DIE.get()); in FillInEmptyInitForField()
713 SemaRef.Diag(Loc, diag::err_init_reference_member_uninitialized) in FillInEmptyInitForField()
717 SemaRef.Diag(Field->getLocation(), diag::note_uninit_reference_member); in FillInEmptyInitForField()
738 ILE->updateInit(SemaRef.Context, Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
763 assert((ILE->getType() != SemaRef.Context.VoidTy) && in FillInEmptyInitializations()
814 ILE->resizeInits(SemaRef.Context, NumElems); in FillInEmptyInitializations()
857 if (const ArrayType *AType = SemaRef.Context.getAsArrayType(ILE->getType())) { in FillInEmptyInitializations()
865 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context, in FillInEmptyInitializations()
870 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context, in FillInEmptyInitializations()
899 Filler = new (SemaRef.Context) NoInitExpr(ElementType); in FillInEmptyInitializations()
935 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitializations()
963 : SemaRef(S), VerifyOnly(VerifyOnly), in InitListChecker()
996 SemaRef.Context.getAsConstantArrayType(DeclType)) { in numArrayElements()
1088 SemaRef.Diag(ParentIList->getInit(Index)->getBeginLoc(), in CheckImplicitInitList()
1124 !ParentIList->isIdiomaticZeroInitializer(SemaRef.getLangOpts()) && in CheckImplicitInitList()
1126 SemaRef.Diag(StructuredSubobjectInitList->getBeginLoc(), in CheckImplicitInitList()
1132 SemaRef.getLocForEndOfToken( in CheckImplicitInitList()
1140 SemaRef.Diag(StructuredSubobjectInitList->getBeginLoc(), in CheckImplicitInitList()
1228 ExprTy = ExprTy.getNonLValueExprType(SemaRef.Context); in CheckExplicitInitList()
1239 bool ExtraInitsIsError = SemaRef.getLangOpts().CPlusPlus || in CheckExplicitInitList()
1240 (SemaRef.getLangOpts().OpenCL && T->isVectorType()); in CheckExplicitInitList()
1245 IsStringInit(StructuredList->getInit(0), T, SemaRef.Context) == in CheckExplicitInitList()
1251 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1257 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1268 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1276 warnBracedScalarInit(SemaRef, Entity, IList->getSourceRange()); in CheckExplicitInitList()
1286 auto *CD = SemaRef.LookupDefaultConstructor(CXXRD); in CheckExplicitInitList()
1291 SemaRef.Diag(IList->getBeginLoc(), in CheckExplicitInitList()
1335 SemaRef.Context.getTypeSize(SemaRef.Context.getSizeType()), in CheckListElementTypes()
1344 SemaRef.Diag(IList->getBeginLoc(), diag::err_illegal_initializer_type) in CheckListElementTypes()
1352 SemaRef.Diag(IList->getBeginLoc(), diag::err_init_objc_class) << DeclType; in CheckListElementTypes()
1368 SemaRef.Diag(IList->getBeginLoc(), diag::err_illegal_initializer_type) in CheckListElementTypes()
1389 IsStringInit(SubInitList->getInit(0), ElemType, SemaRef.Context) == in CheckSubElementType()
1399 assert(SemaRef.Context.hasSameType(expr->getType(), ElemType) && in CheckSubElementType()
1406 if (SemaRef.getLangOpts().CPlusPlus || isa<InitListExpr>(expr)) { in CheckSubElementType()
1430 SemaRef.Context.getAsArrayType(ElemType))) { in CheckSubElementType()
1436 InitializationSequence Seq(SemaRef, TmpEntity, Kind, expr, in CheckSubElementType()
1446 ExprResult Result = Seq.Perform(SemaRef, TmpEntity, Kind, expr); in CheckSubElementType()
1471 SemaRef.Context.getAsArrayType(ElemType)) { in CheckSubElementType()
1476 if (IsStringInit(expr, arrayType, SemaRef.Context) == SIF_None) { in CheckSubElementType()
1479 CheckStringInit(expr, ElemType, arrayType, SemaRef); in CheckSubElementType()
1501 if (SemaRef.CheckSingleAssignmentConstraints( in CheckSubElementType()
1506 ExprRes = SemaRef.DefaultFunctionArrayLvalueConversion(ExprRes.get()); in CheckSubElementType()
1526 if ((!SemaRef.getLangOpts().OpenCL && ElemType->isVectorType()) || in CheckSubElementType()
1533 if (DirectlyDesignated && SemaRef.getLangOpts().CPlusPlus && !hadError) { in CheckSubElementType()
1537 SemaRef.Diag(expr->getBeginLoc(), in CheckSubElementType()
1542 SemaRef.getLocForEndOfToken(expr->getEndLoc()), "}"); in CheckSubElementType()
1551 SemaRef.PerformCopyInitialization(Entity, SourceLocation(), expr, in CheckSubElementType()
1583 if (!SemaRef.getLangOpts().CPlusPlus && !VerifyOnly) in CheckComplexType()
1584 SemaRef.Diag(IList->getBeginLoc(), diag::ext_complex_component_init) in CheckComplexType()
1590 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckComplexType()
1606 if (SemaRef.getLangOpts().CPlusPlus) { in CheckScalarType()
1608 SemaRef.Diag(IList->getBeginLoc(), in CheckScalarType()
1609 SemaRef.getLangOpts().CPlusPlus11 in CheckScalarType()
1614 SemaRef.Diag(IList->getBeginLoc(), in CheckScalarType()
1615 SemaRef.getLangOpts().CPlusPlus11 in CheckScalarType()
1622 SemaRef.getLangOpts().CPlusPlus && !SemaRef.getLangOpts().CPlusPlus11; in CheckScalarType()
1633 SemaRef.Diag(SubIList->getBeginLoc(), diag::ext_many_braces_around_init) in CheckScalarType()
1641 SemaRef.Diag(expr->getBeginLoc(), in CheckScalarType()
1653 if (SemaRef.CanPerformCopyInitialization(Entity, expr)) in CheckScalarType()
1659 SemaRef.PerformCopyInitialization(Entity, expr->getBeginLoc(), expr, in CheckScalarType()
1693 SemaRef.Diag(IList->getBeginLoc(), in CheckReferenceType()
1703 if (isa<InitListExpr>(expr) && !SemaRef.getLangOpts().CPlusPlus11) { in CheckReferenceType()
1705 SemaRef.Diag(IList->getBeginLoc(), diag::err_init_non_aggr_init_list) in CheckReferenceType()
1715 if (SemaRef.CanPerformCopyInitialization(Entity,expr)) in CheckReferenceType()
1721 SemaRef.PerformCopyInitialization(Entity, expr->getBeginLoc(), expr, in CheckReferenceType()
1752 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity), in CheckVectorType()
1757 if (!SemaRef.getLangOpts().OpenCL && !SemaRef.getLangOpts().HLSL ) { in CheckVectorType()
1764 if (SemaRef.CanPerformCopyInitialization(Entity, Init)) in CheckVectorType()
1770 SemaRef.PerformCopyInitialization(Entity, Init->getBeginLoc(), Init, in CheckVectorType()
1794 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckVectorType()
1811 bool isBigEndian = SemaRef.Context.getTargetInfo().isBigEndian(); in CheckVectorType()
1825 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1829 unsigned typeSize = SemaRef.Context.getTypeSize(elementType); in CheckVectorType()
1840 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1841 SemaRef.Context.getTypeSize(VT) > 64 in CheckVectorType()
1851 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckVectorType()
1872 VecType = SemaRef.Context.getExtVectorType(elementType, numIElts); in CheckVectorType()
1874 VecType = SemaRef.Context.getVectorType(elementType, numIElts, in CheckVectorType()
1885 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1903 Sema &SemaRef) { in checkDestructorReference() argument
1908 CXXDestructorDecl *Destructor = SemaRef.LookupDestructor(CXXRD); in checkDestructorReference()
1909 SemaRef.CheckDestructorAccess(Loc, Destructor, in checkDestructorReference()
1910 SemaRef.PDiag(diag::err_access_dtor_temp) in checkDestructorReference()
1912 SemaRef.MarkFunctionReferenced(Loc, Destructor); in checkDestructorReference()
1913 return SemaRef.DiagnoseUseOfDecl(Destructor, Loc); in checkDestructorReference()
1923 const ArrayType *arrayType = SemaRef.Context.getAsArrayType(DeclType); in CheckArrayType()
1927 IList->getEndLoc(), SemaRef)) { in CheckArrayType()
1935 if (IsStringInit(IList->getInit(Index), arrayType, SemaRef.Context) == in CheckArrayType()
1944 CheckStringInit(IList->getInit(Index), DeclType, arrayType, SemaRef); in CheckArrayType()
1948 StructuredList->resizeInits(SemaRef.Context, StructuredIndex); in CheckArrayType()
1960 bool HasErr = IList->getNumInits() != 0 || SemaRef.getLangOpts().CPlusPlus; in CheckArrayType()
1973 SemaRef.Diag(VAT->getSizeExpr()->getBeginLoc(), in CheckArrayType()
2034 InitializedEntity::InitializeElement(SemaRef.Context, StructuredIndex, in CheckArrayType()
2053 SemaRef.Diag(IList->getBeginLoc(), diag::ext_typecheck_zero_array_size); in CheckArrayType()
2056 DeclType = SemaRef.Context.getConstantArrayType( in CheckArrayType()
2067 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity), in CheckArrayType()
2097 SemaRef.Diag(InitExpr->getBeginLoc(), FlexArrayDiag) in CheckFlexibleArrayInit()
2099 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckFlexibleArrayInit()
2126 QualType ET = SemaRef.Context.getBaseElementType(FD->getType()); in CheckStructUnionTypes()
2127 if (checkDestructorReference(ET, IList->getEndLoc(), SemaRef)) { in CheckStructUnionTypes()
2192 SemaRef.Context.getPackExpansionType(Base.getType(), std::nullopt)); in CheckStructUnionTypes()
2206 SemaRef.Context, &Base, false, &Entity); in CheckStructUnionTypes()
2216 if (checkDestructorReference(Base.getType(), InitLoc, SemaRef)) { in CheckStructUnionTypes()
2231 !IList->isIdiomaticZeroInitializer(SemaRef.getLangOpts()); in CheckStructUnionTypes()
2263 QualType ET = SemaRef.Context.getBaseElementType(F->getType()); in CheckStructUnionTypes()
2264 if (checkDestructorReference(ET, InitLoc, SemaRef)) { in CheckStructUnionTypes()
2275 if (!SemaRef.getLangOpts().CPlusPlus) in CheckStructUnionTypes()
2304 SemaRef.Diag(InitLoc, diag::err_non_designated_init_used); in CheckStructUnionTypes()
2331 InvalidUse = !SemaRef.CanUseDecl(*Field, TreatUnavailableAsInvalid); in CheckStructUnionTypes()
2333 InvalidUse = SemaRef.DiagnoseUseOfDecl( in CheckStructUnionTypes()
2343 QualType ET = SemaRef.Context.getBaseElementType(Field->getType()); in CheckStructUnionTypes()
2344 if (checkDestructorReference(ET, InitLoc, SemaRef)) { in CheckStructUnionTypes()
2379 SemaRef.Diag(IList->getSourceRange().getEnd(), in CheckStructUnionTypes()
2406 QualType ET = SemaRef.Context.getBaseElementType(I->getType()); in CheckStructUnionTypes()
2407 if (checkDestructorReference(ET, IList->getEndLoc(), SemaRef)) { in CheckStructUnionTypes()
2441 static void ExpandAnonymousFieldDesignator(Sema &SemaRef, in ExpandAnonymousFieldDesignator() argument
2465 DIE->ExpandDesignator(SemaRef.Context, DesigIdx, &Replacements[0], in ExpandAnonymousFieldDesignator()
2469 static DesignatedInitExpr *CloneDesignatedInitExpr(Sema &SemaRef, in CloneDesignatedInitExpr() argument
2475 return DesignatedInitExpr::Create(SemaRef.Context, DIE->designators(), in CloneDesignatedInitExpr()
2566 InitializationSequence Seq(SemaRef, Entity, Kind, Init, in CheckDesignatedInitializer()
2571 : Seq.Perform(SemaRef, Entity, Kind, Init); in CheckDesignatedInitializer()
2643 DesignatedInitUpdateExpr *DIUE = new (SemaRef.Context) in CheckDesignatedInitializer()
2644 DesignatedInitUpdateExpr(SemaRef.Context, D->getBeginLoc(), in CheckDesignatedInitializer()
2646 StructuredList->updateInit(SemaRef.Context, StructuredIndex, DIUE); in CheckDesignatedInitializer()
2677 SemaRef.Diag(Loc, diag::err_field_designator_non_aggr) in CheckDesignatedInitializer()
2678 << SemaRef.getLangOpts().CPlusPlus << CurrentObjectType; in CheckDesignatedInitializer()
2686 ValueDecl *VD = SemaRef.tryLookupUnambiguousFieldDecl(RD, FieldName); in CheckDesignatedInitializer()
2692 DIE = CloneDesignatedInitExpr(SemaRef, DIE); in CheckDesignatedInitializer()
2693 ExpandAnonymousFieldDesignator(SemaRef, DIE, DesigIdx, IFD); in CheckDesignatedInitializer()
2704 if (SemaRef.DiagRedefinedPlaceholderFieldDecl(DIE->getBeginLoc(), RD, in CheckDesignatedInitializer()
2712 SemaRef.Diag(D->getFieldLoc(), diag::err_field_designator_nonfield) in CheckDesignatedInitializer()
2714 SemaRef.Diag(Lookup.front()->getLocation(), in CheckDesignatedInitializer()
2723 if (TypoCorrection Corrected = SemaRef.CorrectTypo( in CheckDesignatedInitializer()
2727 SemaRef.diagnoseTypo( in CheckDesignatedInitializer()
2729 SemaRef.PDiag(diag::err_field_designator_unknown_suggest) in CheckDesignatedInitializer()
2742 SemaRef.Diag(Loc, diag::err_field_designator_unknown) in CheckDesignatedInitializer()
2785 /*FullyOverwritten=*/SemaRef.getLangOpts().CPlusPlus ? false in CheckDesignatedInitializer()
2790 StructuredList->resizeInits(SemaRef.Context, 0); in CheckDesignatedInitializer()
2801 InvalidUse = !SemaRef.CanUseDecl(*Field, TreatUnavailableAsInvalid); in CheckDesignatedInitializer()
2803 InvalidUse = SemaRef.DiagnoseUseOfDecl(*Field, D->getFieldLoc()); in CheckDesignatedInitializer()
2824 if (IsFirstDesignator && !VerifyOnly && SemaRef.getLangOpts().CPlusPlus && in CheckDesignatedInitializer()
2841 SemaRef.Diag(DIE->getInit()->getBeginLoc(), in CheckDesignatedInitializer()
2848 SemaRef.Diag(PrevInit->getBeginLoc(), in CheckDesignatedInitializer()
2864 StructuredList->resizeInits(SemaRef.Context, FieldIndex + 1); in CheckDesignatedInitializer()
2875 SemaRef.Diag(NextD->getBeginLoc(), in CheckDesignatedInitializer()
2878 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckDesignatedInitializer()
2888 SemaRef.Diag(DIE->getInit()->getBeginLoc(), in CheckDesignatedInitializer()
2891 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckDesignatedInitializer()
2992 const ArrayType *AT = SemaRef.Context.getAsArrayType(CurrentObjectType); in CheckDesignatedInitializer()
2995 SemaRef.Diag(D->getLBracketLoc(), diag::err_array_designator_non_array) in CheckDesignatedInitializer()
3005 DesignatedStartIndex = IndexExpr->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
3011 DIE->getArrayRangeStart(*D)->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
3013 DIE->getArrayRangeEnd(*D)->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
3022 DIE->getInit()->HasSideEffects(SemaRef.Context) && !VerifyOnly) in CheckDesignatedInitializer()
3036 SemaRef.Diag(IndexExpr->getBeginLoc(), in CheckDesignatedInitializer()
3045 ConstantArrayType::getMaxSizeBits(SemaRef.Context); in CheckDesignatedInitializer()
3063 ASTContext &Context = SemaRef.Context; in CheckDesignatedInitializer()
3124 StructuredList->resizeInits(SemaRef.Context, in CheckDesignatedInitializer()
3135 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckDesignatedInitializer()
3239 StructuredList->updateInit(SemaRef.Context, StructuredIndex, Result); in getStructuredSubobjectInit()
3247 InitListExpr *Result = new (SemaRef.Context) InitListExpr( in createInitListExpr()
3248 SemaRef.Context, InitRange.getBegin(), std::nullopt, InitRange.getEnd()); in createInitListExpr()
3252 ResultType = ResultType.getNonLValueExprType(SemaRef.Context); in createInitListExpr()
3259 = SemaRef.Context.getAsArrayType(CurrentObjectType)) { in createInitListExpr()
3275 Result->reserveInits(SemaRef.Context, NumElements); in createInitListExpr()
3289 if (Expr *PrevInit = StructuredList->updateInit(SemaRef.Context, in UpdateStructuredListElement()