Dmitry Timoshkov (@dmitry) commented about configure.ac:
*) AC_CACHE_CHECK([for working -mabi=ms], ac_cv_mabi_ms, [CFLAGS="$CFLAGS -mabi=ms" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>
-int a(int b, ...) { __builtin_ms_va_list list; __builtin_ms_va_start(list,b); }]])], +int a(int b, ...) { __builtin_ms_va_list list; __builtin_ms_va_start(list,b); return 0; }]])],
Wouldn't it be cleaner to use void return type?