If a cast expression needs either a conversion function or a constructor to be called, generate implicit child expressions that call them.

llvm-svn: 81383
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h
index a73a2b9..68dd12e 100644
--- a/clang/lib/Sema/Sema.h
+++ b/clang/lib/Sema/Sema.h
@@ -1834,6 +1834,12 @@
                                                MultiExprArg Args,
                                                SourceLocation rParenLoc);
 
+  OwningExprResult BuildCXXCastArgument(SourceLocation CastLoc,
+                                        QualType Ty,
+                                        CastExpr::CastKind Kind,
+                                        CXXMethodDecl *Method,
+                                        ExprArg Arg);
+
   /// BuildCXXDefaultArgExpr - Creates a CXXDefaultArgExpr, instantiating
   /// the default expr if needed.
   OwningExprResult BuildCXXDefaultArgExpr(SourceLocation CallLoc,