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))
