/* 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; }