Lines Matching refs:SemaRef
286 Sema &SemaRef; member in __anon778db8540111::InitListChecker
296 DummyExpr = new (SemaRef.Context) NoInitExpr(SemaRef.Context.VoidTy); in getDummyInit()
388 unsigned DiagID = SemaRef.getLangOpts().CPlusPlus in diagnoseInitOverride()
392 if (InOverloadResolution && SemaRef.getLangOpts().CPlusPlus) { in diagnoseInitOverride()
432 SemaRef.Diag(NewInitRange.getBegin(), DiagID) in diagnoseInitOverride()
434 SemaRef.Diag(OldInit->getBeginLoc(), diag::note_previous_initializer) in diagnoseInitOverride()
435 << (OldInit->HasSideEffects(SemaRef.Context) && FullyOverwritten) in diagnoseInitOverride()
496 InitListExpr DummyInitList(SemaRef.Context, Loc, None, Loc); in PerformEmptyInit()
502 bool EmptyInitList = SemaRef.getLangOpts().CPlusPlus11 && in PerformEmptyInit()
515 InitExpr = VerifyOnly ? &DummyInitList : new (SemaRef.Context) in PerformEmptyInit()
516 InitListExpr(SemaRef.Context, Loc, None, Loc); in PerformEmptyInit()
517 InitExpr->setType(SemaRef.Context.VoidTy); in PerformEmptyInit()
525 InitializationSequence InitSeq(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
536 .BestViableFunction(SemaRef, Kind.getLocation(), Best); in PerformEmptyInit()
544 SemaRef.SourceMgr.isInSystemHeader(CtorDecl->getLocation())) { in PerformEmptyInit()
548 if (SemaRef.getStdNamespace()->InEnclosingNamespaceSetOf(ND)) in PerformEmptyInit()
559 SemaRef, Entity, in PerformEmptyInit()
566 SemaRef.Diag(CtorDecl->getLocation(), in PerformEmptyInit()
569 SemaRef.Diag(Entity.getDecl()->getLocation(), in PerformEmptyInit()
572 SemaRef.Diag(Loc, diag::note_used_in_initialization_here); in PerformEmptyInit()
579 InitSeq.Diagnose(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
581 SemaRef.Diag(Entity.getDecl()->getLocation(), in PerformEmptyInit()
588 SemaRef.Diag(Loc, diag::note_in_omitted_aggregate_initializer) in PerformEmptyInit()
598 : InitSeq.Perform(SemaRef, Entity, Kind, SubInit); in PerformEmptyInit()
616 SemaRef.Context, &Base, false, &ParentEntity); in FillInEmptyInitForBase()
620 ? new (SemaRef.Context) NoInitExpr(Base.getType()) in FillInEmptyInitForBase()
661 Expr *Filler = new (SemaRef.Context) NoInitExpr(Field->getType()); in FillInEmptyInitForField()
665 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitForField()
676 ExprResult DIE = SemaRef.BuildCXXDefaultInitExpr(Loc, Field); in FillInEmptyInitForField()
681 SemaRef.checkInitializerLifetime(MemberEntity, DIE.get()); in FillInEmptyInitForField()
685 ILE->updateInit(SemaRef.Context, Init, DIE.get()); in FillInEmptyInitForField()
697 SemaRef.Diag(Loc, diag::err_init_reference_member_uninitialized) in FillInEmptyInitForField()
700 SemaRef.Diag(Field->getLocation(), in FillInEmptyInitForField()
722 ILE->updateInit(SemaRef.Context, Init, MemberInit.getAs<Expr>()); in FillInEmptyInitForField()
747 assert((ILE->getType() != SemaRef.Context.VoidTy) && in FillInEmptyInitializations()
798 ILE->resizeInits(SemaRef.Context, NumElems); in FillInEmptyInitializations()
841 if (const ArrayType *AType = SemaRef.Context.getAsArrayType(ILE->getType())) { in FillInEmptyInitializations()
849 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context, in FillInEmptyInitializations()
854 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context, in FillInEmptyInitializations()
883 Filler = new (SemaRef.Context) NoInitExpr(ElementType); in FillInEmptyInitializations()
919 ILE->updateInit(SemaRef.Context, Init, Filler); in FillInEmptyInitializations()
947 : SemaRef(S), VerifyOnly(VerifyOnly), in InitListChecker()
979 SemaRef.Context.getAsConstantArrayType(DeclType)) { in numArrayElements()
1063 SemaRef.Diag(ParentIList->getInit(Index)->getBeginLoc(), in CheckImplicitInitList()
1099 !ParentIList->isIdiomaticZeroInitializer(SemaRef.getLangOpts()) && in CheckImplicitInitList()
1101 SemaRef.Diag(StructuredSubobjectInitList->getBeginLoc(), in CheckImplicitInitList()
1107 SemaRef.getLocForEndOfToken( in CheckImplicitInitList()
1115 SemaRef.Diag(StructuredSubobjectInitList->getBeginLoc(), in CheckImplicitInitList()
1202 ExprTy = ExprTy.getNonLValueExprType(SemaRef.Context); in CheckExplicitInitList()
1213 bool ExtraInitsIsError = SemaRef.getLangOpts().CPlusPlus || in CheckExplicitInitList()
1214 (SemaRef.getLangOpts().OpenCL && T->isVectorType()); in CheckExplicitInitList()
1219 IsStringInit(StructuredList->getInit(0), T, SemaRef.Context) == in CheckExplicitInitList()
1225 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1231 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1242 SemaRef.Diag(IList->getInit(Index)->getBeginLoc(), DK) in CheckExplicitInitList()
1250 warnBracedScalarInit(SemaRef, Entity, IList->getSourceRange()); in CheckExplicitInitList()
1260 auto *CD = SemaRef.LookupDefaultConstructor(CXXRD); in CheckExplicitInitList()
1265 SemaRef.Diag(IList->getBeginLoc(), in CheckExplicitInitList()
1306 SemaRef.Context.getTypeSize(SemaRef.Context.getSizeType()), in CheckListElementTypes()
1315 SemaRef.Diag(IList->getBeginLoc(), diag::err_illegal_initializer_type) in CheckListElementTypes()
1323 SemaRef.Diag(IList->getBeginLoc(), diag::err_init_objc_class) << DeclType; in CheckListElementTypes()
1332 SemaRef.Diag(IList->getBeginLoc(), diag::err_illegal_initializer_type) in CheckListElementTypes()
1353 IsStringInit(SubInitList->getInit(0), ElemType, SemaRef.Context) == in CheckSubElementType()
1363 assert(SemaRef.Context.hasSameType(expr->getType(), ElemType) && in CheckSubElementType()
1370 if (SemaRef.getLangOpts().CPlusPlus || isa<InitListExpr>(expr)) { in CheckSubElementType()
1387 InitializationSequence Seq(SemaRef, TmpEntity, Kind, expr, in CheckSubElementType()
1398 ExprResult Result = Seq.Perform(SemaRef, TmpEntity, Kind, expr); in CheckSubElementType()
1420 SemaRef.Context.getAsArrayType(ElemType)) { in CheckSubElementType()
1425 if (IsStringInit(expr, arrayType, SemaRef.Context) == SIF_None) { in CheckSubElementType()
1428 CheckStringInit(expr, ElemType, arrayType, SemaRef); in CheckSubElementType()
1450 if (SemaRef.CheckSingleAssignmentConstraints( in CheckSubElementType()
1455 ExprRes = SemaRef.DefaultFunctionArrayLvalueConversion(ExprRes.get()); in CheckSubElementType()
1475 if ((!SemaRef.getLangOpts().OpenCL && ElemType->isVectorType()) || in CheckSubElementType()
1482 if (DirectlyDesignated && SemaRef.getLangOpts().CPlusPlus && !hadError) { in CheckSubElementType()
1486 SemaRef.Diag(expr->getBeginLoc(), in CheckSubElementType()
1491 SemaRef.getLocForEndOfToken(expr->getEndLoc()), "}"); in CheckSubElementType()
1500 SemaRef.PerformCopyInitialization(Entity, SourceLocation(), expr, in CheckSubElementType()
1532 if (!SemaRef.getLangOpts().CPlusPlus && !VerifyOnly) in CheckComplexType()
1533 SemaRef.Diag(IList->getBeginLoc(), diag::ext_complex_component_init) in CheckComplexType()
1539 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckComplexType()
1556 SemaRef.Diag(IList->getBeginLoc(), in CheckScalarType()
1557 SemaRef.getLangOpts().CPlusPlus11 in CheckScalarType()
1562 SemaRef.Diag(IList->getBeginLoc(), in CheckScalarType()
1563 SemaRef.getLangOpts().CPlusPlus11 in CheckScalarType()
1568 hadError = !SemaRef.getLangOpts().CPlusPlus11; in CheckScalarType()
1579 SemaRef.Diag(SubIList->getBeginLoc(), diag::ext_many_braces_around_init) in CheckScalarType()
1587 SemaRef.Diag(expr->getBeginLoc(), in CheckScalarType()
1599 if (SemaRef.CanPerformCopyInitialization(Entity, expr)) in CheckScalarType()
1605 SemaRef.PerformCopyInitialization(Entity, expr->getBeginLoc(), expr, in CheckScalarType()
1637 SemaRef.Diag(IList->getBeginLoc(), in CheckReferenceType()
1647 if (isa<InitListExpr>(expr) && !SemaRef.getLangOpts().CPlusPlus11) { in CheckReferenceType()
1649 SemaRef.Diag(IList->getBeginLoc(), diag::err_init_non_aggr_init_list) in CheckReferenceType()
1659 if (SemaRef.CanPerformCopyInitialization(Entity,expr)) in CheckReferenceType()
1665 SemaRef.PerformCopyInitialization(Entity, expr->getBeginLoc(), expr, in CheckReferenceType()
1694 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity), in CheckVectorType()
1699 if (!SemaRef.getLangOpts().OpenCL) { in CheckVectorType()
1706 if (SemaRef.CanPerformCopyInitialization(Entity, Init)) in CheckVectorType()
1712 SemaRef.PerformCopyInitialization(Entity, Init->getBeginLoc(), Init, in CheckVectorType()
1734 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckVectorType()
1751 bool isBigEndian = SemaRef.Context.getTargetInfo().isBigEndian(); in CheckVectorType()
1765 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1769 unsigned typeSize = SemaRef.Context.getTypeSize(elementType); in CheckVectorType()
1780 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1781 SemaRef.Context.getTypeSize(VT) > 64 in CheckVectorType()
1791 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckVectorType()
1812 VecType = SemaRef.Context.getExtVectorType(elementType, numIElts); in CheckVectorType()
1814 VecType = SemaRef.Context.getVectorType(elementType, numIElts, in CheckVectorType()
1825 SemaRef.Diag(IList->getBeginLoc(), in CheckVectorType()
1843 Sema &SemaRef) { in checkDestructorReference() argument
1848 CXXDestructorDecl *Destructor = SemaRef.LookupDestructor(CXXRD); in checkDestructorReference()
1849 SemaRef.CheckDestructorAccess(Loc, Destructor, in checkDestructorReference()
1850 SemaRef.PDiag(diag::err_access_dtor_temp) in checkDestructorReference()
1852 SemaRef.MarkFunctionReferenced(Loc, Destructor); in checkDestructorReference()
1853 return SemaRef.DiagnoseUseOfDecl(Destructor, Loc); in checkDestructorReference()
1863 const ArrayType *arrayType = SemaRef.Context.getAsArrayType(DeclType); in CheckArrayType()
1867 IList->getEndLoc(), SemaRef)) { in CheckArrayType()
1875 if (IsStringInit(IList->getInit(Index), arrayType, SemaRef.Context) == in CheckArrayType()
1884 CheckStringInit(IList->getInit(Index), DeclType, arrayType, SemaRef); in CheckArrayType()
1888 StructuredList->resizeInits(SemaRef.Context, StructuredIndex); in CheckArrayType()
1899 SemaRef.Diag(VAT->getSizeExpr()->getBeginLoc(), in CheckArrayType()
1959 InitializedEntity::InitializeElement(SemaRef.Context, StructuredIndex, in CheckArrayType()
1978 SemaRef.Diag(IList->getBeginLoc(), diag::ext_typecheck_zero_array_size); in CheckArrayType()
1981 DeclType = SemaRef.Context.getConstantArrayType( in CheckArrayType()
1992 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity), in CheckArrayType()
2007 } else if (SemaRef.getLangOpts().CPlusPlus) { in CheckFlexibleArrayInit()
2026 SemaRef.Diag(InitExpr->getBeginLoc(), FlexArrayDiag) in CheckFlexibleArrayInit()
2028 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckFlexibleArrayInit()
2057 QualType ET = SemaRef.Context.getBaseElementType(FD->getType()); in CheckStructUnionTypes()
2058 if (checkDestructorReference(ET, IList->getEndLoc(), SemaRef)) { in CheckStructUnionTypes()
2108 SemaRef.Context, &Base, false, &Entity); in CheckStructUnionTypes()
2118 if (checkDestructorReference(Base.getType(), InitLoc, SemaRef)) { in CheckStructUnionTypes()
2131 !IList->isIdiomaticZeroInitializer(SemaRef.getLangOpts()); in CheckStructUnionTypes()
2159 QualType ET = SemaRef.Context.getBaseElementType(F->getType()); in CheckStructUnionTypes()
2160 if (checkDestructorReference(ET, InitLoc, SemaRef)) { in CheckStructUnionTypes()
2196 InvalidUse = !SemaRef.CanUseDecl(*Field, TreatUnavailableAsInvalid); in CheckStructUnionTypes()
2198 InvalidUse = SemaRef.DiagnoseUseOfDecl( in CheckStructUnionTypes()
2208 QualType ET = SemaRef.Context.getBaseElementType(Field->getType()); in CheckStructUnionTypes()
2209 if (checkDestructorReference(ET, InitLoc, SemaRef)) { in CheckStructUnionTypes()
2238 SemaRef.Diag(IList->getSourceRange().getEnd(), in CheckStructUnionTypes()
2264 QualType ET = SemaRef.Context.getBaseElementType(I->getType()); in CheckStructUnionTypes()
2265 if (checkDestructorReference(ET, IList->getEndLoc(), SemaRef)) { in CheckStructUnionTypes()
2298 static void ExpandAnonymousFieldDesignator(Sema &SemaRef, in ExpandAnonymousFieldDesignator() argument
2322 DIE->ExpandDesignator(SemaRef.Context, DesigIdx, &Replacements[0], in ExpandAnonymousFieldDesignator()
2326 static DesignatedInitExpr *CloneDesignatedInitExpr(Sema &SemaRef, in CloneDesignatedInitExpr() argument
2332 return DesignatedInitExpr::Create(SemaRef.Context, DIE->designators(), in CloneDesignatedInitExpr()
2423 InitializationSequence Seq(SemaRef, Entity, Kind, Init, in CheckDesignatedInitializer()
2428 : Seq.Perform(SemaRef, Entity, Kind, Init); in CheckDesignatedInitializer()
2497 DesignatedInitUpdateExpr *DIUE = new (SemaRef.Context) in CheckDesignatedInitializer()
2498 DesignatedInitUpdateExpr(SemaRef.Context, D->getBeginLoc(), in CheckDesignatedInitializer()
2500 StructuredList->updateInit(SemaRef.Context, StructuredIndex, DIUE); in CheckDesignatedInitializer()
2531 SemaRef.Diag(Loc, diag::err_field_designator_non_aggr) in CheckDesignatedInitializer()
2532 << SemaRef.getLangOpts().CPlusPlus << CurrentObjectType; in CheckDesignatedInitializer()
2549 DIE = CloneDesignatedInitExpr(SemaRef, DIE); in CheckDesignatedInitializer()
2550 ExpandAnonymousFieldDesignator(SemaRef, DIE, DesigIdx, IFD); in CheckDesignatedInitializer()
2564 SemaRef.Diag(D->getFieldLoc(), diag::err_field_designator_nonfield) in CheckDesignatedInitializer()
2566 SemaRef.Diag(Lookup.front()->getLocation(), in CheckDesignatedInitializer()
2575 if (TypoCorrection Corrected = SemaRef.CorrectTypo( in CheckDesignatedInitializer()
2579 SemaRef.diagnoseTypo( in CheckDesignatedInitializer()
2581 SemaRef.PDiag(diag::err_field_designator_unknown_suggest) in CheckDesignatedInitializer()
2587 SemaRef.Diag(D->getFieldLoc(), diag::err_field_designator_unknown) in CheckDesignatedInitializer()
2632 StructuredList->resizeInits(SemaRef.Context, 0); in CheckDesignatedInitializer()
2643 InvalidUse = !SemaRef.CanUseDecl(*Field, TreatUnavailableAsInvalid); in CheckDesignatedInitializer()
2645 InvalidUse = SemaRef.DiagnoseUseOfDecl(*Field, D->getFieldLoc()); in CheckDesignatedInitializer()
2666 if (IsFirstDesignator && !VerifyOnly && SemaRef.getLangOpts().CPlusPlus && in CheckDesignatedInitializer()
2684 SemaRef.Diag(DIE->getBeginLoc(), diag::ext_designated_init_reordered) in CheckDesignatedInitializer()
2690 SemaRef.Diag(PrevInit->getBeginLoc(), in CheckDesignatedInitializer()
2706 StructuredList->resizeInits(SemaRef.Context, FieldIndex + 1); in CheckDesignatedInitializer()
2717 SemaRef.Diag(NextD->getBeginLoc(), in CheckDesignatedInitializer()
2720 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckDesignatedInitializer()
2730 SemaRef.Diag(DIE->getInit()->getBeginLoc(), in CheckDesignatedInitializer()
2733 SemaRef.Diag(Field->getLocation(), diag::note_flexible_array_member) in CheckDesignatedInitializer()
2830 const ArrayType *AT = SemaRef.Context.getAsArrayType(CurrentObjectType); in CheckDesignatedInitializer()
2833 SemaRef.Diag(D->getLBracketLoc(), diag::err_array_designator_non_array) in CheckDesignatedInitializer()
2843 DesignatedStartIndex = IndexExpr->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
2849 DIE->getArrayRangeStart(*D)->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
2851 DIE->getArrayRangeEnd(*D)->EvaluateKnownConstInt(SemaRef.Context); in CheckDesignatedInitializer()
2860 DIE->getInit()->HasSideEffects(SemaRef.Context) && !VerifyOnly) in CheckDesignatedInitializer()
2874 SemaRef.Diag(IndexExpr->getBeginLoc(), in CheckDesignatedInitializer()
2883 ConstantArrayType::getMaxSizeBits(SemaRef.Context); in CheckDesignatedInitializer()
2901 ASTContext &Context = SemaRef.Context; in CheckDesignatedInitializer()
2962 StructuredList->resizeInits(SemaRef.Context, in CheckDesignatedInitializer()
2973 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity); in CheckDesignatedInitializer()
3077 StructuredList->updateInit(SemaRef.Context, StructuredIndex, Result); in getStructuredSubobjectInit()
3086 = new (SemaRef.Context) InitListExpr(SemaRef.Context, in createInitListExpr()
3092 ResultType = ResultType.getNonLValueExprType(SemaRef.Context); in createInitListExpr()
3099 = SemaRef.Context.getAsArrayType(CurrentObjectType)) { in createInitListExpr()
3113 Result->reserveInits(SemaRef.Context, NumElements); in createInitListExpr()
3127 if (Expr *PrevInit = StructuredList->updateInit(SemaRef.Context, in UpdateStructuredListElement()