1 /* Verify that -Wformat-overflow uses context-sensitive ranges even
2 at -O0 to avoid both false positives and negatives.
4 { dg-options "-O0 -Wall" } */
6 extern int sprintf (char*, const char*, ...);
10 void test_context_range (int c
)
14 /* Prior to the switch to Ranger in GCC 12 -Wformat-overflow triggers
15 for both calls because EVRP doesn't expose the accurate range of
18 sprintf (a
, "%i", i
+ 2); // { dg-warning "writing a terminating nul past the end of the destination" }
20 sprintf (a
, "%i", i
+ 1); // { dg-bogus "-Wformat-overflow" }