cxx does not support c99 varargs macros :(