diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp
index 2ad8f917..f28aa2f 100644
--- a/lib/CodeGen/CGCall.cpp
+++ b/lib/CodeGen/CGCall.cpp
@@ -1167,6 +1167,8 @@
     ++AI;
   }
     
+  assert(FI.arg_size() == Args.size() &&
+         "Mismatch between function signature & arguments.");
   CGFunctionInfo::const_arg_iterator info_it = FI.arg_begin();
   for (FunctionArgList::const_iterator i = Args.begin(), e = Args.end();
        i != e; ++i, ++info_it) {
@@ -1316,6 +1318,8 @@
     assert(0 && "Invalid ABI kind for return argument");
   }
   
+  assert(CallInfo.arg_size() == CallArgs.size() &&
+         "Mismatch between function signature & arguments.");
   CGFunctionInfo::const_arg_iterator info_it = CallInfo.arg_begin();
   for (CallArgList::const_iterator I = CallArgs.begin(), E = CallArgs.end(); 
        I != E; ++I, ++info_it) {
diff --git a/lib/CodeGen/CGCall.h b/lib/CodeGen/CGCall.h
index 95e561d..562dfa9 100644
--- a/lib/CodeGen/CGCall.h
+++ b/lib/CodeGen/CGCall.h
@@ -76,6 +76,8 @@
     arg_iterator arg_begin() { return Args + 1; }
     arg_iterator arg_end() { return Args + 1 + NumArgs; }
 
+    unsigned  arg_size() const { return NumArgs; }
+
     QualType getReturnType() const { return Args[0].type; }
 
     ABIArgInfo &getReturnInfo() { return Args[0].info; }
