From: Anders Carlsson Date: Fri, 18 Dec 2009 17:29:21 +0000 (+0000) Subject: CK_UserDefinedConversion is a valid kind when doing copy ctor elision. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5617bc03e2e886aafe8bdcecf0fcdeab5f3868c6;p=clang CK_UserDefinedConversion is a valid kind when doing copy ctor elision. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91695 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp index 011257b749..2d5b4315ad 100644 --- a/lib/CodeGen/CGCXX.cpp +++ b/lib/CodeGen/CGCXX.cpp @@ -580,7 +580,8 @@ CodeGenFunction::EmitCXXConstructExpr(llvm::Value *Dest, if (const ImplicitCastExpr *ICE = dyn_cast(Arg)) { assert((ICE->getCastKind() == CastExpr::CK_NoOp || - ICE->getCastKind() == CastExpr::CK_ConstructorConversion) && + ICE->getCastKind() == CastExpr::CK_ConstructorConversion || + ICE->getCastKind() == CastExpr::CK_UserDefinedConversion) && "Unknown implicit cast kind in constructor elision"); Arg = ICE->getSubExpr(); }