Work around bugs in Visual C++ variadic macro parsing and/or non-standard use of same.  Compiles on win32 and linux, whether it works is anyone's guess.