summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-08-22 18:27:02 +0000
committerDouglas Gregor <dgregor@apple.com>2010-08-22 18:27:02 +0000
commitec3a3f5257ad8f723e512273c0056624c9b9e121 (patch)
treefdc1b978efac054c6b91b3bdeb02252b384346dc /clang/lib/Sema/SemaDeclCXX.cpp
parent932c19dc9f992b07b6d7c07557e27a69c87a87b0 (diff)
downloadbcm5719-llvm-ec3a3f5257ad8f723e512273c0056624c9b9e121.tar.gz
bcm5719-llvm-ec3a3f5257ad8f723e512273c0056624c9b9e121.zip
Do not elide copy construction when we're performing base-class initialization
llvm-svn: 111783
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 4ffb6ab7dca..fd0bcfcadfb 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -5425,6 +5425,7 @@ Sema::BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType,
if (Constructor->isCopyConstructor() && ExprArgs.size() >= 1) {
Expr *SubExpr = ((Expr **)ExprArgs.get())[0];
Elidable = SubExpr->isTemporaryObject() &&
+ ConstructKind == CXXConstructExpr::CK_Complete &&
Context.hasSameUnqualifiedType(SubExpr->getType(),
Context.getTypeDeclType(Constructor->getParent()));
}
OpenPOWER on IntegriCloud