[comp.lang.c++] Stdargs and C++2.1

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