aboutsummaryrefslogtreecommitdiff
path: root/argp
diff options
context:
space:
mode:
Diffstat (limited to 'argp')
-rw-r--r--argp/argp-help.c18
-rw-r--r--argp/argp-namefrob.h5
-rw-r--r--argp/argp-parse.c17
-rw-r--r--argp/argp.h12
4 files changed, 40 insertions, 12 deletions
diff --git a/argp/argp-help.c b/argp/argp-help.c
index 1365abc..b7e088e 100644
--- a/argp/argp-help.c
+++ b/argp/argp-help.c
@@ -26,20 +26,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
diff --git a/argp/argp-namefrob.h b/argp/argp-namefrob.h
index 26e285b..6924df7 100644
--- a/argp/argp-namefrob.h
+++ b/argp/argp-namefrob.h
@@ -77,6 +77,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
diff --git a/argp/argp-parse.c b/argp/argp-parse.c
index 0b619db..47223dc 100644
--- a/argp/argp-parse.c
+++ b/argp/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>.
@@ -22,6 +22,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>
diff --git a/argp/argp.h b/argp/argp.h
index cb2f85a..78a9d1b 100644
--- a/argp/argp.h
+++ b/argp/argp.h
@@ -49,6 +49,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