gcc varargs problem

Bill Davidsen davidsen at tmr.com
Fri Aug 1 16:36:50 UTC 2008


whoosh wrote:
> 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,
> 
Yes, that is an issue, and even using the compatibility RPMs the new 
includes seem to be used and old code doesn't compile properly. I have 
set up a virtual machine using an old version (RH9 or FC1) so I can 
compile what I need and link static so I can use the code I need.

-- 
Bill Davidsen <davidsen at tmr.com>
   "We have more to fear from the bungling of the incompetent than from
the machinations of the wicked."  - from Slashdot




More information about the users mailing list