aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/Wformat-pr84258.c
blob: 10fa9ba2133e52f85ea332f3ecda024fef729b20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* { dg-options "-Wformat" } */
/* { dg-additional-options "-std=gnu17" { target c } } */

int main (int argc, char **argv)
{
  char buf[10];

  char c[] = "%i";
  unsigned char uc[] = "%i";
  const char cc[] = "%i";
  const unsigned char cuc[] = "%i";

  __builtin_sprintf(buf, (char *)c, 1);
  __builtin_sprintf(buf, (char *)uc, 1);
  __builtin_sprintf(buf, (char *)cc, 1);
  __builtin_sprintf(buf, (char *)cuc, 1); /* { dg-warning "format string is not an array of type 'char'" } */
  __builtin_sprintf(buf, (const char *)L"foo"); /* { dg-warning "format is a wide character string" } */

  return 0;
}