Lines Matching refs:SemaRef

297   Sema &SemaRef;  member in __anonbcef1c200211::InitListChecker
307 DummyExpr = new (SemaRef.Context) NoInitExpr(SemaRef.Context.VoidTy); in getDummyInit()
399 unsigned DiagID = SemaRef.getLangOpts().CPlusPlus in diagnoseInitOverride()
403 if (InOverloadResolution && SemaRef.getLangOpts().CPlusPlus) { in diagnoseInitOverride()
443 SemaRef.Diag(NewInitRange.getBegin(), DiagID) in diagnoseInitOverride()
445 SemaRef.Diag(OldInit->getBeginLoc(), diag::note_previous_initializer) in diagnoseInitOverride()
446 << (OldInit->HasSideEffects(SemaRef.Context) && FullyOverwritten) in diagnoseInitOverride()
507 InitListExpr DummyInitList(SemaRef.Context, Loc, std::nullopt, Loc); in PerformEmptyInit()
513 bool EmptyInitList = SemaRef.getLangOpts().CPlusPlus11 && in PerformEmptyInit()
528 : new (SemaRef.Context) in PerformEmptyInit()
529 InitListExpr(SemaRef.Context, Loc, std::nullopt, Loc); in PerformEmptyInit()
530 InitExpr->setType(SemaRef.Context.VoidTy); in PerformEmptyInit()
538 InitializationSequence InitSeq(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
549 .BestViableFunction(SemaRef, Kind.getLocation(), Best); in PerformEmptyInit()
557 SemaRef.SourceMgr.isInSystemHeader(CtorDecl->getLocation())) { in PerformEmptyInit()
561 if (SemaRef.getStdNamespace()->InEnclosingNamespaceSetOf(ND)) in PerformEmptyInit()
572 SemaRef, Entity, in PerformEmptyInit()
579 SemaRef.Diag(CtorDecl->getLocation(), in PerformEmptyInit()
582 SemaRef.Diag(Entity.getDecl()->getLocation(), in PerformEmptyInit()
585 SemaRef.Diag(Loc, diag::note_used_in_initialization_here); in PerformEmptyInit()
592 InitSeq.Diagnose(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
594 SemaRef.Diag(Entity.getDecl()->getLocation(), in PerformEmptyInit()
601 SemaRef.Diag(Loc, diag::note_in_omitted_aggregate_initializer) in PerformEmptyInit()
611 : InitSeq.Perform(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
629 SemaRef.Context, &Base, false, &ParentEntity); in FillInEmptyInitForBase()
633 ? new (SemaRef.Context) NoInitExpr(Base.getType()) in FillInEmptyInitForBase()
674 Expr *Filler = new (SemaRef.Context) NoInitExpr(Field->getType()); in FillInEmptyInitForField()
678 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitForField()
689 ExprResult DIE = SemaRef.BuildCXXDefaultInitExpr(Loc, Field); in FillInEmptyInitForField()
694 SemaRef.checkInitializerLifetime(MemberEntity, DIE.get()); in FillInEmptyInitForField()
698 ILE->updateInit(SemaRef.Context, Init, DIE.get()); in FillInEmptyInitForField()
710 SemaRef.Diag(Loc, diag::err_init_reference_member_uninitialized) in FillInEmptyInitForField()
714 SemaRef.Diag(Field->getLocation(), diag::note_uninit_reference_member); in FillInEmptyInitForField()
735 ILE->updateInit(SemaRef.Context, Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
760 assert((ILE->getType() != SemaRef.Context.VoidTy) && in FillInEmptyInitializations()
811 ILE->resizeInits(SemaRef.Context, NumElems); in FillInEmptyInitializations()
854 if (const ArrayType *AType = SemaRef.Context.getAsArrayType(ILE->getType())) { in FillInEmptyInitializations()
862 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context, in FillInEmptyInitializations()
867 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context, in FillInEmptyInitializations()
896 Filler = new (SemaRef.Context) NoInitExpr(ElementType); in FillInEmptyInitializations()
932 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitializations()
960 : SemaRef(S), VerifyOnly(VerifyOnly), in InitListChecker()
992 SemaRef.Context.getAsConstantArrayType(DeclType)) { in numArrayElements()
1076 SemaRef.Diag(ParentIList->getInit(Index)->getBeginLoc(), in CheckImplicitInitList()
1112 !ParentIList->isIdiomaticZeroInitializer(SemaRef.getLangOpts()) && in CheckImplicitInitList()
1114 SemaRef.Diag(StructuredSubobjectInitList->getBeginLoc(), in CheckImplicitInitList()
1120 SemaRef.getLocForEndOfToken( in CheckImplicitInitList()
1128 SemaRef.Diag(StructuredSubobjectInitList->getBeginLoc(), in CheckImplicitInitList()
1216 ExprTy = ExprTy.getNonLValueExprType(SemaRef.Context); in CheckExplicitInitList()
1227 bool ExtraInitsIsError = SemaRef.getLangOpts().CPlusPlus || in CheckExplicitInitList()
1228 (SemaRef.getLangOpts().OpenCL && T->isVectorType()); in CheckExplicitInitList()
1233 IsStringInit(StructuredList->getInit(0), T, SemaRef.Context) == in CheckExplicitInitList()
1239 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1245 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1256 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1264 warnBracedScalarInit(SemaRef, Entity, IList->getSourceRange()); in CheckExplicitInitList()
1274 auto *CD = SemaRef.LookupDefaultConstructor(CXXRD); in CheckExplicitInitList()
1279 SemaRef.Diag(IList->getBeginLoc(), in CheckExplicitInitList()
1320 SemaRef.Context.getTypeSize(SemaRef.Context.getSizeType()), in CheckListElementTypes()
1329 SemaRef.Diag(IList->getBeginLoc(), diag::err_illegal_initializer_type) in CheckListElementTypes()
1337 SemaRef.Diag(IList->getBeginLoc(), diag::err_init_objc_class) << DeclType; in CheckListElementTypes()
1346 SemaRef.Diag(IList->getBeginLoc(), diag::err_illegal_initializer_type) in CheckListElementTypes()
1367 IsStringInit(SubInitList->getInit(0), ElemType, SemaRef.Context) == in CheckSubElementType()
1377 assert(SemaRef.Context.hasSameType(expr->getType(), ElemType) && in CheckSubElementType()
1384 if (SemaRef.getLangOpts().CPlusPlus || isa<InitListExpr>(expr)) { in CheckSubElementType()
1401 InitializationSequence Seq(SemaRef, TmpEntity, Kind, expr, in CheckSubElementType()
1412 ExprResult Result = Seq.Perform(SemaRef, TmpEntity, Kind, expr); in CheckSubElementType()
1434 SemaRef.Context.getAsArrayType(ElemType)) { in CheckSubElementType()
1439 if (IsStringInit(expr, arrayType, SemaRef.Context) == SIF_None) { in CheckSubElementType()
1442 CheckStringInit(expr, ElemType, arrayType, SemaRef); in CheckSubElementType()
1464 if (SemaRef.CheckSingleAssignmentConstraints( in CheckSubElementType()
1469 ExprRes = SemaRef.DefaultFunctionArrayLvalueConversion(ExprRes.get()); in CheckSubElementType()
1489 if ((!SemaRef.getLangOpts().OpenCL && ElemType->isVectorType()) || in CheckSubElementType()
1496 if (DirectlyDesignated && SemaRef.getLangOpts().CPlusPlus && !hadError) { in CheckSubElementType()
1500 SemaRef.Diag(expr->getBeginLoc(), in CheckSubElementType()
1505 SemaRef.getLocForEndOfToken(expr->getEndLoc()), "}"); in CheckSubElementType()
1514 SemaRef.PerformCopyInitialization(Entity, SourceLocation(), expr, in CheckSubElementType()
1546 if (!SemaRef.getLangOpts().CPlusPlus && !VerifyOnly) in CheckComplexType()
1547 SemaRef.Diag(IList->getBeginLoc(), diag::ext_complex_component_init) in CheckComplexType()
1553 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckComplexType()
1570 SemaRef.Diag(IList->getBeginLoc(), in CheckScalarType()
1571 SemaRef.getLangOpts().CPlusPlus11 in CheckScalarType()
1576 SemaRef.Diag(IList->getBeginLoc(), in CheckScalarType()
1577 SemaRef.getLangOpts().CPlusPlus11 in CheckScalarType()
1582 hadError = !SemaRef.getLangOpts().CPlusPlus11; in CheckScalarType()
1593 SemaRef.Diag(SubIList->getBeginLoc(), diag::ext_many_braces_around_init) in CheckScalarType()
1601 SemaRef.Diag(expr->getBeginLoc(), in CheckScalarType()
1613 if (SemaRef.CanPerformCopyInitialization(Entity, expr)) in CheckScalarType()
1619 SemaRef.PerformCopyInitialization(Entity, expr->getBeginLoc(), expr, in CheckScalarType()
1651 SemaRef.Diag(IList->getBeginLoc(), in CheckReferenceType()
1661 if (isa<InitListExpr>(expr) && !SemaRef.getLangOpts().CPlusPlus11) { in CheckReferenceType()
1663 SemaRef.Diag(IList->getBeginLoc(), diag::err_init_non_aggr_init_list) in CheckReferenceType()
1673 if (SemaRef.CanPerformCopyInitialization(Entity,expr)) in CheckReferenceType()
1679 SemaRef.PerformCopyInitialization(Entity, expr->getBeginLoc(), expr, in CheckReferenceType()
1708 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity), in CheckVectorType()
1713 if (!SemaRef.getLangOpts().OpenCL && !SemaRef.getLangOpts().HLSL ) { in CheckVectorType()
1720 if (SemaRef.CanPerformCopyInitialization(Entity, Init)) in CheckVectorType()
1726 SemaRef.PerformCopyInitialization(Entity, Init->getBeginLoc(), Init, in CheckVectorType()
1748 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckVectorType()
1765 bool isBigEndian = SemaRef.Context.getTargetInfo().isBigEndian(); in CheckVectorType()
1779 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1783 unsigned typeSize = SemaRef.Context.getTypeSize(elementType); in CheckVectorType()
1794 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1795 SemaRef.Context.getTypeSize(VT) > 64 in CheckVectorType()
1805 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckVectorType()
1826 VecType = SemaRef.Context.getExtVectorType(elementType, numIElts); in CheckVectorType()
1828 VecType = SemaRef.Context.getVectorType(elementType, numIElts, in CheckVectorType()
1839 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1857 Sema &SemaRef) { in checkDestructorReference() argument
1862 CXXDestructorDecl *Destructor = SemaRef.LookupDestructor(CXXRD); in checkDestructorReference()
1863 SemaRef.CheckDestructorAccess(Loc, Destructor, in checkDestructorReference()
1864 SemaRef.PDiag(diag::err_access_dtor_temp) in checkDestructorReference()
1866 SemaRef.MarkFunctionReferenced(Loc, Destructor); in checkDestructorReference()
1867 return SemaRef.DiagnoseUseOfDecl(Destructor, Loc); in checkDestructorReference()
1877 const ArrayType *arrayType = SemaRef.Context.getAsArrayType(DeclType); in CheckArrayType()
1881 IList->getEndLoc(), SemaRef)) { in CheckArrayType()
1889 if (IsStringInit(IList->getInit(Index), arrayType, SemaRef.Context) == in CheckArrayType()
1898 CheckStringInit(IList->getInit(Index), DeclType, arrayType, SemaRef); in CheckArrayType()
1902 StructuredList->resizeInits(SemaRef.Context, StructuredIndex); in CheckArrayType()
1913 SemaRef.Diag(VAT->getSizeExpr()->getBeginLoc(), in CheckArrayType()
1973 InitializedEntity::InitializeElement(SemaRef.Context, StructuredIndex, in CheckArrayType()
1992 SemaRef.Diag(IList->getBeginLoc(), diag::ext_typecheck_zero_array_size); in CheckArrayType()
1995 DeclType = SemaRef.Context.getConstantArrayType( in CheckArrayType()
2006 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity), in CheckArrayType()
2036 SemaRef.Diag(InitExpr->getBeginLoc(), FlexArrayDiag) in CheckFlexibleArrayInit()
2038 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckFlexibleArrayInit()
2067 QualType ET = SemaRef.Context.getBaseElementType(FD->getType()); in CheckStructUnionTypes()
2068 if (checkDestructorReference(ET, IList->getEndLoc(), SemaRef)) { in CheckStructUnionTypes()
2118 SemaRef.Context, &Base, false, &Entity); in CheckStructUnionTypes()
2128 if (checkDestructorReference(Base.getType(), InitLoc, SemaRef)) { in CheckStructUnionTypes()
2144 !IList->isIdiomaticZeroInitializer(SemaRef.getLangOpts()); in CheckStructUnionTypes()
2172 QualType ET = SemaRef.Context.getBaseElementType(F->getType()); in CheckStructUnionTypes()
2173 if (checkDestructorReference(ET, InitLoc, SemaRef)) { in CheckStructUnionTypes()
2211 SemaRef.Diag(InitLoc, diag::err_non_designated_init_used); in CheckStructUnionTypes()
2238 InvalidUse = !SemaRef.CanUseDecl(*Field, TreatUnavailableAsInvalid); in CheckStructUnionTypes()
2240 InvalidUse = SemaRef.DiagnoseUseOfDecl( in CheckStructUnionTypes()
2250 QualType ET = SemaRef.Context.getBaseElementType(Field->getType()); in CheckStructUnionTypes()
2251 if (checkDestructorReference(ET, InitLoc, SemaRef)) { in CheckStructUnionTypes()
2280 SemaRef.Diag(IList->getSourceRange().getEnd(), in CheckStructUnionTypes()
2306 QualType ET = SemaRef.Context.getBaseElementType(I->getType()); in CheckStructUnionTypes()
2307 if (checkDestructorReference(ET, IList->getEndLoc(), SemaRef)) { in CheckStructUnionTypes()
2340 static void ExpandAnonymousFieldDesignator(Sema &SemaRef, in ExpandAnonymousFieldDesignator() argument
2364 DIE->ExpandDesignator(SemaRef.Context, DesigIdx, &Replacements[0], in ExpandAnonymousFieldDesignator()
2368 static DesignatedInitExpr *CloneDesignatedInitExpr(Sema &SemaRef, in CloneDesignatedInitExpr() argument
2374 return DesignatedInitExpr::Create(SemaRef.Context, DIE->designators(), in CloneDesignatedInitExpr()
2465 InitializationSequence Seq(SemaRef, Entity, Kind, Init, in CheckDesignatedInitializer()
2470 : Seq.Perform(SemaRef, Entity, Kind, Init); in CheckDesignatedInitializer()
2539 DesignatedInitUpdateExpr *DIUE = new (SemaRef.Context) in CheckDesignatedInitializer()
2540 DesignatedInitUpdateExpr(SemaRef.Context, D->getBeginLoc(), in CheckDesignatedInitializer()
2542 StructuredList->updateInit(SemaRef.Context, StructuredIndex, DIUE); in CheckDesignatedInitializer()
2573 SemaRef.Diag(Loc, diag::err_field_designator_non_aggr) in CheckDesignatedInitializer()
2574 << SemaRef.getLangOpts().CPlusPlus << CurrentObjectType; in CheckDesignatedInitializer()
2591 DIE = CloneDesignatedInitExpr(SemaRef, DIE); in CheckDesignatedInitializer()
2592 ExpandAnonymousFieldDesignator(SemaRef, DIE, DesigIdx, IFD); in CheckDesignatedInitializer()
2606 SemaRef.Diag(D->getFieldLoc(), diag::err_field_designator_nonfield) in CheckDesignatedInitializer()
2608 SemaRef.Diag(Lookup.front()->getLocation(), in CheckDesignatedInitializer()
2617 if (TypoCorrection Corrected = SemaRef.CorrectTypo( in CheckDesignatedInitializer()
2621 SemaRef.diagnoseTypo( in CheckDesignatedInitializer()
2623 SemaRef.PDiag(diag::err_field_designator_unknown_suggest) in CheckDesignatedInitializer()
2629 SemaRef.Diag(D->getFieldLoc(), diag::err_field_designator_unknown) in CheckDesignatedInitializer()
2674 StructuredList->resizeInits(SemaRef.Context, 0); in CheckDesignatedInitializer()
2685 InvalidUse = !SemaRef.CanUseDecl(*Field, TreatUnavailableAsInvalid); in CheckDesignatedInitializer()
2687 InvalidUse = SemaRef.DiagnoseUseOfDecl(*Field, D->getFieldLoc()); in CheckDesignatedInitializer()
2708 if (IsFirstDesignator && !VerifyOnly && SemaRef.getLangOpts().CPlusPlus && in CheckDesignatedInitializer()
2726 SemaRef.Diag(DIE->getBeginLoc(), diag::ext_designated_init_reordered) in CheckDesignatedInitializer()
2732 SemaRef.Diag(PrevInit->getBeginLoc(), in CheckDesignatedInitializer()
2748 StructuredList->resizeInits(SemaRef.Context, FieldIndex + 1); in CheckDesignatedInitializer()
2759 SemaRef.Diag(NextD->getBeginLoc(), in CheckDesignatedInitializer()
2762 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckDesignatedInitializer()
2772 SemaRef.Diag(DIE->getInit()->getBeginLoc(), in CheckDesignatedInitializer()
2775 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckDesignatedInitializer()
2872 const ArrayType *AT = SemaRef.Context.getAsArrayType(CurrentObjectType); in CheckDesignatedInitializer()
2875 SemaRef.Diag(D->getLBracketLoc(), diag::err_array_designator_non_array) in CheckDesignatedInitializer()
2885 DesignatedStartIndex = IndexExpr->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
2891 DIE->getArrayRangeStart(*D)->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
2893 DIE->getArrayRangeEnd(*D)->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
2902 DIE->getInit()->HasSideEffects(SemaRef.Context) && !VerifyOnly) in CheckDesignatedInitializer()
2916 SemaRef.Diag(IndexExpr->getBeginLoc(), in CheckDesignatedInitializer()
2925 ConstantArrayType::getMaxSizeBits(SemaRef.Context); in CheckDesignatedInitializer()
2943 ASTContext &Context = SemaRef.Context; in CheckDesignatedInitializer()
3004 StructuredList->resizeInits(SemaRef.Context, in CheckDesignatedInitializer()
3015 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckDesignatedInitializer()
3119 StructuredList->updateInit(SemaRef.Context, StructuredIndex, Result); in getStructuredSubobjectInit()
3127 InitListExpr *Result = new (SemaRef.Context) InitListExpr( in createInitListExpr()
3128 SemaRef.Context, InitRange.getBegin(), std::nullopt, InitRange.getEnd()); in createInitListExpr()
3132 ResultType = ResultType.getNonLValueExprType(SemaRef.Context); in createInitListExpr()
3139 = SemaRef.Context.getAsArrayType(CurrentObjectType)) { in createInitListExpr()
3153 Result->reserveInits(SemaRef.Context, NumElements); in createInitListExpr()
3167 if (Expr *PrevInit = StructuredList->updateInit(SemaRef.Context, in UpdateStructuredListElement()