Lines Matching defs:InitializedEntity
192 static bool initializingConstexprVariable(const InitializedEntity &Entity) {
194 const InitializedEntity *Parent = &Entity;
329 void CheckImplicitInitList(const InitializedEntity &Entity,
333 void CheckExplicitInitList(const InitializedEntity &Entity,
337 void CheckListElementTypes(const InitializedEntity &Entity,
344 void CheckSubElementType(const InitializedEntity &Entity,
350 void CheckComplexType(const InitializedEntity &Entity,
355 void CheckScalarType(const InitializedEntity &Entity,
360 void CheckReferenceType(const InitializedEntity &Entity,
365 void CheckVectorType(const InitializedEntity &Entity,
369 void CheckStructUnionTypes(const InitializedEntity &Entity,
377 void CheckArrayType(const InitializedEntity &Entity,
383 bool CheckDesignatedInitializer(const InitializedEntity &Entity,
411 const InitializedEntity &Entity);
493 const InitializedEntity &ParentEntity,
497 const InitializedEntity &ParentEntity,
500 void FillInEmptyInitializations(const InitializedEntity &Entity,
504 bool CheckFlexibleArrayInit(const InitializedEntity &Entity,
507 void CheckEmptyInitializable(const InitializedEntity &Entity,
510 Expr *HandleEmbed(EmbedExpr *Embed, const InitializedEntity &Entity) {
520 if (Entity.getKind() == InitializedEntity::EK_ArrayElement) {
548 Sema &S, const InitializedEntity &Entity, InitListExpr *IL, QualType &T,
552 InitListChecker(Sema &S, const InitializedEntity &Entity, InitListExpr *IL,
570 const InitializedEntity &Entity) {
648 if (Entity.getKind() == InitializedEntity::EK_Member)
651 else if (Entity.getKind() == InitializedEntity::EK_ArrayElement)
660 if (Entity.getKind() == InitializedEntity::EK_Member)
664 else if (Entity.getKind() == InitializedEntity::EK_ArrayElement) {
681 void InitListChecker::CheckEmptyInitializable(const InitializedEntity &Entity,
693 const InitializedEntity &ParentEntity, InitListExpr *ILE,
695 InitializedEntity BaseEntity = InitializedEntity::InitializeBase(
724 const InitializedEntity &ParentEntity,
730 InitializedEntity MemberEntity
731 = InitializedEntity::InitializeMember(Field, &ParentEntity);
845 InitListChecker::FillInEmptyInitializations(const InitializedEntity &Entity,
936 InitializedEntity ElementEntity = Entity;
947 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context,
952 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context,
962 if (ElementEntity.getKind() == InitializedEntity::EK_ArrayElement ||
963 ElementEntity.getKind() == InitializedEntity::EK_VectorElement)
1000 if (ElementEntity.getKind() == InitializedEntity::EK_ArrayElement)
1007 if (ElementEntity.getKind() == InitializedEntity::EK_ArrayElement) {
1042 Sema &S, const InitializedEntity &Entity, InitListExpr *IL, QualType &T,
1108 static bool isIdiomaticBraceElisionEntity(const InitializedEntity &Entity) {
1121 if (Entity.getKind() == InitializedEntity::EK_Base) {
1129 if (Entity.getKind() == InitializedEntity::EK_Member) {
1152 void InitListChecker::CheckImplicitInitList(const InitializedEntity &Entity,
1231 static void warnBracedScalarInit(Sema &S, const InitializedEntity &Entity,
1242 case InitializedEntity::EK_VectorElement:
1243 case InitializedEntity::EK_ComplexElement:
1244 case InitializedEntity::EK_ArrayElement:
1245 case InitializedEntity::EK_Parameter:
1246 case InitializedEntity::EK_Parameter_CF_Audited:
1247 case InitializedEntity::EK_TemplateParameter:
1248 case InitializedEntity::EK_Result:
1249 case InitializedEntity::EK_ParenAggInitMember:
1254 case InitializedEntity::EK_Member:
1261 case InitializedEntity::EK_Variable:
1262 case InitializedEntity::EK_LambdaCapture:
1267 case InitializedEntity::EK_New:
1268 case InitializedEntity::EK_Temporary:
1269 case InitializedEntity::EK_CompoundLiteralInit:
1273 case InitializedEntity::EK_RelatedResult:
1277 case InitializedEntity::EK_Exception:
1278 case InitializedEntity::EK_Base:
1279 case InitializedEntity::EK_Delegating:
1280 case InitializedEntity::EK_BlockElement:
1281 case InitializedEntity::EK_LambdaToBlockConversionBlockElement:
1282 case InitializedEntity::EK_Binding:
1283 case InitializedEntity::EK_StmtExprResult:
1300 void InitListChecker::CheckExplicitInitList(const InitializedEntity &Entity,
1381 void InitListChecker::CheckListElementTypes(const InitializedEntity &Entity,
1456 void InitListChecker::CheckSubElementType(const InitializedEntity &Entity,
1502 ? InitializedEntity::InitializeTemporary(ElemType)
1665 void InitListChecker::CheckComplexType(const InitializedEntity &Entity,
1691 InitializedEntity ElementEntity =
1692 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
1701 void InitListChecker::CheckScalarType(const InitializedEntity &Entity,
1788 void InitListChecker::CheckReferenceType(const InitializedEntity &Entity,
1845 void InitListChecker::CheckVectorType(const InitializedEntity &Entity,
1858 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity),
1899 InitializedEntity ElementEntity =
1900 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
1956 InitializedEntity ElementEntity =
1957 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
2028 const InitializedEntity &Entity,
2031 const InitializedEntity *Parent = &Entity;
2054 void InitListChecker::CheckArrayType(const InitializedEntity &Entity,
2179 InitializedEntity ElementEntity = InitializedEntity::InitializeElement(
2224 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity),
2229 bool InitListChecker::CheckFlexibleArrayInit(const InitializedEntity &Entity,
2242 } else if (Entity.getKind() != InitializedEntity::EK_Variable) {
2268 const InitializedEntity &Entity, InitListExpr *IList, QualType DeclType,
2318 InitializedEntity::InitializeMember(*Field, &Entity),
2369 InitializedEntity BaseEntity = InitializedEntity::InitializeBase(
2507 InitializedEntity MemberEntity =
2508 InitializedEntity::InitializeMember(*Field, &Entity);
2556 InitializedEntity::InitializeMember(*Field, &Entity),
2587 InitializedEntity MemberEntity =
2588 InitializedEntity::InitializeMember(*Field, &Entity);
2710 InitListChecker::CheckDesignatedInitializer(const InitializedEntity &Entity,
3080 InitializedEntity MemberEntity =
3081 InitializedEntity::InitializeMember(*Field, &Entity);
3099 InitializedEntity MemberEntity =
3100 InitializedEntity::InitializeMember(*Field, &Entity);
3301 InitializedEntity ElementEntity =
3302 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
3470 const InitializedEntity &Entity, InitListExpr *From) {
3586 InitializedEntity::InitializedEntity(ASTContext &Context, unsigned Index,
3587 const InitializedEntity &Parent)
3604 InitializedEntity
3605 InitializedEntity::InitializeBase(ASTContext &Context,
3608 const InitializedEntity *Parent) {
3609 InitializedEntity Result;
3617 DeclarationName InitializedEntity::getName() const {
3655 ValueDecl *InitializedEntity::getDecl() const {
3689 bool InitializedEntity::allowsNRVO() const {
3721 unsigned InitializedEntity::dumpImpl(raw_ostream &OS) const {
3770 LLVM_DUMP_METHOD void InitializedEntity::dump() const {
4158 const InitializedEntity &Entity) {
4159 if (Entity.getKind() != InitializedEntity::EK_Variable)
4179 const InitializedEntity &Entity) {
4196 } else if (Entity.getKind() == InitializedEntity::EK_Result ||
4197 Entity.getKind() == InitializedEntity::EK_StmtExprResult) {
4207 const InitializedEntity &Entity, Expr *Initializer,
4217 InitializedEntity Element =
4218 InitializedEntity::InitializeElement(S.Context, 0, Entity);
4233 const InitializedEntity &Entity,
4264 InitializedEntity HiddenArray =
4265 InitializedEntity::InitializeTemporary(ArrayType);
4407 const InitializedEntity &Entity,
4430 !(Entity.getKind() != InitializedEntity::EK_Base &&
4431 Entity.getKind() != InitializedEntity::EK_Delegating &&
4433 InitializedEntity::EK_LambdaToBlockConversionBlockElement);
4658 const InitializedEntity &Entity,
4669 const InitializedEntity &Entity,
4676 const InitializedEntity &Entity,
4687 if (Entity.getKind() == InitializedEntity::EK_CompoundLiteralInit) {
4747 InitializedEntity TempEntity =
4748 InitializedEntity::InitializeTemporary(cv1T1IgnoreAS);
4779 const InitializedEntity &Entity,
4858 Entity.getKind() == InitializedEntity::EK_Variable &&
5021 Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind,
5201 const InitializedEntity &Entity,
5205 static void TryReferenceInitialization(Sema &S, const InitializedEntity &Entity,
5244 const InitializedEntity &Entity,
5499 InitializedEntity TempEntity =
5500 InitializedEntity::InitializeTemporary(cv1T1IgnoreAS);
5569 const InitializedEntity &Entity,
5578 const InitializedEntity &Entity,
5657 const InitializedEntity &Entity,
5695 Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind,
5704 auto HandleInitializedEntity = [&](const InitializedEntity &SubEntity,
5740 SmallVector<InitializedEntity, 4> ElementEntities;
5770 InitializedEntity SubEntity = InitializedEntity::InitializeElement(
5779 InitializedEntity SubEntity = InitializedEntity::InitializeElement(
5806 InitializedEntity SubEntity = InitializedEntity::InitializeBase(
5840 InitializedEntity SubEntity =
5841 InitializedEntity::InitializeMemberFromParenAggInit(FD);
6146 const InitializedEntity &Entity,
6149 Entity.getKind() == InitializedEntity::EK_Result &&
6263 const InitializedEntity &Entity,
6369 Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind,
6390 static bool canPerformArrayCopy(const InitializedEntity &Entity) {
6392 case InitializedEntity::EK_LambdaCapture:
6398 case InitializedEntity::EK_Variable:
6404 case InitializedEntity::EK_Member:
6410 case InitializedEntity::EK_ArrayElement:
6425 const InitializedEntity &Entity,
6605 Entity.getKind() == InitializedEntity::EK_Member &&
6857 static AssignmentAction getAssignmentAction(const InitializedEntity &Entity,
6860 case InitializedEntity::EK_Variable:
6861 case InitializedEntity::EK_New:
6862 case InitializedEntity::EK_Exception:
6863 case InitializedEntity::EK_Base:
6864 case InitializedEntity::EK_Delegating:
6867 case InitializedEntity::EK_Parameter:
6874 case InitializedEntity::EK_Parameter_CF_Audited:
6882 case InitializedEntity::EK_Result:
6883 case InitializedEntity::EK_StmtExprResult: // FIXME: Not quite right.
6886 case InitializedEntity::EK_Temporary:
6887 case InitializedEntity::EK_RelatedResult:
6891 case InitializedEntity::EK_TemplateParameter:
6896 case InitializedEntity::EK_Member:
6897 case InitializedEntity::EK_ParenAggInitMember:
6898 case InitializedEntity::EK_Binding:
6899 case InitializedEntity::EK_ArrayElement:
6900 case InitializedEntity::EK_VectorElement:
6901 case InitializedEntity::EK_ComplexElement:
6902 case InitializedEntity::EK_BlockElement:
6903 case InitializedEntity::EK_LambdaToBlockConversionBlockElement:
6904 case InitializedEntity::EK_LambdaCapture:
6905 case InitializedEntity::EK_CompoundLiteralInit:
6914 static bool shouldBindAsTemporary(const InitializedEntity &Entity) {
6916 case InitializedEntity::EK_ArrayElement:
6917 case InitializedEntity::EK_Member:
6918 case InitializedEntity::EK_ParenAggInitMember:
6919 case InitializedEntity::EK_Result:
6920 case InitializedEntity::EK_StmtExprResult:
6921 case InitializedEntity::EK_New:
6922 case InitializedEntity::EK_Variable:
6923 case InitializedEntity::EK_Base:
6924 case InitializedEntity::EK_Delegating:
6925 case InitializedEntity::EK_VectorElement:
6926 case InitializedEntity::EK_ComplexElement:
6927 case InitializedEntity::EK_Exception:
6928 case InitializedEntity::EK_BlockElement:
6929 case InitializedEntity::EK_LambdaToBlockConversionBlockElement:
6930 case InitializedEntity::EK_LambdaCapture:
6931 case InitializedEntity::EK_CompoundLiteralInit:
6932 case InitializedEntity::EK_TemplateParameter:
6935 case InitializedEntity::EK_Parameter:
6936 case InitializedEntity::EK_Parameter_CF_Audited:
6937 case InitializedEntity::EK_Temporary:
6938 case InitializedEntity::EK_RelatedResult:
6939 case InitializedEntity::EK_Binding:
6943 llvm_unreachable("missed an InitializedEntity kind?");
6948 static bool shouldDestroyEntity(const InitializedEntity &Entity) {
6950 case InitializedEntity::EK_Result:
6951 case InitializedEntity::EK_StmtExprResult:
6952 case InitializedEntity::EK_New:
6953 case InitializedEntity::EK_Base:
6954 case InitializedEntity::EK_Delegating:
6955 case InitializedEntity::EK_VectorElement:
6956 case InitializedEntity::EK_ComplexElement:
6957 case InitializedEntity::EK_BlockElement:
6958 case InitializedEntity::EK_LambdaToBlockConversionBlockElement:
6959 case InitializedEntity::EK_LambdaCapture:
6962 case InitializedEntity::EK_Member:
6963 case InitializedEntity::EK_ParenAggInitMember:
6964 case InitializedEntity::EK_Binding:
6965 case InitializedEntity::EK_Variable:
6966 case InitializedEntity::EK_Parameter:
6967 case InitializedEntity::EK_Parameter_CF_Audited:
6968 case InitializedEntity::EK_TemplateParameter:
6969 case InitializedEntity::EK_Temporary:
6970 case InitializedEntity::EK_ArrayElement:
6971 case InitializedEntity::EK_Exception:
6972 case InitializedEntity::EK_CompoundLiteralInit:
6973 case InitializedEntity::EK_RelatedResult:
6977 llvm_unreachable("missed an InitializedEntity kind?");
6981 static SourceLocation getInitializationLoc(const InitializedEntity &Entity,
6984 case InitializedEntity::EK_Result:
6985 case InitializedEntity::EK_StmtExprResult:
6988 case InitializedEntity::EK_Exception:
6991 case InitializedEntity::EK_Variable:
6992 case InitializedEntity::EK_Binding:
6995 case InitializedEntity::EK_LambdaCapture:
6998 case InitializedEntity::EK_ArrayElement:
6999 case InitializedEntity::EK_Member:
7000 case InitializedEntity::EK_ParenAggInitMember:
7001 case InitializedEntity::EK_Parameter:
7002 case InitializedEntity::EK_Parameter_CF_Audited:
7003 case InitializedEntity::EK_TemplateParameter:
7004 case InitializedEntity::EK_Temporary:
7005 case InitializedEntity::EK_New:
7006 case InitializedEntity::EK_Base:
7007 case InitializedEntity::EK_Delegating:
7008 case InitializedEntity::EK_VectorElement:
7009 case InitializedEntity::EK_ComplexElement:
7010 case InitializedEntity::EK_BlockElement:
7011 case InitializedEntity::EK_LambdaToBlockConversionBlockElement:
7012 case InitializedEntity::EK_CompoundLiteralInit:
7013 case InitializedEntity::EK_RelatedResult:
7016 llvm_unreachable("missed an InitializedEntity kind?");
7041 const InitializedEntity &Entity,
7191 const InitializedEntity &Entity,
7246 const InitializedEntity &Entity) {
7257 else if (Entity.getKind() == InitializedEntity::EK_RelatedResult &&
7266 static bool isExplicitTemporary(const InitializedEntity &Entity,
7270 case InitializedEntity::EK_Temporary:
7271 case InitializedEntity::EK_CompoundLiteralInit:
7272 case InitializedEntity::EK_RelatedResult:
7292 const InitializedEntity &Entity,
7397 if (Entity.getKind() == InitializedEntity::EK_Base) {
7401 } else if (Entity.getKind() == InitializedEntity::EK_Delegating) {
7456 void Sema::checkInitializerLifetime(const InitializedEntity &Entity,
7638 const InitializedEntity &Entity,
7755 Entity.getKind() == InitializedEntity::EK_Variable && Args.size() > 0) {
7841 if (Entity.getKind() == InitializedEntity::EK_Base ||
7842 Entity.getKind() == InitializedEntity::EK_Delegating)
8137 InitializedEntity TempEntity = InitializedEntity::InitializeTemporary(Ty);
8138 InitializedEntity InitEntity = IsTemporary ? TempEntity : Entity;
8177 InitializedEntity TempEntity = InitializedEntity::InitializeTemporary(
8223 InitializedEntity TempEntity = InitializedEntity::InitializeTemporary(
8278 Entity.getKind() == InitializedEntity::EK_Parameter_CF_Audited);
8603 if (InitializedEntity::EntityKind EK = Entity.getKind();
8604 (EK == InitializedEntity::EK_Member ||
8605 EK == InitializedEntity::EK_ParenAggInitMember) &&
8612 Entity.getKind() == InitializedEntity::EK_Result);
8658 static void emitBadConversionNotes(Sema &S, const InitializedEntity &entity,
8670 if (entity.getKind() == InitializedEntity::EK_Result)
8689 static void diagnoseListInit(Sema &S, const InitializedEntity &Entity,
8700 InitializedEntity HiddenArray =
8701 InitializedEntity::InitializeTemporary(ArrayType);
8710 diagnoseListInit(S, InitializedEntity::InitializeTemporary(T), InitList);
8726 const InitializedEntity &Entity,
8867 << (Entity.getKind() == InitializedEntity::EK_Result)
9070 (Entity.getKind() == InitializedEntity::EK_Base ||
9071 Entity.getKind() == InitializedEntity::EK_Member ||
9072 Entity.getKind() == InitializedEntity::EK_ParenAggInitMember) &&
9083 if (Entity.getKind() == InitializedEntity::EK_Base) {
9160 if (Entity.getKind() == InitializedEntity::EK_Member &&
9756 Sema::CanPerformCopyInitialization(const InitializedEntity &Entity,
9771 Sema::PerformCopyInitialization(const InitializedEntity &Entity,
9842 TypeSourceInfo *TSInfo, const InitializedEntity &Entity,