From 01b4d31847394cba8639b28b75c9680dd75ed7cf Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Tue, 30 Mar 1993 20:34:57 +0000 Subject: Use ANSI versions on AIX regardless of __STDC__. --- include/ChangeLog | 8 ++++++++ include/ansidecl.h | 48 +++++++++++++++++++++++++++++++++++------------- 2 files changed, 43 insertions(+), 13 deletions(-) diff --git a/include/ChangeLog b/include/ChangeLog index c3d40e9..2b6accd 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,11 @@ +Tue Mar 30 12:22:55 1993 Jim Kingdon (kingdon@cygnus.com) + + * ansidecl.h: Use ANSI versions on AIX regardless of __STDC__. + +Fri Mar 19 14:49:49 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * dis-asm.h: Add h8500. + Thu Mar 18 13:49:09 1993 Per Bothner (bothner@rtl.cygnus.com) * ieee-float.h: Moved from ../gdb. diff --git a/include/ansidecl.h b/include/ansidecl.h index f5b61aa..8434f28 100644 --- a/include/ansidecl.h +++ b/include/ansidecl.h @@ -1,5 +1,5 @@ /* ANSI and traditional C compatability macros - Copyright 1991 Free Software Foundation, Inc. + Copyright 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify @@ -29,7 +29,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ SIGNED `signed' `' PTRCONST `void *const' `char *' - DEFUN(name, arglist, args) + DEFUN (name, arglist, args) Defines function NAME. @@ -41,19 +41,38 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ be separated with `AND'. For functions with a variable number of arguments, the last thing listed should be `DOTS'. - DEFUN_VOID(name) + DEFUN_VOID (name) Defines a function NAME, which takes no arguments. - EXFUN(name, prototype) + obsolete -- EXFUN (name, (prototype)) -- obsolete. - Is used in an external function declaration. - In ANSI C it is `NAMEPROTOTYPE' (so PROTOTYPE should be enclosed in + Replaced by PARAMS. Do not use; will disappear someday soon. + Was used in external function declarations. + In ANSI C it is `NAME PROTOTYPE' (so PROTOTYPE should be enclosed in parentheses). In traditional C it is `NAME()'. - For a function that takes no arguments, PROTOTYPE should be `(NOARGS)'. + For a function that takes no arguments, PROTOTYPE should be `(void)'. + + PARAMS ((args)) + + We could use the EXFUN macro to handle prototype declarations, but + the name is misleading and the result is ugly. So we just define a + simple macro to handle the parameter lists, as in: + + static int foo PARAMS ((int, char)); + + This produces: `static int foo();' or `static int foo (int, char);' + + EXFUN would have done it like this: + + static int EXFUN (foo, (int, char)); + + but the function is not external...and it's hard to visually parse + the function name out of the mess. EXFUN should be considered + obsolete; new code should be written to use PARAMS. For example: - extern int EXFUN(printf, (CONST char *format DOTS)); + extern int printf PARAMS ((CONST char *format DOTS)); int DEFUN(fprintf, (stream, format), FILE *stream AND CONST char *format DOTS) { ... } void DEFUN_VOID(abort) { ... } @@ -69,7 +88,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* LINTLIBRARY */ -#ifdef __STDC__ +#if defined (__STDC__) || defined (_AIX) +/* the AIX xlc compiler implements all these things even when it is in + a mode which doesn't define __STDC__. */ #define PTR void * #define PTRCONST void *CONST @@ -84,10 +105,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define EXFUN(name, proto) name proto #define DEFUN(name, arglist, args) name(args) -#define DEFUN_VOID(name) name(NOARGS) +#define DEFUN_VOID(name) name(void) -#define PROTO(type, name, arglist) type name arglist -#endif +#define PROTO(type, name, arglist) type name arglist +#define PARAMS(paramlist) paramlist #else /* Not ANSI C. */ @@ -106,7 +127,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define DEFUN(name, arglist, args) name arglist args; #define DEFUN_VOID(name) name() #define PROTO(type, name, arglist) type name () -#endif /* ANSI C. */ +#define PARAMS(paramlist) () +#endif /* ANSI C. */ #endif /* ansidecl.h */ -- cgit v1.1