When calling a function without a prototype for which we have a
definition, warn if there are too many/too few function call
arguments.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68318 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Sema/arg-duplicate.c b/test/Sema/arg-duplicate.c
index 82b2992..e40a964 100644
--- a/test/Sema/arg-duplicate.c
+++ b/test/Sema/arg-duplicate.c
@@ -9,6 +9,6 @@
 } 
 
 void f4(void) { 
-  f3 (1, 1, 2, 3, 4);
+  f3 (1, 1, 2, 3, 4); // expected-warning{{too many arguments}}
 }
 
diff --git a/test/Sema/function.c b/test/Sema/function.c
index aec76a2..e604d0e 100644
--- a/test/Sema/function.c
+++ b/test/Sema/function.c
@@ -27,7 +27,7 @@
 
 // PR2042
 void t10(){}
-void t11(){t10(1);}
+void t11(){t10(1);} // expected-warning{{too many arguments}}
 
 // PR3208
 void t12(int) {}  // expected-error{{parameter name omitted}}
diff --git a/test/Sema/knr-def-call.c b/test/Sema/knr-def-call.c
index 0e562d7..6b033fc 100644
--- a/test/Sema/knr-def-call.c
+++ b/test/Sema/knr-def-call.c
@@ -2,10 +2,14 @@
 
 // C DR #316, PR 3626.
 void f0(a, b, c, d) int a,b,c,d; {}
-void t0(void) { f0(1); }
+void t0(void) { 
+  f0(1);  // expected-warning{{too few arguments}}
+}
 
 void f1(a, b) int a, b; {}
-void t1(void) { f1(1, 2, 3); }
+void t1(void) { 
+  f1(1, 2, 3); // expected-warning{{too many arguments}}
+}
 
 void f2(float); // expected-note{{previous declaration is here}}
 void f2(x) float x; { } // expected-warning{{promoted type 'double' of K&R function parameter is not compatible with the parameter type 'float' declared in a previous prototype}}