1  /* { dg-do run } */
       2  /* { dg-options "-O2 -mabi=ms -std=gnu99 -fno-builtin" } */
       3  
       4  #include <stdarg.h>
       5  
       6  extern void __attribute__ ((sysv_abi)) abort (void);
       7  
       8  char *a = "1";
       9  char *b = "2";
      10  
      11  static void __attribute__((noinline,noclone))
      12  do_cpy2 (va_list argp)
      13  {
      14    char *e;
      15  
      16    e = va_arg (argp, char *);
      17    e = va_arg (argp, char *);
      18    if (e != b)
      19      abort ();
      20  }
      21  
      22  void __attribute__((noinline,noclone))
      23  do_cpy (int dummy, ...)
      24  {
      25    va_list argp;
      26  
      27    va_start (argp, dummy);
      28  
      29    do_cpy2 (argp);
      30  
      31    va_end (argp);
      32  }
      33  
      34  int __attribute__ ((sysv_abi))
      35  main ()
      36  {
      37    do_cpy (0, a, b);
      38  
      39    return 0;
      40  }