diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/format/attr-6.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/format/attr-6.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/format/attr-6.c b/gcc/testsuite/gcc.dg/format/attr-6.c new file mode 100644 index 000000000..0f683223d --- /dev/null +++ b/gcc/testsuite/gcc.dg/format/attr-6.c @@ -0,0 +1,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 } */ +} |