xgethostname simplification
[gnulib.git] / lib / argp.h
index 5694da4..42e39ad 100644 (file)
 # define __THROW
 #endif
 
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
+#  define __attribute__(Spec) /* empty */
+# endif
+/* The __-protected variants of `format' and `printf' attributes
+   are accepted by gcc versions 2.6.4 (effectively 2.7) and later.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) || __STRICT_ANSI__
+#  define __format__ format
+#  define __printf__ printf
+# 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
@@ -379,11 +404,11 @@ struct argp_state
 extern error_t argp_parse (__const struct argp *__restrict __argp,
                           int __argc, char **__restrict __argv,
                           unsigned __flags, int *__restrict __arg_index,
-                          void *__restrict __input) __THROW;
+                          void *__restrict __input);
 extern error_t __argp_parse (__const struct argp *__restrict __argp,
                             int __argc, char **__restrict __argv,
                             unsigned __flags, int *__restrict __arg_index,
-                            void *__restrict __input) __THROW;
+                            void *__restrict __input);
 \f
 /* Global variables.  */
 
@@ -447,10 +472,10 @@ extern error_t argp_err_exit_status;
    ARGP_HELP_*.  */
 extern void argp_help (__const struct argp *__restrict __argp,
                       FILE *__restrict __stream,
-                      unsigned __flags, char *__restrict __name) __THROW;
+                      unsigned __flags, char *__restrict __name);
 extern void __argp_help (__const struct argp *__restrict __argp,
                         FILE *__restrict __stream, unsigned __flags,
-                        char *__name) __THROW;
+                        char *__name);
 \f
 /* The following routines are intended to be called from within an argp
    parsing routine (thus taking an argp_state structure as the first
@@ -464,23 +489,23 @@ extern void __argp_help (__const struct argp *__restrict __argp,
    from the set ARGP_HELP_*.  */
 extern void argp_state_help (__const struct argp_state *__restrict __state,
                             FILE *__restrict __stream,
-                            unsigned int __flags) __THROW;
+                            unsigned int __flags);
 extern void __argp_state_help (__const struct argp_state *__restrict __state,
                               FILE *__restrict __stream,
-                              unsigned int __flags) __THROW;
+                              unsigned int __flags);
 
 /* Possibly output the standard usage message for ARGP to stderr and exit.  */
-extern void argp_usage (__const struct argp_state *__state) __THROW;
-extern void __argp_usage (__const struct argp_state *__state) __THROW;
+extern void argp_usage (__const struct argp_state *__state);
+extern void __argp_usage (__const struct argp_state *__state);
 
 /* If appropriate, print the printf string FMT and following args, preceded
    by the program name and `:', to stderr, and followed by a `Try ... --help'
    message, then exit (1).  */
 extern void argp_error (__const struct argp_state *__restrict __state,
-                       __const char *__restrict __fmt, ...) __THROW
+                       __const char *__restrict __fmt, ...)
      __attribute__ ((__format__ (__printf__, 2, 3)));
 extern void __argp_error (__const struct argp_state *__restrict __state,
-                         __const char *__restrict __fmt, ...) __THROW
+                         __const char *__restrict __fmt, ...)
      __attribute__ ((__format__ (__printf__, 2, 3)));
 
 /* Similar to the standard gnu error-reporting function error(), but will
@@ -493,11 +518,11 @@ extern void __argp_error (__const struct argp_state *__restrict __state,
    parsing but don't reflect a (syntactic) problem with the input.  */
 extern void argp_failure (__const struct argp_state *__restrict __state,
                          int __status, int __errnum,
-                         __const char *__restrict __fmt, ...) __THROW
+                         __const char *__restrict __fmt, ...)
      __attribute__ ((__format__ (__printf__, 4, 5)));
 extern void __argp_failure (__const struct argp_state *__restrict __state,
                            int __status, int __errnum,
-                           __const char *__restrict __fmt, ...) __THROW
+                           __const char *__restrict __fmt, ...)
      __attribute__ ((__format__ (__printf__, 4, 5)));
 
 /* Returns true if the option OPT is a valid short option.  */