079daf01e2fc7c3a71e59b1a4ac01289117c097f
[gcc.git] / gcc / testsuite / gcc.dg / noncompile / 20020213-1.c
1 /* PR c/5503
2 Test whether argument checking is done for fputs, bzero and bcmp. */
3 typedef struct { int i; } FILE;
4 typedef __SIZE_TYPE__ size_t;
5 int fputs (const char *, FILE *);
6 void bzero (void *, size_t);
7 int bcmp (const void *, const void *, size_t);
8
9 char buf[32];
10 FILE *f;
11
12 int main ()
13 {
14 fputs ("foo"); /* { dg-error "too few" } */
15 fputs ("foo", "bar", "baz"); /* { dg-error "too many" } */
16 fputs (21, 43);
17 bzero (buf); /* { dg-error "too few" } */
18 bzero (21); /* { dg-error "too few" } */
19 bcmp (buf, buf + 16); /* { dg-error "too few" } */
20 bcmp (21); /* { dg-error "too few" } */
21 fputs ("foo", f);
22 bzero (buf, 32);
23 bcmp (buf, buf + 16, 16);
24 return 0;
25 }
26
27 /* { dg-warning "passing arg 1 of" "1st incompatible" { target *-*-* } 16 } */
28 /* { dg-warning "passing arg 2 of" "2nd incompatible" { target *-*-* } 16 } */
29 /* { dg-warning "passing arg 1 of" "1st incompatible" { target *-*-* } 18 } */
30 /* { dg-warning "passing arg 1 of" "1st incompatible" { target *-*-* } 20 } */