]> granicus.if.org Git - clang/commitdiff
CK_UserDefinedConversion is a valid kind when doing copy ctor elision.
authorAnders Carlsson <andersca@mac.com>
Fri, 18 Dec 2009 17:29:21 +0000 (17:29 +0000)
committerAnders Carlsson <andersca@mac.com>
Fri, 18 Dec 2009 17:29:21 +0000 (17:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91695 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGCXX.cpp

index 011257b7499fe09fa9bb43020b85ab7822de5d91..2d5b4315ada91aa7474f2fc4b34aa47cf9b645f5 100644 (file)
@@ -580,7 +580,8 @@ CodeGenFunction::EmitCXXConstructExpr(llvm::Value *Dest,
 
     if (const ImplicitCastExpr *ICE = dyn_cast<ImplicitCastExpr>(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();
     }