diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-04-02 15:37:10 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-04-02 15:37:10 +0000 |
commit | 74734d576b1dd082f623abb76ab204d69970dadb (patch) | |
tree | 2e49c66e4ce5bf46cfe9de9d3388257533d1e7d0 /test/Sema | |
parent | 6cc73de6ebb3eb00af7dd5149f6778318f1fb76f (diff) |
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
Diffstat (limited to 'test/Sema')
-rw-r--r-- | test/Sema/arg-duplicate.c | 2 | ||||
-rw-r--r-- | test/Sema/function.c | 2 | ||||
-rw-r--r-- | test/Sema/knr-def-call.c | 8 |
3 files changed, 8 insertions, 4 deletions
diff --git a/test/Sema/arg-duplicate.c b/test/Sema/arg-duplicate.c index 82b2992af3..e40a964234 100644 --- a/test/Sema/arg-duplicate.c +++ b/test/Sema/arg-duplicate.c @@ -9,6 +9,6 @@ int f3(y, x, } 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 aec76a26eb..e604d0e1ea 100644 --- a/test/Sema/function.c +++ b/test/Sema/function.c @@ -27,7 +27,7 @@ int t9(int a, ); // expected-error {{expected parameter declarator}} // 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 0e562d7c7e..6b033fc3a2 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}} |