__VA_ARGS__ and ... was introduced in C99, and you must provide at least one argument for the "..." case (it can't be empty). I see no bug here.
( MSVC is C89/C90, so it's totally irreleveant. My copy of GCC produces two warnings for your code, and POCC 7.0 produces two errors. )