reference, declarationdefinition
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.cpp
11149     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.cpp
12391       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(),