README.Portability (Function prototypes): Document new variable-argument function macros.
* README.Portability (Function prototypes): Document new variable-argument function macros. From-SVN: r55150
This commit is contained in:
parent
5fd3853ac3
commit
d3fc4dbce0
2 changed files with 11 additions and 22 deletions
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue