use compiler builtins for variadic macros when available