J
James Egan
I'm porting a legacy application from HP-UX to Linux. The va_start macro
takes one argument under HP-UX, but takes two under Linux:
va_start under HP-UX takes only one var:
hp:/home/fred> grep va_start
/ndata1/scratch/gcc-3.2/binutils/include/mpw/>
#define va_start(list) list = (char *) &va_alist
va_start under linux takes two:
linux:/home/fred> grep -i va_start
/usr/lib/gcc/i386-redhat-linux/4.1.1/include/stdarg.h
#define va_start(v,l) __builtin_va_start(v,l)
The errors I'm seeing are listed below. What would be the best way to
handle the discrepancy in va_start between the two systems?
lprintf.c:73: error: expected declaration specifiers before 'va_dcl'
lprintf.c:89:13: error: macro "va_start" requires 2 arguments, but only
1 given
lprintf.c:145: error: expected '=', ',', ';', 'asm' or '__attribute__'
before 'va_dcl'
lprintf.c:161:13: error: macro "va_start" requires 2 arguments, but only
1 given
lprintf.c:218: error: expected '=', ',', ';', 'asm' or '__attribute__'
before 'va_dcl'
lprintf.c:234:13: error: macro "va_start" requires 2 arguments, but only
1 given
lprintf.c:284: error: expected '{' at end of input
make[1]: *** [lprintf.o] Error 1
make: *** [upper] Error 2
takes one argument under HP-UX, but takes two under Linux:
va_start under HP-UX takes only one var:
hp:/home/fred> grep va_start
/ndata1/scratch/gcc-3.2/binutils/include/mpw/>
#define va_start(list) list = (char *) &va_alist
va_start under linux takes two:
linux:/home/fred> grep -i va_start
/usr/lib/gcc/i386-redhat-linux/4.1.1/include/stdarg.h
#define va_start(v,l) __builtin_va_start(v,l)
The errors I'm seeing are listed below. What would be the best way to
handle the discrepancy in va_start between the two systems?
lprintf.c: In function 'lprintf':make
lprintf.c:73: error: expected declaration specifiers before 'va_dcl'
lprintf.c:89:13: error: macro "va_start" requires 2 arguments, but only
1 given
lprintf.c:145: error: expected '=', ',', ';', 'asm' or '__attribute__'
before 'va_dcl'
lprintf.c:161:13: error: macro "va_start" requires 2 arguments, but only
1 given
lprintf.c:218: error: expected '=', ',', ';', 'asm' or '__attribute__'
before 'va_dcl'
lprintf.c:234:13: error: macro "va_start" requires 2 arguments, but only
1 given
lprintf.c:284: error: expected '{' at end of input
make[1]: *** [lprintf.o] Error 1
make: *** [upper] Error 2