boot2

Playing with the boostrap
git clone https://git.ryansepassi.com/git/boot2.git
Log | Files | Refs | README

stdarg-builtin.before (454B)


      1 typedef char *va_list;
      2 #define va_start(ap, last) (void)((ap) = (char*)(&(last)) + sizeof (void*))
      3 #define va_arg(ap, type) (type)(((long*)((ap) = ((ap) + sizeof (void*))))[-1])
      4 #define va_align(ap, alignment) ((char*)((((unsigned long) (ap)) + (alignment) - 1) &~ ((alignment) - 1)))
      5 #define va_arg8(ap, type) (type)(((double*)((ap) = (va_align((ap), 8) + sizeof(double))))[-1])
      6 #define va_end(ap) (void)((ap) = 0)
      7 #define va_copy(dest, src) dest = src