gcc varargs problem
whoosh
whoosh777 at blueyonder.co.uk
Fri Aug 1 01:36:54 UTC 2008
all gcc's so far have accepted the following code,
until now using gcc on Fedora 9:
void f( va_list *pargs )
{
va_list args = *pargs ;
...
}
64 bit Fedora 9's gcc regards this as an error, all the other gcc's eg
on 32 bit Fedora Core 3 have no problem with this.
I use this a lot in order to pass var args to another function.
eg I have recursive functions which take variable numbers of args
and redirect to user supplied functions to process those args.
for porting code I dont want to have to rewrite everything,
also the gcc gives endless signedness warnings because my
code uses
unsigned char *
instead of
char *
for strings, I do that because I need to guarantee that chars are unsigned,
in order to avoid the ambiguity of EOF versus 255.
More information about the fedora-list
mailing list