changeset 4888:a68e25d3fb46

argp update from libc
author Karl Berry <karl@freefriends.org>
date Sat, 29 Nov 2003 13:37:46 +0000
parents e1d2f92c866a
children dfc629bda85d
files lib/ChangeLog lib/argp-help.c lib/argp-namefrob.h lib/argp-parse.c lib/argp.h
diffstat 5 files changed, 44 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,7 @@
+2003-11-29  Karl Berry  <karl@gnu.org>
+
+	* argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
+
 2003-11-23  Paul Eggert  <eggert@twinsun.com>
             Bruno Haible  <bruno@clisp.org>
 
--- a/lib/argp-help.c
+++ b/lib/argp-help.c
@@ -25,20 +25,16 @@
 #include <config.h>
 #endif
 
-#ifndef alloca
-# ifdef __GNUC__
-#  define alloca __builtin_alloca
-#  define HAVE_ALLOCA 1
+/* AIX requires this to be the first thing in the file.  */
+#ifndef __GNUC__
+# if HAVE_ALLOCA_H || defined _LIBC
+#  include <alloca.h>
 # else
-#  if defined HAVE_ALLOCA_H || defined _LIBC
-#   include <alloca.h>
+#  ifdef _AIX
+#pragma alloca
 #  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca
+#   ifndef alloca /* predefined by HP cc +Olibcalls */
 char *alloca ();
-#    endif
 #   endif
 #  endif
 # endif
--- a/lib/argp-namefrob.h
+++ b/lib/argp-namefrob.h
@@ -76,6 +76,11 @@
 #undef __argp_fmtstream_wmargin
 #define __argp_fmtstream_wmargin argp_fmtstream_wmargin
 
+#include "mempcpy.h"
+#include "strcase.h"
+#include "strchrnul.h"
+#include "strndup.h"
+
 /* normal libc functions we call */
 #undef __flockfile
 #define __flockfile flockfile
--- a/lib/argp-parse.c
+++ b/lib/argp-parse.c
@@ -1,5 +1,5 @@
 /* Hierarchial argument parsing, layered over getopt
-   Copyright (C) 1995-2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1995-2000, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
@@ -21,6 +21,21 @@
 #include <config.h>
 #endif
 
+/* AIX requires this to be the first thing in the file.  */
+#ifndef __GNUC__
+# if HAVE_ALLOCA_H || defined _LIBC
+#  include <alloca.h>
+# else
+#  ifdef _AIX
+#pragma alloca
+#  else
+#   ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+#   endif
+#  endif
+# endif
+#endif
+
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
--- a/lib/argp.h
+++ b/lib/argp.h
@@ -48,6 +48,18 @@
 # endif
 #endif
 
+/* GCC 2.95 and later have "__restrict"; C99 compilers have
+   "restrict", and "configure" may have defined "restrict".  */
+#ifndef __restrict
+# if ! (2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__))
+#  if defined restrict || 199901L <= __STDC_VERSION__
+#   define __restrict restrict
+#  else
+#   define __restrict
+#  endif
+# endif
+#endif
+
 #ifndef __error_t_defined
 typedef int error_t;
 # define __error_t_defined