MSVC 2003 doesn't support varargs in macros