Varargs de tipos seguros em C com gcc

Muitas vezes eu quero uma função para receber um número variável de argumentos, terminados por NULL, por exemplo

<code>#define push(stack_t stack, ...) _push(__VARARG__, NULL);
func _push(stack_t stack, char *s, ...) {
    va_list args;
    va_start(args, s);
    while (s = va_arg(args, char*)) push_single(stack, s);
}
</code>

Posso instruir o gcc ou o clang para avisar se foo recebechar* variáveis? Algo semelhante a__attribute__(format), mas para vários argumentos do mesmo tipo de ponteiro.

questionAnswers(3)

yourAnswerToTheQuestion