aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/format/attr-6.c
blob: 0f683223d783aa06b6d9c99d128cb1c309dd8e21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* 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 } */
}