Hi James,
So can't we simply use 'bool' or uint32 as the type for h3 instead
of re-ordering everything
The problem is the standard is ambiguious. The only thing that's
guaranteed to work for all time is a char *. If you want to keep the
order, what I'd suggest is inserting a dummy pointer argument which is
always expected to be NULL between the h3 and the varargs.
So maybe I'm misunderstanding something, but the issue seems to be that
unsigned char is promoted to 'unsigned char *' by Clang and probably
unsigned int or int by gcc.
So instead of having unsigned char h3, can't we simply have bool h3 or
unsigned int h3?
Regards,
-Denis