summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaInit.cpp
diff options
context:
space:
mode:
authorAlexis Hunt <alercah@gmail.com>2011-05-12 22:46:29 +0000
committerAlexis Hunt <alercah@gmail.com>2011-05-12 22:46:29 +0000
commit1f69a02fb98abdd9fe65be25a061419ba08321ef (patch)
tree304cefcc4b05d455fd06a57aac0f54786c6c065b /clang/lib/Sema/SemaInit.cpp
parentf9172946be0fdb5f1c7596e3729b3f34ec028827 (diff)
downloadbcm5719-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.cpp15
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,
OpenPOWER on IntegriCloud