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 } */
       6  /* { dg-options "-Wformat" } */
       7  
       8  #include "format.h"
       9  
      10  void
      11  f (int x)
      12  {
      13    printf("%s", x); /* { dg-warning "format" } */
      14    printf((char *)(__UINTPTR_TYPE__)"%s", x); /* { dg-warning "format" } */
      15    printf((char *)(char)"%s", x); /* { dg-warning "cast from pointer to integer of different size" } */
      16  }