1/* PR c/5503 2 Test whether argument checking is done for fputs, bzero and bcmp. */ 3typedef struct { int i; } FILE; 4typedef __SIZE_TYPE__ size_t; 5int fputs (const char *, FILE *); 6void bzero (void *, size_t); 7int bcmp (const void *, const void *, size_t); 8 9char buf[32]; 10FILE *f; 11 12int 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 2 of" "2nd incompatible" { target *-*-* } 15 } */ 28/* { dg-warning "passing arg 1 of" "1st incompatible" { target *-*-* } 16 } */ 29/* { dg-warning "passing arg 2 of" "2nd incompatible" { target *-*-* } 16 } */ 30/* { dg-warning "passing arg 1 of" "1st incompatible" { target *-*-* } 18 } */ 31/* { dg-warning "passing arg 1 of" "1st incompatible" { target *-*-* } 20 } */ 32