diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2010-06-07 16:14:00 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-06-07 16:14:00 +0000 |
| commit | 28ed927ddfd6bfac30b15b42951a80d21a5588d3 (patch) | |
| tree | bb1fa706eb00d046b37265a1b76157ea506a0ba6 /clang/lib/Sema/SemaInit.h | |
| parent | 5968eb270ae5d2adc60b081f9cde57a07289e83f (diff) | |
| download | bcm5719-llvm-28ed927ddfd6bfac30b15b42951a80d21a5588d3.tar.gz bcm5719-llvm-28ed927ddfd6bfac30b15b42951a80d21a5588d3.zip | |
Use MaybeCreateCXXExprWithTemporaries for potential destruction of
created temporary. Use own initialized entity for copied in block
variables.
llvm-svn: 105533
Diffstat (limited to 'clang/lib/Sema/SemaInit.h')
| -rw-r--r-- | clang/lib/Sema/SemaInit.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaInit.h b/clang/lib/Sema/SemaInit.h index a9064ede6d3..44c36a735bc 100644 --- a/clang/lib/Sema/SemaInit.h +++ b/clang/lib/Sema/SemaInit.h @@ -66,7 +66,10 @@ public: EK_Base, /// \brief The entity being initialized is an element of a vector. /// or vector. - EK_VectorElement + EK_VectorElement, + /// \brief The entity being initialized is a field of block descriptor for + /// the copied-in c++ object. + EK_BlockElement }; private: @@ -166,6 +169,11 @@ public: return InitializedEntity(EK_Result, ReturnLoc, Type, NRVO); } + static InitializedEntity InitializeBlock(SourceLocation BlockVarLoc, + QualType Type, bool NRVO) { + return InitializedEntity(EK_BlockElement, BlockVarLoc, Type, NRVO); + } + /// \brief Create the initialization entity for an exception object. static InitializedEntity InitializeException(SourceLocation ThrowLoc, QualType Type, bool NRVO) { |

