+1999-05-04 Zack Weinberg <zack@rabi.phys.columbia.edu>
+
+ * argp/argp.h, assert/assert.h, misc/sys/cdefs.h,
+ posix/sys/types.h: Handle the case of __GNUC__=3,
+ __GNUC_MINOR__=(anything).
+
1999-05-18 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/i386/i486/bits/string.h (rawmemchr): Remove unneccessary
/* Hierarchial argument parsing, layered over getopt.
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader <miles@gnu.ai.mit.edu>.
#endif
#ifndef __P
-# if (defined __STDC__ && __STDC__) || defined __cplusplus
-# if defined __GNUC__ && defined __cplusplus && __GNUC_MINOR__ >= 8
+# ifdef __cplusplus
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 7)
# define __P(args) args throw ()
# else
# define __P(args) args
# endif
# define __PMT(args) args
+# elif defined __STDC__ && __STDC__ > 0
+# define __P(args) args
+# define __PMT(args) args
# else
# define __P(args) ()
# define __PMT(args) ()
-/* Copyright (C) 1991, 92, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
/* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__'
which contains the name of the function currently being defined.
- This is broken in G++ before version 2.6. */
-# if (!defined __GNUC__ || __GNUC__ < 2 || \
- __GNUC_MINOR__ < (defined __cplusplus ? 6 : 4))
-# define __ASSERT_FUNCTION ((__const char *) 0)
-# else
# define __ASSERT_FUNCTION __PRETTY_FUNCTION__
+ This is broken in G++ before version 2.6.
+ C9x has a similar variable called __func__, but prefer the GCC one since
+ it demangles C++ function names. */
+# ifdef __GNUC__
+# if __GNUC__ > 2 || (__GNUC__ == 2 \
+ && __GNUC_MINOR__ >= (defined __cplusplus ? 6 : 4))
+# define __ASSERT_FUNCTION __PRETTY_FUNCTION__
+# else
+# define __ASSERT_FUNCTION ((__const char *) 0)
+# endif
+# else
+# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+# define __ASSERT_FUNCTION __func__
+# else
+# define __ASSERT_FUNCTION ((__const char *) 0)
+# endif
# endif
-
#endif /* NDEBUG. */
/* GCC can always grok prototypes. For C++ programs we add throw()
to help it optimize the function calls. But this works only with
gcc 2.8.x and egcs. */
-# if defined __cplusplus && __GNUC_MINOR__ >= 8
+# if defined __cplusplus && (__GNUC__ >= 3 || __GNUC_MINOR__ >= 8)
# define __THROW throw ()
# else
# define __THROW
/* These size-specific names are used by some of the inet code. */
-#if !defined __GNUC__ || __GNUC__ < 2 || __GNUC_MINOR__ < 7
+#if !defined __GNUC__ || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
/* These types are defined by the ISO C 9x header <inttypes.h>. */
# ifndef __int8_t_defined