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