1 /* Test for bugs with %z and %Z formats.  See PRs c/89, c/156, c/376.  */
2 /* Origin: Joseph Myers <jsm28@cam.ac.uk> */
3 /* { dg-do compile } */
4 /* { dg-options "-Wformat" } */
5 
6 #include "format.h"
7 
8 size_t
foo(void)9 foo (void)
10 {
11   size_t t;
12   scanf ("%zu", &t); /* { dg-bogus "length|format" "bogus scanf warning" } */
13   return t;
14 }
15 
16 void
bar(size_t t)17 bar (size_t t)
18 {
19   printf ("%zu\n", t); /* { dg-bogus "format" "bogus printf warning" } */
20 }
21 
22 /* The %Z printf format is an old GNU libc extension to do the same thing.  */
23 
24 void
baz(size_t t)25 baz (size_t t)
26 {
27   printf ("%Zu\n", t); /* { dg-bogus "format" "bogus printf warning" } */
28 }
29