|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
tools/clang/include/clang/Sema/Sema.h 130 class InitializedEntity;
References
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
91 typedef PointerLikeTypeTraits<T *> NonConst;
93 static inline const void *getAsVoidPointer(const T *P) {
96 static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/Sema/Initialization.h 135 const InitializedEntity *Parent = nullptr;
225 InitializedEntity(FieldDecl *Member, const InitializedEntity *Parent,
232 const InitializedEntity &Parent);
243 static InitializedEntity InitializeVariable(VarDecl *Var) {
248 static InitializedEntity InitializeParameter(ASTContext &Context,
255 static InitializedEntity InitializeParameter(ASTContext &Context,
261 InitializedEntity Entity;
273 static InitializedEntity InitializeParameter(ASTContext &Context,
276 InitializedEntity Entity;
285 static InitializedEntity InitializeResult(SourceLocation ReturnLoc,
290 static InitializedEntity InitializeStmtExprResult(SourceLocation ReturnLoc,
295 static InitializedEntity InitializeBlock(SourceLocation BlockVarLoc,
300 static InitializedEntity InitializeLambdaToBlock(SourceLocation BlockVarLoc,
307 static InitializedEntity InitializeException(SourceLocation ThrowLoc,
313 static InitializedEntity InitializeNew(SourceLocation NewLoc, QualType Type) {
318 static InitializedEntity InitializeTemporary(QualType Type) {
323 static InitializedEntity InitializeTemporary(TypeSourceInfo *TypeInfo) {
328 static InitializedEntity InitializeTemporary(TypeSourceInfo *TypeInfo,
330 InitializedEntity Result(EK_Temporary, SourceLocation(), Type);
336 static InitializedEntity InitializeRelatedResult(ObjCMethodDecl *MD,
338 InitializedEntity Result(EK_RelatedResult, SourceLocation(), Type);
344 static InitializedEntity
347 const InitializedEntity *Parent = nullptr);
350 static InitializedEntity InitializeDelegation(QualType Type) {
355 static InitializedEntity
357 const InitializedEntity *Parent = nullptr,
363 static InitializedEntity
365 const InitializedEntity *Parent = nullptr,
371 static InitializedEntity
377 static InitializedEntity InitializeElement(ASTContext &Context,
379 const InitializedEntity &Parent) {
384 static InitializedEntity InitializeBinding(VarDecl *Binding) {
391 static InitializedEntity InitializeLambdaCapture(IdentifierInfo *VarID,
398 static InitializedEntity InitializeCompoundLiteralInit(TypeSourceInfo *TSI) {
399 InitializedEntity Result(EK_CompoundLiteralInit, SourceLocation(),
411 const InitializedEntity *getParent() const { return Parent; }
1099 void PrintInitLocationNote(Sema &S, const InitializedEntity &Entity);
1122 const InitializedEntity &Entity,
1127 void InitializeFrom(Sema &S, const InitializedEntity &Entity,
1155 const InitializedEntity &Entity,
1165 const InitializedEntity &Entity,
tools/clang/include/clang/Sema/Sema.h 2926 ExprResult PerformMoveOrCopyInitialization(const InitializedEntity &Entity,
2933 const InitializedEntity &Entity, InitListExpr *From);
2935 bool CanPerformCopyInitialization(const InitializedEntity &Entity,
2937 ExprResult PerformCopyInitialization(const InitializedEntity &Entity,
2950 void checkInitializerLifetime(const InitializedEntity &Entity, Expr *Init);
6537 const InitializedEntity &Entity,
6542 const InitializedEntity &Entity,
7615 TypeSourceInfo *TInfo, const InitializedEntity &Entity,
tools/clang/lib/Sema/Sema.cpp 1674 InitializedEntity::InitializeBlock(Loc, T, false), VD, VD->getType(),
tools/clang/lib/Sema/SemaAccess.cpp 1613 const InitializedEntity &Entity,
1627 case InitializedEntity::EK_Base:
1633 case InitializedEntity::EK_Member: {
1640 case InitializedEntity::EK_LambdaCapture: {
1656 const InitializedEntity &Entity,
1672 if ((Entity.getKind() == InitializedEntity::EK_Base ||
1673 Entity.getKind() == InitializedEntity::EK_Delegating) &&
tools/clang/lib/Sema/SemaCast.cpp 391 InitializedEntity entity = InitializedEntity::InitializeTemporary(destType);
391 InitializedEntity entity = InitializedEntity::InitializeTemporary(destType);
1662 InitializedEntity Entity = InitializedEntity::InitializeTemporary(DestType);
1662 InitializedEntity Entity = InitializedEntity::InitializeTemporary(DestType);
tools/clang/lib/Sema/SemaChecking.cpp 217 InitializedEntity Entity = InitializedEntity::InitializeParameter(
217 InitializedEntity Entity = InitializedEntity::InitializeParameter(
239 InitializedEntity Entity = InitializedEntity::InitializeParameter(
239 InitializedEntity Entity = InitializedEntity::InitializeParameter(
1046 InitializedEntity Entity =
1047 InitializedEntity::InitializeParameter(S.Context, ParamTy, false);
1830 InitializedEntity Entity = InitializedEntity::InitializeParameter(
1830 InitializedEntity Entity = InitializedEntity::InitializeParameter(
4907 InitializedEntity Entity =
4908 InitializedEntity::InitializeParameter(Context, Ty, false);
5004 InitializedEntity Entity =
5005 InitializedEntity::InitializeParameter(S.Context, Param);
5349 InitializedEntity Entity = InitializedEntity::InitializeParameter(Context,
5349 InitializedEntity Entity = InitializedEntity::InitializeParameter(Context,
5446 InitializedEntity Entity = InitializedEntity::InitializeParameter(
5446 InitializedEntity Entity = InitializedEntity::InitializeParameter(
5508 InitializedEntity Entity =
5509 InitializedEntity::InitializeParameter(Context, ResultTy, false);
6086 InitializedEntity Entity = InitializedEntity::InitializeParameter(Context,
6086 InitializedEntity Entity = InitializedEntity::InitializeParameter(Context,
6119 InitializedEntity Entity = InitializedEntity::InitializeParameter(
6119 InitializedEntity Entity = InitializedEntity::InitializeParameter(
tools/clang/lib/Sema/SemaCoroutine.cpp 546 InitializedEntity Entity = InitializedEntity::InitializeVariable(VD);
546 InitializedEntity Entity = InitializedEntity::InitializeVariable(VD);
871 InitializedEntity Entity =
872 InitializedEntity::InitializeResult(Loc, E->getType(), NRVOCandidate);
1440 InitializedEntity Entity =
1441 InitializedEntity::InitializeResult(Loc, FnRetType, false);
1456 InitializedEntity Entity = InitializedEntity::InitializeVariable(GroDecl);
1456 InitializedEntity Entity = InitializedEntity::InitializeVariable(GroDecl);
tools/clang/lib/Sema/SemaDecl.cpp11149 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl);
11149 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl);
11690 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl);
11690 InitializedEntity Entity = InitializedEntity::InitializeVariable(VDecl);
12249 InitializedEntity Entity = InitializedEntity::InitializeVariable(Var);
12249 InitializedEntity Entity = InitializedEntity::InitializeVariable(Var);
tools/clang/lib/Sema/SemaDeclAttr.cpp 4727 InitializedEntity Entity = InitializedEntity::InitializeParameter(
4727 InitializedEntity Entity = InitializedEntity::InitializeParameter(
tools/clang/lib/Sema/SemaDeclCXX.cpp 264 InitializedEntity Entity = InitializedEntity::InitializeParameter(Context,
264 InitializedEntity Entity = InitializedEntity::InitializeParameter(Context,
1226 InitializedEntity Entity = InitializedEntity::InitializeBinding(RefVD);
1226 InitializedEntity Entity = InitializedEntity::InitializeBinding(RefVD);
3892 InitializedEntity Entity =
3893 InitializedEntity::InitializeMemberFromDefaultMemberInitializer(FD);
4255 InitializedEntity MemberEntity =
4256 DirectMember ? InitializedEntity::InitializeMember(DirectMember, nullptr)
4257 : InitializedEntity::InitializeMember(IndirectMember,
4311 InitializedEntity DelegationEntity = InitializedEntity::InitializeDelegation(
4311 InitializedEntity DelegationEntity = InitializedEntity::InitializeDelegation(
4446 InitializedEntity BaseEntity =
4447 InitializedEntity::InitializeBase(Context, BaseSpec, VirtualBaseSpec);
4511 InitializedEntity InitEntity
4512 = InitializedEntity::InitializeBase(SemaRef.Context, BaseSpec,
4645 InitializedEntity Entity =
4646 Indirect ? InitializedEntity::InitializeMember(Indirect, nullptr,
4648 : InitializedEntity::InitializeMember(Field, nullptr,
4679 InitializedEntity InitEntity =
4680 Indirect ? InitializedEntity::InitializeMember(Indirect, nullptr,
4682 : InitializedEntity::InitializeMember(Field, nullptr,
4885 auto Entity = InitializedEntity::InitializeMember(Field, nullptr, true);
4885 auto Entity = InitializedEntity::InitializeMember(Field, nullptr, true);
14351 InitializedEntity entity =
14352 InitializedEntity::InitializeVariable(ExDecl);
15803 InitializedEntity InitEntity = InitializedEntity::InitializeMember(Field);
15803 InitializedEntity InitEntity = InitializedEntity::InitializeMember(Field);
tools/clang/lib/Sema/SemaExpr.cpp 777 InitializedEntity::InitializeTemporary(E->getType()),
4868 InitializedEntity Entity
4869 = InitializedEntity::InitializeParameter(Context, Param);
5179 InitializedEntity Entity =
5180 Param ? InitializedEntity::InitializeParameter(Context, Param,
5182 : InitializedEntity::InitializeParameter(
5978 InitializedEntity Entity = InitializedEntity::InitializeParameter(
5978 InitializedEntity Entity = InitializedEntity::InitializeParameter(
6067 InitializedEntity Entity
6068 = InitializedEntity::InitializeCompoundLiteralInit(TInfo);
12812 InitializedEntity Entity =
12813 InitializedEntity::InitializeTemporary(LHSExpr->getType());
13850 InitializedEntity::InitializeStmtExprResult(
14375 InitializedEntity::InitializeBlock(Var->getLocation(),
14480 InitializedEntity Entity = InitializedEntity::InitializeParameter(
14480 InitializedEntity Entity = InitializedEntity::InitializeParameter(
17806 InitializedEntity entity =
17807 InitializedEntity::InitializeParameter(Context, paramType,
tools/clang/lib/Sema/SemaExprCXX.cpp 798 InitializedEntity Entity = InitializedEntity::InitializeException(
798 InitializedEntity Entity = InitializedEntity::InitializeException(
1344 InitializedEntity Entity = InitializedEntity::InitializeTemporary(TInfo);
1344 InitializedEntity Entity = InitializedEntity::InitializeTemporary(TInfo);
1364 Entity = InitializedEntity::InitializeTemporary(TInfo, Ty);
1834 InitializedEntity Entity
1835 = InitializedEntity::InitializeNew(StartLoc, AllocType);
2129 InitializedEntity Entity
2130 = InitializedEntity::InitializeNew(StartLoc, InitType);
3556 InitializedEntity Entity =
3557 InitializedEntity::InitializeParameter(Context, ParamTy, false);
3747 InitializedEntity::InitializeTemporary(Ty));
4983 InitializedEntity To(InitializedEntity::InitializeTemporary(Args[0]));
4983 InitializedEntity To(InitializedEntity::InitializeTemporary(Args[0]));
5179 InitializedEntity To(InitializedEntity::InitializeTemporary(RhsT));
5179 InitializedEntity To(InitializedEntity::InitializeTemporary(RhsT));
5592 InitializedEntity Entity = InitializedEntity::InitializeTemporary(T);
5592 InitializedEntity Entity = InitializedEntity::InitializeTemporary(T);
5621 InitializedEntity Entity = InitializedEntity::InitializeTemporary(TTy);
5621 InitializedEntity Entity = InitializedEntity::InitializeTemporary(TTy);
5645 InitializedEntity Entity = InitializedEntity::InitializeTemporary(TTy);
5645 InitializedEntity Entity = InitializedEntity::InitializeTemporary(TTy);
5720 InitializedEntity Entity = InitializedEntity::InitializeTemporary(T);
5720 InitializedEntity Entity = InitializedEntity::InitializeTemporary(T);
5940 InitializedEntity Entity = InitializedEntity::InitializeTemporary(LTy);
5940 InitializedEntity Entity = InitializedEntity::InitializeTemporary(LTy);
6306 InitializedEntity Entity;
6314 Entity(InitializedEntity::InitializeTemporary(Composite)),
tools/clang/lib/Sema/SemaExprObjC.cpp 350 InitializedEntity Entity = InitializedEntity::InitializeParameter(Context,
350 InitializedEntity Entity = InitializedEntity::InitializeParameter(Context,
399 InitializedEntity Entity
400 = InitializedEntity::InitializeParameter(S.Context, T,
493 InitializedEntity::InitializeParameter(S.Context, T,
741 InitializedEntity IE = InitializedEntity::InitializeTemporary(ValueType);
741 InitializedEntity IE = InitializedEntity::InitializeTemporary(ValueType);
747 InitializedEntity IE = InitializedEntity::InitializeParameter(Context,
747 InitializedEntity IE = InitializedEntity::InitializeParameter(Context,
1706 InitializedEntity Entity
1707 = InitializedEntity::InitializeParameter(Context, param, paramType);
tools/clang/lib/Sema/SemaInit.cpp 294 void CheckImplicitInitList(const InitializedEntity &Entity,
298 void CheckExplicitInitList(const InitializedEntity &Entity,
302 void CheckListElementTypes(const InitializedEntity &Entity,
309 void CheckSubElementType(const InitializedEntity &Entity,
314 void CheckComplexType(const InitializedEntity &Entity,
319 void CheckScalarType(const InitializedEntity &Entity,
324 void CheckReferenceType(const InitializedEntity &Entity,
329 void CheckVectorType(const InitializedEntity &Entity,
333 void CheckStructUnionTypes(const InitializedEntity &Entity,
341 void CheckArrayType(const InitializedEntity &Entity,
347 bool CheckDesignatedInitializer(const InitializedEntity &Entity,
374 const InitializedEntity &Entity);
453 const InitializedEntity &ParentEntity,
457 const InitializedEntity &ParentEntity,
460 void FillInEmptyInitializations(const InitializedEntity &Entity,
464 bool CheckFlexibleArrayInit(const InitializedEntity &Entity,
467 void CheckEmptyInitializable(const InitializedEntity &Entity,
471 InitListChecker(Sema &S, const InitializedEntity &Entity, InitListExpr *IL,
484 const InitializedEntity &Entity) {
561 if (Entity.getKind() == InitializedEntity::EK_Member)
564 else if (Entity.getKind() == InitializedEntity::EK_ArrayElement)
573 if (Entity.getKind() == InitializedEntity::EK_Member)
577 else if (Entity.getKind() == InitializedEntity::EK_ArrayElement) {
594 void InitListChecker::CheckEmptyInitializable(const InitializedEntity &Entity,
606 const InitializedEntity &ParentEntity, InitListExpr *ILE,
608 InitializedEntity BaseEntity = InitializedEntity::InitializeBase(
608 InitializedEntity BaseEntity = InitializedEntity::InitializeBase(
637 const InitializedEntity &ParentEntity,
643 InitializedEntity MemberEntity
644 = InitializedEntity::InitializeMember(Field, &ParentEntity);
734 InitListChecker::FillInEmptyInitializations(const InitializedEntity &Entity,
831 InitializedEntity ElementEntity = Entity;
842 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context,
847 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context,
857 if (ElementEntity.getKind() == InitializedEntity::EK_ArrayElement ||
858 ElementEntity.getKind() == InitializedEntity::EK_VectorElement)
895 if (ElementEntity.getKind() == InitializedEntity::EK_ArrayElement)
902 if (ElementEntity.getKind() == InitializedEntity::EK_ArrayElement) {
936 InitListChecker::InitListChecker(Sema &S, const InitializedEntity &Entity,
992 static bool isIdiomaticBraceElisionEntity(const InitializedEntity &Entity) {
1003 if (Entity.getKind() != InitializedEntity::EK_Member || !Entity.getParent())
1024 void InitListChecker::CheckImplicitInitList(const InitializedEntity &Entity,
1103 static void warnBracedScalarInit(Sema &S, const InitializedEntity &Entity,
1114 case InitializedEntity::EK_VectorElement:
1115 case InitializedEntity::EK_ComplexElement:
1116 case InitializedEntity::EK_ArrayElement:
1117 case InitializedEntity::EK_Parameter:
1118 case InitializedEntity::EK_Parameter_CF_Audited:
1119 case InitializedEntity::EK_Result:
1124 case InitializedEntity::EK_Member:
1131 case InitializedEntity::EK_Variable:
1132 case InitializedEntity::EK_LambdaCapture:
1137 case InitializedEntity::EK_New:
1138 case InitializedEntity::EK_Temporary:
1139 case InitializedEntity::EK_CompoundLiteralInit:
1143 case InitializedEntity::EK_RelatedResult:
1147 case InitializedEntity::EK_Exception:
1148 case InitializedEntity::EK_Base:
1149 case InitializedEntity::EK_Delegating:
1150 case InitializedEntity::EK_BlockElement:
1151 case InitializedEntity::EK_LambdaToBlockConversionBlockElement:
1152 case InitializedEntity::EK_Binding:
1153 case InitializedEntity::EK_StmtExprResult:
1170 void InitListChecker::CheckExplicitInitList(const InitializedEntity &Entity,
1245 void InitListChecker::CheckListElementTypes(const InitializedEntity &Entity,
1309 void InitListChecker::CheckSubElementType(const InitializedEntity &Entity,
1352 auto TmpEntity =
1354 ? InitializedEntity::InitializeTemporary(ElemType)
1468 void InitListChecker::CheckComplexType(const InitializedEntity &Entity,
1494 InitializedEntity ElementEntity =
1495 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
1504 void InitListChecker::CheckScalarType(const InitializedEntity &Entity,
1576 void InitListChecker::CheckReferenceType(const InitializedEntity &Entity,
1634 void InitListChecker::CheckVectorType(const InitializedEntity &Entity,
1647 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity),
1690 InitializedEntity ElementEntity =
1691 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
1747 InitializedEntity ElementEntity =
1748 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
1813 void InitListChecker::CheckArrayType(const InitializedEntity &Entity,
1915 InitializedEntity ElementEntity =
1916 InitializedEntity::InitializeElement(SemaRef.Context, StructuredIndex,
1949 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity),
1954 bool InitListChecker::CheckFlexibleArrayInit(const InitializedEntity &Entity,
1971 } else if (Entity.getKind() != InitializedEntity::EK_Variable) {
1993 const InitializedEntity &Entity, InitListExpr *IList, QualType DeclType,
2042 InitializedEntity::InitializeMember(*Field, &Entity),
2064 InitializedEntity BaseEntity = InitializedEntity::InitializeBase(
2064 InitializedEntity BaseEntity = InitializedEntity::InitializeBase(
2172 InitializedEntity MemberEntity =
2173 InitializedEntity::InitializeMember(*Field, &Entity);
2209 InitializedEntity::InitializeMember(*Field, &Entity),
2240 InitializedEntity MemberEntity =
2241 InitializedEntity::InitializeMember(*Field, &Entity);
2357 InitListChecker::CheckDesignatedInitializer(const InitializedEntity &Entity,
2712 InitializedEntity MemberEntity =
2713 InitializedEntity::InitializeMember(*Field, &Entity);
2731 InitializedEntity MemberEntity =
2732 InitializedEntity::InitializeMember(*Field, &Entity);
2927 InitializedEntity ElementEntity =
2928 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
3094 const InitializedEntity &Entity, InitListExpr *From) {
3222 const InitializedEntity &Parent)
3239 InitializedEntity
3243 const InitializedEntity *Parent) {
3244 InitializedEntity Result;
3755 const InitializedEntity &Entity) {
3756 if (Entity.getKind() != InitializedEntity::EK_Variable)
3776 const InitializedEntity &Entity) {
3793 } else if (Entity.getKind() == InitializedEntity::EK_Result ||
3794 Entity.getKind() == InitializedEntity::EK_StmtExprResult) {
3803 const InitializedEntity &Entity,
3834 InitializedEntity HiddenArray =
3835 InitializedEntity::InitializeTemporary(ArrayType);
3985 const InitializedEntity &Entity,
4017 Entity.getKind() != InitializedEntity::EK_Base &&
4018 Entity.getKind() != InitializedEntity::EK_Delegating &&
4020 InitializedEntity::EK_LambdaToBlockConversionBlockElement &&
4176 const InitializedEntity &Entity,
4186 const InitializedEntity &Entity,
4193 const InitializedEntity &Entity,
4204 if (Entity.getKind() == InitializedEntity::EK_CompoundLiteralInit) {
4251 InitializedEntity TempEntity = InitializedEntity::InitializeTemporary(cv1T1);
4251 InitializedEntity TempEntity = InitializedEntity::InitializeTemporary(cv1T1);
4267 const InitializedEntity &Entity,
4463 Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind,
4655 const InitializedEntity &Entity,
4660 const InitializedEntity &Entity,
4693 const InitializedEntity &Entity,
4929 InitializedEntity TempEntity =
4930 InitializedEntity::InitializeTemporary(cv1T1IgnoreAS);
4998 const InitializedEntity &Entity,
5007 const InitializedEntity &Entity,
5085 const InitializedEntity &Entity,
5307 const InitializedEntity &Entity,
5310 Entity.getKind() == InitializedEntity::EK_Result &&
5424 const InitializedEntity &Entity,
5530 const InitializedEntity &Entity,
5553 static bool canPerformArrayCopy(const InitializedEntity &Entity) {
5555 case InitializedEntity::EK_LambdaCapture:
5561 case InitializedEntity::EK_Variable:
5567 case InitializedEntity::EK_Member:
5573 case InitializedEntity::EK_ArrayElement:
5588 const InitializedEntity &Entity,
5734 InitializedEntity Element =
5735 InitializedEntity::InitializeElement(S.Context, 0, Entity);
5768 Entity.getKind() == InitializedEntity::EK_Member &&
5934 getAssignmentAction(const InitializedEntity &Entity, bool Diagnose = false) {
5936 case InitializedEntity::EK_Variable:
5937 case InitializedEntity::EK_New:
5938 case InitializedEntity::EK_Exception:
5939 case InitializedEntity::EK_Base:
5940 case InitializedEntity::EK_Delegating:
5943 case InitializedEntity::EK_Parameter:
5950 case InitializedEntity::EK_Parameter_CF_Audited:
5957 case InitializedEntity::EK_Result:
5958 case InitializedEntity::EK_StmtExprResult: // FIXME: Not quite right.
5961 case InitializedEntity::EK_Temporary:
5962 case InitializedEntity::EK_RelatedResult:
5966 case InitializedEntity::EK_Member:
5967 case InitializedEntity::EK_Binding:
5968 case InitializedEntity::EK_ArrayElement:
5969 case InitializedEntity::EK_VectorElement:
5970 case InitializedEntity::EK_ComplexElement:
5971 case InitializedEntity::EK_BlockElement:
5972 case InitializedEntity::EK_LambdaToBlockConversionBlockElement:
5973 case InitializedEntity::EK_LambdaCapture:
5974 case InitializedEntity::EK_CompoundLiteralInit:
5983 static bool shouldBindAsTemporary(const InitializedEntity &Entity) {
5985 case InitializedEntity::EK_ArrayElement:
5986 case InitializedEntity::EK_Member:
5987 case InitializedEntity::EK_Result:
5988 case InitializedEntity::EK_StmtExprResult:
5989 case InitializedEntity::EK_New:
5990 case InitializedEntity::EK_Variable:
5991 case InitializedEntity::EK_Base:
5992 case InitializedEntity::EK_Delegating:
5993 case InitializedEntity::EK_VectorElement:
5994 case InitializedEntity::EK_ComplexElement:
5995 case InitializedEntity::EK_Exception:
5996 case InitializedEntity::EK_BlockElement:
5997 case InitializedEntity::EK_LambdaToBlockConversionBlockElement:
5998 case InitializedEntity::EK_LambdaCapture:
5999 case InitializedEntity::EK_CompoundLiteralInit:
6002 case InitializedEntity::EK_Parameter:
6003 case InitializedEntity::EK_Parameter_CF_Audited:
6004 case InitializedEntity::EK_Temporary:
6005 case InitializedEntity::EK_RelatedResult:
6006 case InitializedEntity::EK_Binding:
6015 static bool shouldDestroyEntity(const InitializedEntity &Entity) {
6017 case InitializedEntity::EK_Result:
6018 case InitializedEntity::EK_StmtExprResult:
6019 case InitializedEntity::EK_New:
6020 case InitializedEntity::EK_Base:
6021 case InitializedEntity::EK_Delegating:
6022 case InitializedEntity::EK_VectorElement:
6023 case InitializedEntity::EK_ComplexElement:
6024 case InitializedEntity::EK_BlockElement:
6025 case InitializedEntity::EK_LambdaToBlockConversionBlockElement:
6026 case InitializedEntity::EK_LambdaCapture:
6029 case InitializedEntity::EK_Member:
6030 case InitializedEntity::EK_Binding:
6031 case InitializedEntity::EK_Variable:
6032 case InitializedEntity::EK_Parameter:
6033 case InitializedEntity::EK_Parameter_CF_Audited:
6034 case InitializedEntity::EK_Temporary:
6035 case InitializedEntity::EK_ArrayElement:
6036 case InitializedEntity::EK_Exception:
6037 case InitializedEntity::EK_CompoundLiteralInit:
6038 case InitializedEntity::EK_RelatedResult:
6046 static SourceLocation getInitializationLoc(const InitializedEntity &Entity,
6049 case InitializedEntity::EK_Result:
6050 case InitializedEntity::EK_StmtExprResult:
6053 case InitializedEntity::EK_Exception:
6056 case InitializedEntity::EK_Variable:
6057 case InitializedEntity::EK_Binding:
6060 case InitializedEntity::EK_LambdaCapture:
6063 case InitializedEntity::EK_ArrayElement:
6064 case InitializedEntity::EK_Member:
6065 case InitializedEntity::EK_Parameter:
6066 case InitializedEntity::EK_Parameter_CF_Audited:
6067 case InitializedEntity::EK_Temporary:
6068 case InitializedEntity::EK_New:
6069 case InitializedEntity::EK_Base:
6070 case InitializedEntity::EK_Delegating:
6071 case InitializedEntity::EK_VectorElement:
6072 case InitializedEntity::EK_ComplexElement:
6073 case InitializedEntity::EK_BlockElement:
6074 case InitializedEntity::EK_LambdaToBlockConversionBlockElement:
6075 case InitializedEntity::EK_CompoundLiteralInit:
6076 case InitializedEntity::EK_RelatedResult:
6104 const InitializedEntity &Entity,
6255 const InitializedEntity &Entity,
6309 const InitializedEntity &Entity) {
6320 else if (Entity.getKind() == InitializedEntity::EK_RelatedResult &&
6329 static bool isExplicitTemporary(const InitializedEntity &Entity,
6333 case InitializedEntity::EK_Temporary:
6334 case InitializedEntity::EK_CompoundLiteralInit:
6335 case InitializedEntity::EK_RelatedResult:
6355 const InitializedEntity &Entity,
6441 if (Entity.getKind() == InitializedEntity::EK_Base) {
6445 } else if (Entity.getKind() == InitializedEntity::EK_Delegating) {
6527 llvm::PointerIntPair<const InitializedEntity *, 3, LifetimeKind>;
6534 const InitializedEntity *Entity,
6535 const InitializedEntity *InitField = nullptr) {
6538 case InitializedEntity::EK_Variable:
6542 case InitializedEntity::EK_Member:
6562 case InitializedEntity::EK_Binding:
6567 case InitializedEntity::EK_Parameter:
6568 case InitializedEntity::EK_Parameter_CF_Audited:
6574 case InitializedEntity::EK_Result:
6580 case InitializedEntity::EK_StmtExprResult:
6585 case InitializedEntity::EK_New:
6591 case InitializedEntity::EK_Temporary:
6592 case InitializedEntity::EK_CompoundLiteralInit:
6593 case InitializedEntity::EK_RelatedResult:
6599 case InitializedEntity::EK_ArrayElement:
6603 case InitializedEntity::EK_Base:
6609 case InitializedEntity::EK_Delegating:
6616 case InitializedEntity::EK_BlockElement:
6617 case InitializedEntity::EK_LambdaToBlockConversionBlockElement:
6618 case InitializedEntity::EK_LambdaCapture:
6619 case InitializedEntity::EK_VectorElement:
6620 case InitializedEntity::EK_ComplexElement:
6623 case InitializedEntity::EK_Exception:
7318 void Sema::checkInitializerLifetime(const InitializedEntity &Entity,
7322 const InitializedEntity *ExtendingEntity = LR.getPointer();
7745 const InitializedEntity &Entity,
7844 Entity.getKind() == InitializedEntity::EK_Variable && Args.size() > 0) {
7922 if (Entity.getKind() == InitializedEntity::EK_Base ||
7923 Entity.getKind() == InitializedEntity::EK_Delegating)
8196 InitializedEntity TempEntity = InitializedEntity::InitializeTemporary(Ty);
8196 InitializedEntity TempEntity = InitializedEntity::InitializeTemporary(Ty);
8197 InitializedEntity InitEntity = IsTemporary ? TempEntity : Entity;
8236 InitializedEntity TempEntity = InitializedEntity::InitializeTemporary(
8236 InitializedEntity TempEntity = InitializedEntity::InitializeTemporary(
8282 InitializedEntity TempEntity = InitializedEntity::InitializeTemporary(
8282 InitializedEntity TempEntity = InitializedEntity::InitializeTemporary(
8336 Entity.getKind() == InitializedEntity::EK_Parameter_CF_Audited);
8579 if (Entity.getKind() == InitializedEntity::EK_Member &&
8588 Entity.getKind() == InitializedEntity::EK_Result);
8635 static void emitBadConversionNotes(Sema &S, const InitializedEntity &entity,
8647 if (entity.getKind() == InitializedEntity::EK_Result)
8652 static void diagnoseListInit(Sema &S, const InitializedEntity &Entity,
8663 InitializedEntity HiddenArray =
8664 InitializedEntity::InitializeTemporary(ArrayType);
8673 diagnoseListInit(S, InitializedEntity::InitializeTemporary(T), InitList);
8689 const InitializedEntity &Entity,
8819 << (Entity.getKind() == InitializedEntity::EK_Result)
9008 (Entity.getKind() == InitializedEntity::EK_Base ||
9009 Entity.getKind() == InitializedEntity::EK_Member) &&
9020 if (Entity.getKind() == InitializedEntity::EK_Base) {
9093 if (Entity.getKind() == InitializedEntity::EK_Member &&
9582 Sema::CanPerformCopyInitialization(const InitializedEntity &Entity,
9597 Sema::PerformCopyInitialization(const InitializedEntity &Entity,
9669 TypeSourceInfo *TSInfo, const InitializedEntity &Entity,
tools/clang/lib/Sema/SemaLambda.cpp 825 InitializedEntity Entity =
826 InitializedEntity::InitializeLambdaCapture(Id, DeducedType, Loc);
1523 InitializedEntity Entity = InitializedEntity::InitializeLambdaCapture(
1523 InitializedEntity Entity = InitializedEntity::InitializeLambdaCapture(
1873 InitializedEntity::InitializeLambdaToBlock(ConvLocation, Src->getType(),
tools/clang/lib/Sema/SemaObjCProperty.cpp 1429 InitializedEntity::InitializeResult(PropertyDiagLoc,
tools/clang/lib/Sema/SemaOpenMP.cpp12391 InitializedEntity Entity =
12392 InitializedEntity::InitializeVariable(VDInitTemp);
tools/clang/lib/Sema/SemaOverload.cpp 4910 InitializedEntity Entity =
4911 InitializedEntity::InitializeParameter(S.Context, ToType,
5001 InitializedEntity Entity =
5002 InitializedEntity::InitializeParameter(S.Context, ToType,
6422 R = S.PerformCopyInitialization(InitializedEntity::InitializeParameter(
6447 S.PerformCopyInitialization(InitializedEntity::InitializeParameter(
12619 = PerformCopyInitialization(InitializedEntity::InitializeParameter(
12914 InitializedEntity::InitializeParameter(Context,
12930 InitializedEntity::InitializeParameter(Context,
12938 InitializedEntity::InitializeParameter(Context,
13199 = PerformCopyInitialization(InitializedEntity::InitializeParameter(
13809 = PerformCopyInitialization(InitializedEntity::InitializeParameter(
14036 InitializedEntity::InitializeParameter(Context, FD->getParamDecl(ArgIdx)),
tools/clang/lib/Sema/SemaStmt.cpp 3043 const InitializedEntity &Entity,
3121 Sema::PerformMoveOrCopyInitialization(const InitializedEntity &Entity,
3201 (Entity.getKind() == InitializedEntity::EK_Exception);
3363 InitializedEntity Entity = InitializedEntity::InitializeResult(ReturnLoc,
3363 InitializedEntity Entity = InitializedEntity::InitializeResult(ReturnLoc,
3768 InitializedEntity Entity = InitializedEntity::InitializeResult(ReturnLoc,
3768 InitializedEntity Entity = InitializedEntity::InitializeResult(ReturnLoc,
3784 Entity = InitializedEntity::InitializeRelatedResult(getCurMethodDecl(),