diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a4d02b4b8aeb55eaec2622f92ef9d856e3a4d6cd..85775c9d8eb88fafbbd7354f3399cfd07e933085 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-07-01 Matt Kraai <kraai@alumni.cmu.edu> + + * README.Portability (Function prototypes): Document new + variable-argument function macros. + Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com> * sh.c (langhooks.h): Include. diff --git a/gcc/README.Portability b/gcc/README.Portability index d69c3869b3fe88facf80c5a521ba496be6515efe..ccd05e7521d5c1da148ef7bf18e10a6b7d4fb1ad 100644 --- a/gcc/README.Portability +++ b/gcc/README.Portability @@ -139,32 +139,16 @@ void cpp_ice PARAMS ((cpp_reader *, const char *msgid, ...)); void cpp_ice VPARAMS ((cpp_reader *pfile, const char *msgid, ...)) -{ -#ifndef ANSI_PROTOTYPES - cpp_reader *pfile; - const char *msgid; -#endif - va_list ap; - - VA_START (ap, msgid); - -#ifndef ANSI_PROTOTYPES - pfile = va_arg (ap, cpp_reader *); - msgid = va_arg (ap, const char *); -#endif +{ + VA_OPEN (ap, msgid); + VA_FIXEDARG (ap, cpp_reader *, pfile); + VA_FIXEDARG (ap, const char *, msgid); ... - va_end (ap); + VA_CLOSE (ap); } -For the curious, here are the definitions of the above macros. See -ansidecl.h for the definitions of the above macros and more. - -#define PARAMS(paramlist) paramlist /* ISO C. */ -#define VPARAMS(args) args - -#define PARAMS(paramlist) () /* K+R C. */ -#define VPARAMS(args) (va_alist) va_dcl +See ansidecl.h for the definitions of the above macros and more. One aspect of using K+R style function declarations, is you cannot have arguments whose types are char, short, or float, since without