Make the CXXDefaultArgExpr constructor protected and add a static Create function.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79013 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp
index d7d2610..faf4d82 100644
--- a/lib/Sema/SemaOverload.cpp
+++ b/lib/Sema/SemaOverload.cpp
@@ -4531,7 +4531,7 @@
       QualType ProtoArgType = Proto->getArgType(i);
       IsError |= PerformCopyInitialization(Arg, ProtoArgType, "passing");
     } else {
-      Arg = new (Context) CXXDefaultArgExpr(Method->getParamDecl(i));
+      Arg = CXXDefaultArgExpr::Create(Context, Method->getParamDecl(i));
     }
 
     TheCall->setArg(i + 1, Arg);