libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / builtin-sprintf-warn-26.c
blob677b6345c5c36149344e09cac480fc95d4b3e923
1 /* PR middle-end/100307 - spurious -Wplacement-new with negative pointer
2 offset
3 { dg-do compile }
4 { dg-options "-O0 -Wall" } */
6 extern int sprintf (char*, const char*, ...);
8 char a[4];
10 void nowarn_1m1 ()
12 char *p = a + 1;
13 sprintf (p - 1, "%i", 123); // { dg-bogus "-Wformat-overflow" }
16 void nowarn_4m3 ()
18 char *p = a + 4;
19 sprintf (p - 3, "%i", 12); // { dg-bogus "-Wformat-overflow" }
22 void warn_2m1 ()
24 char *p = a + 2;
25 sprintf (p - 1, "%i", 123); // { dg-warning "-Wformat-overflow" "pr100325" }
28 void warn_3m1 ()
30 char *p = a + 3;
31 sprintf (p - 1, "%i", 12); // { dg-warning "-Wformat-overflow" "pr100325" }
34 void warn_4m1 ()
36 char *p = a + 4;
37 sprintf (p - 1, "%i", 1); // { dg-warning "-Wformat-overflow" "pr100325" }