diff options
Diffstat (limited to 'lib/CodeGen/CGExprAgg.cpp')
-rw-r--r-- | lib/CodeGen/CGExprAgg.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/CodeGen/CGExprAgg.cpp b/lib/CodeGen/CGExprAgg.cpp index 6f6daa79d0..002c77430f 100644 --- a/lib/CodeGen/CGExprAgg.cpp +++ b/lib/CodeGen/CGExprAgg.cpp @@ -177,7 +177,12 @@ void AggExprEmitter::VisitCastExpr(CastExpr *E) { LValue::MakeAddr(CastPtr, 0)); return; } - + if (E->getCastKind() == CastExpr::CK_UserDefinedConversion) { + CXXFunctionalCastExpr *CXXFExpr = cast<CXXFunctionalCastExpr>(E); + CGF.EmitCXXFunctionalCastExpr(CXXFExpr); + return; + } + // FIXME: Remove the CK_Unknown check here. assert((E->getCastKind() == CastExpr::CK_NoOp || E->getCastKind() == CastExpr::CK_Unknown) && |