/* PR middle-end/100325 - missing warning with -O0 on sprintf overflow with | |
pointer plus offset | |
{ dg-do compile } | |
{ dg-options "-O0 -Wall" } */ | |
#define S(n) (&"0123456789"[10 - n]) | |
extern int sprintf (char*, const char*, ...); | |
char d[10]; | |
void nowarn_d10_s9 () | |
{ | |
sprintf (d, "%s", S (9)); // { dg-bogus "-Wformat-overflow" } | |
} | |
void warn_d10_s10 () | |
{ | |
sprintf (d, "%s", S (10)); // { dg-warning "-Wformat-overflow" } | |
} |