struct t { int a1; int a2; unsigned char x, y, z, k; }; __attribute__((__format__(__printf__, 1, 2))) void doprint(const char *format, ...); void foo(struct t *t) { /* Warns with -Wformat but not with -Wformat -Wformat-signedness */ doprint("hello %lu\n", t->k); }