Lines Matching refs:SemaRef

212                                                Sema &SemaRef, QualType &TT);
309 Sema &SemaRef; member in __anon3dab0ec90211::InitListChecker
322 DummyExpr = new (SemaRef.Context) NoInitExpr(SemaRef.Context.VoidTy); in getDummyInit()
417 SemaRef.getLangOpts().CPlusPlus in diagnoseInitOverride()
422 if (InOverloadResolution && SemaRef.getLangOpts().CPlusPlus) { in diagnoseInitOverride()
462 SemaRef.Diag(NewInitRange.getBegin(), DiagID) in diagnoseInitOverride()
464 SemaRef.Diag(OldInit->getBeginLoc(), diag::note_previous_initializer) in diagnoseInitOverride()
465 << (OldInit->HasSideEffects(SemaRef.Context) && FullyOverwritten) in diagnoseInitOverride()
519 SemaRef.Context.getAsArrayType(Entity.getParent()->getType()); in HandleEmbed()
532 Result = new (SemaRef.Context) in HandleEmbed()
533 EmbedExpr(SemaRef.Context, Embed->getLocation(), Embed->getData(), in HandleEmbed()
572 InitListExpr DummyInitList(SemaRef.Context, Loc, std::nullopt, Loc); in PerformEmptyInit()
578 bool EmptyInitList = SemaRef.getLangOpts().CPlusPlus11 && in PerformEmptyInit()
593 : new (SemaRef.Context) in PerformEmptyInit()
594 InitListExpr(SemaRef.Context, Loc, std::nullopt, Loc); in PerformEmptyInit()
595 InitExpr->setType(SemaRef.Context.VoidTy); in PerformEmptyInit()
603 InitializationSequence InitSeq(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
614 .BestViableFunction(SemaRef, Kind.getLocation(), Best); in PerformEmptyInit()
622 SemaRef.SourceMgr.isInSystemHeader(CtorDecl->getLocation())) { in PerformEmptyInit()
626 if (SemaRef.getStdNamespace()->InEnclosingNamespaceSetOf(ND)) in PerformEmptyInit()
637 SemaRef, Entity, in PerformEmptyInit()
644 SemaRef.Diag(CtorDecl->getLocation(), in PerformEmptyInit()
647 SemaRef.Diag(Entity.getDecl()->getLocation(), in PerformEmptyInit()
650 SemaRef.Diag(Loc, diag::note_used_in_initialization_here); in PerformEmptyInit()
657 InitSeq.Diagnose(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
659 SemaRef.Diag(Entity.getDecl()->getLocation(), in PerformEmptyInit()
666 SemaRef.Diag(Loc, diag::note_in_omitted_aggregate_initializer) in PerformEmptyInit()
676 : InitSeq.Perform(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
694 SemaRef.Context, &Base, false, &ParentEntity); in FillInEmptyInitForBase()
698 ? new (SemaRef.Context) NoInitExpr(Base.getType()) in FillInEmptyInitForBase()
739 Expr *Filler = new (SemaRef.Context) NoInitExpr(Field->getType()); in FillInEmptyInitForField()
743 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitForField()
754 ExprResult DIE = SemaRef.BuildCXXDefaultInitExpr(Loc, Field); in FillInEmptyInitForField()
759 SemaRef.checkInitializerLifetime(MemberEntity, DIE.get()); in FillInEmptyInitForField()
763 ILE->updateInit(SemaRef.Context, Init, DIE.get()); in FillInEmptyInitForField()
775 SemaRef.Diag(Loc, diag::err_init_reference_member_uninitialized) in FillInEmptyInitForField()
779 SemaRef.Diag(Field->getLocation(), diag::note_uninit_reference_member); in FillInEmptyInitForField()
800 ILE->updateInit(SemaRef.Context, Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
825 assert((ILE->getType() != SemaRef.Context.VoidTy) && in FillInEmptyInitializations()
870 ILE->resizeInits(SemaRef.Context, NumElems); in FillInEmptyInitializations()
913 if (const ArrayType *AType = SemaRef.Context.getAsArrayType(ILE->getType())) { in FillInEmptyInitializations()
921 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context, in FillInEmptyInitializations()
926 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context, in FillInEmptyInitializations()
955 Filler = new (SemaRef.Context) NoInitExpr(ElementType); in FillInEmptyInitializations()
991 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitializations()
1019 : SemaRef(S), VerifyOnly(VerifyOnly), in InitListChecker()
1052 SemaRef.Context.getAsConstantArrayType(DeclType)) { in numArrayElements()
1144 SemaRef.Diag(ParentIList->getInit(Index)->getBeginLoc(), in CheckImplicitInitList()
1180 !ParentIList->isIdiomaticZeroInitializer(SemaRef.getLangOpts()) && in CheckImplicitInitList()
1182 SemaRef.Diag(StructuredSubobjectInitList->getBeginLoc(), in CheckImplicitInitList()
1188 SemaRef.getLocForEndOfToken( in CheckImplicitInitList()
1196 SemaRef.Diag(StructuredSubobjectInitList->getBeginLoc(), in CheckImplicitInitList()
1284 ExprTy = ExprTy.getNonLValueExprType(SemaRef.Context); in CheckExplicitInitList()
1295 bool ExtraInitsIsError = SemaRef.getLangOpts().CPlusPlus || in CheckExplicitInitList()
1296 (SemaRef.getLangOpts().OpenCL && T->isVectorType()); in CheckExplicitInitList()
1301 IsStringInit(StructuredList->getInit(0), T, SemaRef.Context) == in CheckExplicitInitList()
1307 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1313 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1324 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1332 warnBracedScalarInit(SemaRef, Entity, IList->getSourceRange()); in CheckExplicitInitList()
1342 auto *CD = SemaRef.LookupDefaultConstructor(CXXRD); in CheckExplicitInitList()
1347 SemaRef.Diag(IList->getBeginLoc(), in CheckExplicitInitList()
1391 SemaRef.Context.getTypeSize(SemaRef.Context.getSizeType()), in CheckListElementTypes()
1400 SemaRef.Diag(IList->getBeginLoc(), diag::err_illegal_initializer_type) in CheckListElementTypes()
1408 SemaRef.Diag(IList->getBeginLoc(), diag::err_init_objc_class) << DeclType; in CheckListElementTypes()
1424 SemaRef.Diag(IList->getBeginLoc(), diag::err_illegal_initializer_type) in CheckListElementTypes()
1445 IsStringInit(SubInitList->getInit(0), ElemType, SemaRef.Context) == in CheckSubElementType()
1455 assert(SemaRef.Context.hasSameType(expr->getType(), ElemType) && in CheckSubElementType()
1462 if (SemaRef.getLangOpts().CPlusPlus || isa<InitListExpr>(expr)) { in CheckSubElementType()
1500 SemaRef.Context.getAsArrayType(ElemType))) { in CheckSubElementType()
1506 InitializationSequence Seq(SemaRef, TmpEntity, Kind, expr, in CheckSubElementType()
1519 ExprResult Result = Seq.Perform(SemaRef, TmpEntity, Kind, expr); in CheckSubElementType()
1545 SemaRef.Context.getAsArrayType(ElemType)) { in CheckSubElementType()
1550 if (IsStringInit(expr, arrayType, SemaRef.Context) == SIF_None) { in CheckSubElementType()
1553 CheckStringInit(expr, ElemType, arrayType, SemaRef, in CheckSubElementType()
1554 SemaRef.getLangOpts().C23 && in CheckSubElementType()
1577 if (SemaRef.CheckSingleAssignmentConstraints( in CheckSubElementType()
1582 ExprRes = SemaRef.DefaultFunctionArrayLvalueConversion(ExprRes.get()); in CheckSubElementType()
1602 if ((!SemaRef.getLangOpts().OpenCL && ElemType->isVectorType()) || in CheckSubElementType()
1609 if (DirectlyDesignated && SemaRef.getLangOpts().CPlusPlus && !hadError) { in CheckSubElementType()
1613 SemaRef.Diag(expr->getBeginLoc(), in CheckSubElementType()
1618 SemaRef.getLocForEndOfToken(expr->getEndLoc()), "}"); in CheckSubElementType()
1627 SemaRef.PerformCopyInitialization(Entity, SourceLocation(), expr, in CheckSubElementType()
1659 if (!SemaRef.getLangOpts().CPlusPlus && !VerifyOnly) in CheckComplexType()
1660 SemaRef.Diag(IList->getBeginLoc(), diag::ext_complex_component_init) in CheckComplexType()
1666 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckComplexType()
1682 if (SemaRef.getLangOpts().CPlusPlus) { in CheckScalarType()
1684 SemaRef.Diag(IList->getBeginLoc(), in CheckScalarType()
1685 SemaRef.getLangOpts().CPlusPlus11 in CheckScalarType()
1690 SemaRef.Diag(IList->getBeginLoc(), in CheckScalarType()
1691 SemaRef.getLangOpts().CPlusPlus11 in CheckScalarType()
1698 SemaRef.getLangOpts().CPlusPlus && !SemaRef.getLangOpts().CPlusPlus11; in CheckScalarType()
1709 SemaRef.Diag(SubIList->getBeginLoc(), diag::ext_many_braces_around_init) in CheckScalarType()
1717 SemaRef.Diag(expr->getBeginLoc(), in CheckScalarType()
1731 if (SemaRef.CanPerformCopyInitialization(Entity, expr)) in CheckScalarType()
1737 SemaRef.PerformCopyInitialization(Entity, expr->getBeginLoc(), expr, in CheckScalarType()
1773 SemaRef.Diag(IList->getBeginLoc(), in CheckReferenceType()
1783 if (isa<InitListExpr>(expr) && !SemaRef.getLangOpts().CPlusPlus11) { in CheckReferenceType()
1785 SemaRef.Diag(IList->getBeginLoc(), diag::err_init_non_aggr_init_list) in CheckReferenceType()
1795 if (SemaRef.CanPerformCopyInitialization(Entity,expr)) in CheckReferenceType()
1801 SemaRef.PerformCopyInitialization(Entity, expr->getBeginLoc(), expr, in CheckReferenceType()
1832 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity), in CheckVectorType()
1837 if (!SemaRef.getLangOpts().OpenCL && !SemaRef.getLangOpts().HLSL ) { in CheckVectorType()
1844 if (SemaRef.CanPerformCopyInitialization(Entity, Init)) in CheckVectorType()
1850 SemaRef.PerformCopyInitialization(Entity, Init->getBeginLoc(), Init, in CheckVectorType()
1874 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckVectorType()
1891 bool isBigEndian = SemaRef.Context.getTargetInfo().isBigEndian(); in CheckVectorType()
1905 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1909 unsigned typeSize = SemaRef.Context.getTypeSize(elementType); in CheckVectorType()
1920 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1921 SemaRef.Context.getTypeSize(VT) > 64 in CheckVectorType()
1931 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckVectorType()
1952 VecType = SemaRef.Context.getExtVectorType(elementType, numIElts); in CheckVectorType()
1954 VecType = SemaRef.Context.getVectorType(elementType, numIElts, in CheckVectorType()
1965 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1983 Sema &SemaRef) { in checkDestructorReference() argument
1988 CXXDestructorDecl *Destructor = SemaRef.LookupDestructor(CXXRD); in checkDestructorReference()
1989 SemaRef.CheckDestructorAccess(Loc, Destructor, in checkDestructorReference()
1990 SemaRef.PDiag(diag::err_access_dtor_temp) in checkDestructorReference()
1992 SemaRef.MarkFunctionReferenced(Loc, Destructor); in checkDestructorReference()
1993 return SemaRef.DiagnoseUseOfDecl(Destructor, Loc); in checkDestructorReference()
2036 const ArrayType *arrayType = SemaRef.Context.getAsArrayType(DeclType); in CheckArrayType()
2040 IList->getEndLoc(), SemaRef)) { in CheckArrayType()
2047 SemaRef.Context)) { in CheckArrayType()
2054 if (IsStringInit(IList->getInit(Index), arrayType, SemaRef.Context) == in CheckArrayType()
2063 CheckStringInit(IList->getInit(Index), DeclType, arrayType, SemaRef, in CheckArrayType()
2064 SemaRef.getLangOpts().C23 && in CheckArrayType()
2069 StructuredList->resizeInits(SemaRef.Context, StructuredIndex); in CheckArrayType()
2081 bool HasErr = IList->getNumInits() != 0 || SemaRef.getLangOpts().CPlusPlus; in CheckArrayType()
2094 SemaRef.Diag(VAT->getSizeExpr()->getBeginLoc(), in CheckArrayType()
2155 SemaRef.Context, StructuredIndex, Entity); in CheckArrayType()
2185 SemaRef.Diag(IList->getBeginLoc(), diag::ext_typecheck_zero_array_size); in CheckArrayType()
2188 DeclType = SemaRef.Context.getConstantArrayType( in CheckArrayType()
2199 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity), in CheckArrayType()
2229 SemaRef.Diag(InitExpr->getBeginLoc(), FlexArrayDiag) in CheckFlexibleArrayInit()
2231 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckFlexibleArrayInit()
2258 QualType ET = SemaRef.Context.getBaseElementType(FD->getType()); in CheckStructUnionTypes()
2259 if (checkDestructorReference(ET, IList->getEndLoc(), SemaRef)) { in CheckStructUnionTypes()
2327 SemaRef.Context.getPackExpansionType(Base.getType(), std::nullopt)); in CheckStructUnionTypes()
2341 SemaRef.Context, &Base, false, &Entity); in CheckStructUnionTypes()
2351 if (checkDestructorReference(Base.getType(), InitLoc, SemaRef)) { in CheckStructUnionTypes()
2396 QualType ET = SemaRef.Context.getBaseElementType(F->getType()); in CheckStructUnionTypes()
2397 if (checkDestructorReference(ET, InitLoc, SemaRef)) { in CheckStructUnionTypes()
2432 SemaRef.Diag(InitLoc, diag::err_non_designated_init_used); in CheckStructUnionTypes()
2459 InvalidUse = !SemaRef.CanUseDecl(*Field, TreatUnavailableAsInvalid); in CheckStructUnionTypes()
2461 InvalidUse = SemaRef.DiagnoseUseOfDecl( in CheckStructUnionTypes()
2471 QualType ET = SemaRef.Context.getBaseElementType(Field->getType()); in CheckStructUnionTypes()
2472 if (checkDestructorReference(ET, InitLoc, SemaRef)) { in CheckStructUnionTypes()
2497 HasDesignatedInit && !SemaRef.getLangOpts().CPlusPlus; in CheckStructUnionTypes()
2499 !IList->isIdiomaticZeroInitializer(SemaRef.getLangOpts()) && in CheckStructUnionTypes()
2515 SemaRef.Diag(IList->getSourceRange().getEnd(), Diag) << *it; in CheckStructUnionTypes()
2540 QualType ET = SemaRef.Context.getBaseElementType(I->getType()); in CheckStructUnionTypes()
2541 if (checkDestructorReference(ET, IList->getEndLoc(), SemaRef)) { in CheckStructUnionTypes()
2580 static void ExpandAnonymousFieldDesignator(Sema &SemaRef, in ExpandAnonymousFieldDesignator() argument
2604 DIE->ExpandDesignator(SemaRef.Context, DesigIdx, &Replacements[0], in ExpandAnonymousFieldDesignator()
2608 static DesignatedInitExpr *CloneDesignatedInitExpr(Sema &SemaRef, in CloneDesignatedInitExpr() argument
2614 return DesignatedInitExpr::Create(SemaRef.Context, DIE->designators(), in CloneDesignatedInitExpr()
2705 InitializationSequence Seq(SemaRef, Entity, Kind, Init, in CheckDesignatedInitializer()
2710 : Seq.Perform(SemaRef, Entity, Kind, Init); in CheckDesignatedInitializer()
2782 DesignatedInitUpdateExpr *DIUE = new (SemaRef.Context) in CheckDesignatedInitializer()
2783 DesignatedInitUpdateExpr(SemaRef.Context, D->getBeginLoc(), in CheckDesignatedInitializer()
2785 StructuredList->updateInit(SemaRef.Context, StructuredIndex, DIUE); in CheckDesignatedInitializer()
2816 SemaRef.Diag(Loc, diag::err_field_designator_non_aggr) in CheckDesignatedInitializer()
2817 << SemaRef.getLangOpts().CPlusPlus << CurrentObjectType; in CheckDesignatedInitializer()
2825 ValueDecl *VD = SemaRef.tryLookupUnambiguousFieldDecl(RD, FieldName); in CheckDesignatedInitializer()
2831 DIE = CloneDesignatedInitExpr(SemaRef, DIE); in CheckDesignatedInitializer()
2832 ExpandAnonymousFieldDesignator(SemaRef, DIE, DesigIdx, IFD); in CheckDesignatedInitializer()
2843 if (SemaRef.DiagRedefinedPlaceholderFieldDecl(DIE->getBeginLoc(), RD, in CheckDesignatedInitializer()
2851 SemaRef.Diag(D->getFieldLoc(), diag::err_field_designator_nonfield) in CheckDesignatedInitializer()
2853 SemaRef.Diag(Lookup.front()->getLocation(), in CheckDesignatedInitializer()
2862 if (TypoCorrection Corrected = SemaRef.CorrectTypo( in CheckDesignatedInitializer()
2866 SemaRef.diagnoseTypo( in CheckDesignatedInitializer()
2868 SemaRef.PDiag(diag::err_field_designator_unknown_suggest) in CheckDesignatedInitializer()
2881 SemaRef.Diag(Loc, diag::err_field_designator_unknown) in CheckDesignatedInitializer()
2924 /*FullyOverwritten=*/SemaRef.getLangOpts().CPlusPlus ? false in CheckDesignatedInitializer()
2929 StructuredList->resizeInits(SemaRef.Context, 0); in CheckDesignatedInitializer()
2940 InvalidUse = !SemaRef.CanUseDecl(*Field, TreatUnavailableAsInvalid); in CheckDesignatedInitializer()
2942 InvalidUse = SemaRef.DiagnoseUseOfDecl(*Field, D->getFieldLoc()); in CheckDesignatedInitializer()
2963 if (IsFirstDesignator && !VerifyOnly && SemaRef.getLangOpts().CPlusPlus && in CheckDesignatedInitializer()
2980 SemaRef.Diag(DIE->getInit()->getBeginLoc(), in CheckDesignatedInitializer()
2987 SemaRef.Diag(PrevInit->getBeginLoc(), in CheckDesignatedInitializer()
3003 StructuredList->resizeInits(SemaRef.Context, FieldIndex + 1); in CheckDesignatedInitializer()
3014 SemaRef.Diag(NextD->getBeginLoc(), in CheckDesignatedInitializer()
3017 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckDesignatedInitializer()
3027 SemaRef.Diag(DIE->getInit()->getBeginLoc(), in CheckDesignatedInitializer()
3030 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckDesignatedInitializer()
3131 const ArrayType *AT = SemaRef.Context.getAsArrayType(CurrentObjectType); in CheckDesignatedInitializer()
3134 SemaRef.Diag(D->getLBracketLoc(), diag::err_array_designator_non_array) in CheckDesignatedInitializer()
3144 DesignatedStartIndex = IndexExpr->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
3150 DIE->getArrayRangeStart(*D)->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
3152 DIE->getArrayRangeEnd(*D)->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
3161 DIE->getInit()->HasSideEffects(SemaRef.Context) && !VerifyOnly) in CheckDesignatedInitializer()
3175 SemaRef.Diag(IndexExpr->getBeginLoc(), in CheckDesignatedInitializer()
3184 ConstantArrayType::getMaxSizeBits(SemaRef.Context); in CheckDesignatedInitializer()
3202 ASTContext &Context = SemaRef.Context; in CheckDesignatedInitializer()
3263 StructuredList->resizeInits(SemaRef.Context, in CheckDesignatedInitializer()
3274 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckDesignatedInitializer()
3378 StructuredList->updateInit(SemaRef.Context, StructuredIndex, Result); in getStructuredSubobjectInit()
3386 InitListExpr *Result = new (SemaRef.Context) InitListExpr( in createInitListExpr()
3387 SemaRef.Context, InitRange.getBegin(), std::nullopt, InitRange.getEnd()); in createInitListExpr()
3391 ResultType = ResultType.getNonLValueExprType(SemaRef.Context); in createInitListExpr()
3398 = SemaRef.Context.getAsArrayType(CurrentObjectType)) { in createInitListExpr()
3414 Result->reserveInits(SemaRef.Context, NumElements); in createInitListExpr()
3428 if (Expr *PrevInit = StructuredList->updateInit(SemaRef.Context, in UpdateStructuredListElement()
9576 Sema &SemaRef, QualType &TT) { in CheckC23ConstexprInitStringLiteral() argument
9577 assert(SemaRef.getLangOpts().C23); in CheckC23ConstexprInitStringLiteral()
9579 const ArrayType *AT = SemaRef.Context.getAsArrayType(TT); in CheckC23ConstexprInitStringLiteral()
9581 uint32_t BitWidth = SemaRef.Context.getTypeSize(CharType); in CheckC23ConstexprInitStringLiteral()
9585 int64_t C = SE->getCodeUnitS(I, SemaRef.Context.getCharWidth()); in CheckC23ConstexprInitStringLiteral()
9588 SemaRef.Diag(SemaRef.getLocationOfStringLiteralByte(SE, I), in CheckC23ConstexprInitStringLiteral()