1/* Test for strings cast through integer types: should not be treated 2 as format strings unless the types are of the same width as 3 pointers (intptr_t or similar). */ 4/* Origin: Joseph Myers <joseph@codesourcery.com> */ 5/* { dg-do compile { target { *-*-mingw* } } } */ 6/* { dg-options "-Wformat" } */ 7 8#define USE_SYSTEM_FORMATS 9#include "format.h" 10 11void 12f (int x) 13{ 14 printf("%s", x); /* { dg-warning "format" } */ 15 printf((char *)(size_t)"%s", x); /* { dg-warning "format" } */ 16 printf((char *)(char)"%s", x); /* { dg-warning "cast from pointer to integer of different size" } */ 17} 18