kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

variadic_03_long.c (330B)


      1 /* va_arg for a non-int integer width: long (8 bytes on AAPCS64). */
      2 long sum_long(int n, ...) {
      3   __builtin_va_list ap;
      4   __builtin_va_start(ap, n);
      5   long s = 0;
      6   for (int i = 0; i < n; i++) s += __builtin_va_arg(ap, long);
      7   __builtin_va_end(ap);
      8   return s;
      9 }
     10 
     11 int test_main(void) { return (int)sum_long(3, 10L, 20L, 12L); }