gas@cs.nott.ac.uk (Alan Shepherd) (09/21/90)
A few days ago, I sent out a query regarding AT&T C++ 2.1 and stdargs.
Apparently, there is a bug in cfront which caused the problem. The
following message from a guy at AT&T explains how to fix it (he may
well have posted it to the news as well - sorry about any
duplication):
There's a bug in "src/print2.c" around line 1490--
------------------------------
if (body && Cast==0) {
for (nn=at; nn;) {
nn->print();
if (nn=nn->n_list) puttok(CM); else break;
}
#ifdef mips
if (nargs_known == ELLIPSIS)
putstring(", va_alist");
#endif
putch(')');
}
else
putch(')');
------------------------------
should be--
------------------------------
if (body && Cast==0) {
for (nn=at; nn;) {
nn->print();
if (nn=nn->n_list) puttok(CM); else break;
}
#ifdef mips
if (nargs_known == ELLIPSIS)
putstring(", va_alist");
#endif
#ifdef sparc
if (nargs_known == ELLIPSIS)
putstring(", __builtin_va_alist");
#endif
putch(')');
}
else
putch(')');
------------------------------
Dennis Mancl
AT&T Bell Labs - Liberty Corner
Warren, NJ
dmm@mozart.att.com