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