Imported Upstream version 4.8.1
[platform/upstream/gcc48.git] / gcc / testsuite / gcc.dg / format / cast-1.c
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 }