Add CC_Win64ThisCall and set it in the necessary places.

llvm-svn: 126863
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
index 4ab3277..9660b07 100644
--- a/clang/lib/CodeGen/CodeGenFunction.cpp
+++ b/clang/lib/CodeGen/CodeGenFunction.cpp
@@ -211,7 +211,8 @@
 void CodeGenFunction::StartFunction(GlobalDecl GD, QualType RetTy,
                                     llvm::Function *Fn,
                                     const FunctionArgList &Args,
-                                    SourceLocation StartLoc) {
+                                    SourceLocation StartLoc,
+                                    CallingConv CC) {
   const Decl *D = GD.getDecl();
   
   DidCallStackSave = false;
@@ -278,7 +279,7 @@
   // FIXME: Leaked.
   // CC info is ignored, hopefully?
   CurFnInfo = &CGM.getTypes().getFunctionInfo(FnRetTy, Args,
-                                              FunctionType::ExtInfo());
+                                              FunctionType::ExtInfo().withCallingConv(CC));
 
   if (RetTy->isVoidType()) {
     // Void type; nothing to return.
@@ -359,7 +360,7 @@
   if (Stmt *Body = FD->getBody()) BodyRange = Body->getSourceRange();
 
   // Emit the standard function prologue.
-  StartFunction(GD, ResTy, Fn, Args, BodyRange.getBegin());
+  StartFunction(GD, ResTy, Fn, Args, BodyRange.getBegin(), CC_Default);
 
   // Generate the body of the function.
   if (isa<CXXDestructorDecl>(FD))