23 lines
843 B
C
23 lines
843 B
C
/* Test for format attributes: test default attributes are applied
|
|
to implicit declarations. */
|
|
/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-std=gnu89 -Wformat" } */
|
|
|
|
/* We can't #include "format.h" here. */
|
|
|
|
/* Technically, none of the format functions should be implicitly declared;
|
|
either the implicit type is wrong, the function has variable arguments
|
|
or it requires a type declared in a header. However, some bad programming
|
|
practice uses implicit declarations of some of these functions.
|
|
|
|
Note that printf is not used in this test because of the declaration
|
|
of it as a built-in function. */
|
|
|
|
void
|
|
foo (const char *s, int *p)
|
|
{
|
|
scanf("%ld", p); /* { dg-warning "format" "implicit scanf" } */
|
|
/* { dg-warning "implicit" "implicit decl warning" { target *-*-* } 20 } */
|
|
}
|