diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-08-22 18:27:02 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-08-22 18:27:02 +0000 |
commit | b8f7de94c3a8fb4556d06a1447880e69bc3a113c (patch) | |
tree | 109f4697dac791598a2e2c9b29a12676e038f069 /lib/Sema/SemaDeclCXX.cpp | |
parent | db68e28c05a67735211e688009890cf834c22e75 (diff) |
Do not elide copy construction when we're performing base-class initialization
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111783 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaDeclCXX.cpp')
-rw-r--r-- | lib/Sema/SemaDeclCXX.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index 4ffb6ab7dc..fd0bcfcadf 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/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())); } |