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