diff options
author | Alexis Hunt <alercah@gmail.com> | 2011-05-12 22:46:29 +0000 |
---|---|---|
committer | Alexis Hunt <alercah@gmail.com> | 2011-05-12 22:46:29 +0000 |
commit | 1f69a02fb98abdd9fe65be25a061419ba08321ef (patch) | |
tree | 304cefcc4b05d455fd06a57aac0f54786c6c065b /clang/lib/Sema/SemaInit.cpp | |
parent | f9172946be0fdb5f1c7596e3729b3f34ec028827 (diff) | |
download | bcm5719-llvm-1f69a02fb98abdd9fe65be25a061419ba08321ef.tar.gz bcm5719-llvm-1f69a02fb98abdd9fe65be25a061419ba08321ef.zip |
Implement defaulting of destructors.
llvm-svn: 131260
Diffstat (limited to 'clang/lib/Sema/SemaInit.cpp')
-rw-r--r-- | clang/lib/Sema/SemaInit.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp index 26d030419a2..cfa8f33fad4 100644 --- a/clang/lib/Sema/SemaInit.cpp +++ b/clang/lib/Sema/SemaInit.cpp @@ -4723,6 +4723,21 @@ void InitializationSequence::dump() const { //===----------------------------------------------------------------------===// // Initialization helper functions //===----------------------------------------------------------------------===// +bool +Sema::CanPerformCopyInitialization(const InitializedEntity &Entity, + ExprResult Init) { + if (Init.isInvalid()) + return false; + + Expr *InitE = Init.get(); + assert(InitE && "No initialization expression"); + + InitializationKind Kind = InitializationKind::CreateCopy(SourceLocation(), + SourceLocation()); + InitializationSequence Seq(*this, Entity, Kind, &InitE, 1); + return Seq.getKind() != InitializationSequence::FailedSequence; +} + ExprResult Sema::PerformCopyInitialization(const InitializedEntity &Entity, SourceLocation EqualLoc, |