1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/* PR middle-end/30473 */ extern int sprintf (char *, const char *, ...); extern void abort (void); char * foo (char *buf, char *p) { sprintf (buf, "abcde", p++); return p; } int main (void) { char buf[6]; if (foo (buf, &buf[2]) != &buf[3]) abort (); return 0; }