Home
       0086-variadic.c - scc - simple c99 compiler
  HTML git clone git://git.simple-cc.org/scc
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
       0086-variadic.c (501B)
       ---
            1 #define CALL(FUN, ...) FUN(__VA_ARGS__)
            2 
            3 int
            4 none()
            5 {
            6         return 0;
            7 }
            8 
            9 int
           10 one(int a)
           11 {
           12         if (a != 1)
           13                 return 1;
           14         
           15         return 0;
           16 }
           17 
           18 int
           19 two(int a, int b)
           20 {
           21         if (a != 1)
           22                 return 1;
           23         if (b != 2)
           24                 return 1;
           25         
           26         return 0;
           27 }
           28 
           29 int
           30 three(int a, int b, int c)
           31 {
           32         if (a != 1)
           33                 return 1;
           34         if (b != 2)
           35                 return 1;
           36         if (c != 3)
           37                 return 1;
           38         
           39         return 0;
           40 }
           41 
           42 int
           43 main()
           44 {
           45         if (CALL(none))
           46                 return 1;
           47         if (CALL(one, 1))
           48                 return 2;
           49         if (CALL(two, 1, 2))
           50                 return 3;
           51         if (CALL(three, 1, 2, 3))
           52                 return 4;
           53         
           54         return 0;
           55 }