modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/980608-1.c (about)

     1  /* { dg-options "-fgnu89-inline" } */
     2  
     3  #include <stdarg.h>
     4  
     5  extern void abort(void);
     6  extern void exit (int);
     7  
     8  void f1(int a,int b,int c,int d,int e, int f,int g,int h,int i,int j, int k,int
     9  l,int m,int n,int o)
    10  {
    11      return;
    12  }
    13  
    14  inline void debug(const char *msg,...)
    15  {
    16      va_list ap;
    17      va_start( ap, msg );
    18  
    19      f1(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
    20  
    21      if ( va_arg(ap,int) != 101)
    22          abort();
    23      if ( va_arg(ap,int) != 102)
    24          abort();
    25      if ( va_arg(ap,int) != 103)
    26          abort();
    27      if ( va_arg(ap,int) != 104)
    28          abort();
    29      if ( va_arg(ap,int) != 105)
    30          abort();
    31      if ( va_arg(ap,int) != 106)
    32          abort();
    33  
    34      va_end( ap );
    35  }
    36  
    37  int main(void)
    38  {
    39    debug("%d %d %d  %d %d %d\n", 101, 102, 103, 104, 105, 106);
    40    exit(0);
    41  }