From 001309371e199f0c5f3931b80f67309dcd157848 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Thu, 6 Aug 2009 19:12:38 +0000 Subject: Set and use Elidable in elimination of copy ctors. llvm-svn: 78331 --- clang/lib/Sema/SemaExprCXX.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'clang/lib/Sema/SemaExprCXX.cpp') diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index 7e0422e432b..5b749381910 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -911,8 +911,10 @@ Sema::PerformImplicitConversion(Expr *&From, QualType ToType, assert(!ToType->isReferenceType()); // FIXME: Keep track of whether the copy constructor is elidable or not. - From = BuildCXXConstructExpr(Context, - ToType, SCS.CopyConstructor, false, &From, 1); + bool Elidable = (isa(From) || + isa(From)); + From = BuildCXXConstructExpr(Context, ToType, + SCS.CopyConstructor, Elidable, &From, 1); return false; } -- cgit v1.2.3