libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / builtin-sprintf-28.c
blobc1d0083506fe7b82c32d9cb57846e0f076adaa54
1 /* PR middle-end/100732 - ICE on sprintf %s with integer argument
2 { dg-do compile }
3 { dg-options "-O2 -Wall -fdump-tree-optimized" } */
5 void gb (char *d, _Bool b)
7 __builtin_sprintf (d, "%s", b); // { dg-warning "\\\[-Wformat" }
10 void gi (char *d, int i)
12 __builtin_sprintf (d, "%s", i); // { dg-warning "\\\[-Wformat" }
15 void gd (char *d, double x)
17 __builtin_sprintf (d, "%s", x); // { dg-warning "\\\[-Wformat" }
21 struct X { int i; };
23 void gx (char *d, struct X x)
25 __builtin_sprintf (d, "%s", x); // { dg-warning "\\\[-Wformat" }
28 /* Also verify that the invalid sprintf call isn't folded to strcpy.
29 { dg-final { scan-tree-dump-times "sprintf" 4 "optimized" } }
30 { dg-final { scan-tree-dump-not "strcpy" "optimized" } } */