URI:
       0258-variadic.c - scc - simple c99 compiler
  HTML git clone git://git.simple-cc.org/scc
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       0258-variadic.c (351B)
       ---
            1 #define A(x,y) x+y
            2 #define B(x,y, ...) (x+y+ __VA_ARGS__ ## 0)
            3 #define C(x, ...) test(x, __VA_ARGS__)
            4 
            5 int
            6 test(int n1, int n2, int n3, int n4)
            7 {
            8         return n1 + n2 + n3 + n4;
            9 }
           10 
           11 int
           12 main(void)
           13 {
           14         int x = 3;
           15 
           16         if (A(1,x) != 4)
           17                 return 1;
           18         if (B(1,x) != 4)
           19                 return 2;
           20         if (B(2,x,3) != 35)
           21                 return 3;
           22         if (C(1, 2, 3, 4) != 10)
           23                 return 4;
           24 
           25         return 0;
           26 }