On Wed, Jul 17, 2019 at 9:19 PM Paul Eggert <egg...@cs.ucla.edu> wrote:
>
> Jeffrey Walton wrote:
> > It looks like the glibc macro is a little simpler and lacks the attributes:
>
> Thanks. Can you give the preprocessor output for a declaration that fails with
> Gnulib?

__attribute__ ((nothrow)) seems to be causing the problems.

First, cd into the problem directory, then -E regex.c using same options/flags:

$ cd gettext-0.20.1/gettext-tools/libgrep
$ gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I.. -I../gnulib-lib
-I../gnulib-lib -I../intl -DIN_GETTEXT_TOOLS_LIBGREP=1
-I/usr/local/include -DNDEBUG  -g2 -O2 -fPIC -pthread -E regex.c >
regex.ii.txt

Second, grep on the throw:

$ grep -B 2 -A 2 throw regex.ii.txt > regex-grep.txt
$ cat regex-grep.txt
extern int isalnum (int) __attribute__ ((__nothrow__ ));
extern int isalpha (int) __attribute__ ((__nothrow__ ));
extern int iscntrl (int) __attribute__ ((__nothrow__ ));
extern int isdigit (int) __attribute__ ((__nothrow__ ));
extern int islower (int) __attribute__ ((__nothrow__ ));
...

I attached regex-grep.txt because it is small. I can attach
regex.ii.txt , but it is 570K.

Jeff

extern int isalnum (int) __attribute__ ((__nothrow__ ));
extern int isalpha (int) __attribute__ ((__nothrow__ ));
extern int iscntrl (int) __attribute__ ((__nothrow__ ));
extern int isdigit (int) __attribute__ ((__nothrow__ ));
extern int islower (int) __attribute__ ((__nothrow__ ));
extern int isgraph (int) __attribute__ ((__nothrow__ ));
extern int isprint (int) __attribute__ ((__nothrow__ ));
extern int ispunct (int) __attribute__ ((__nothrow__ ));
extern int isspace (int) __attribute__ ((__nothrow__ ));
extern int isupper (int) __attribute__ ((__nothrow__ ));
extern int isxdigit (int) __attribute__ ((__nothrow__ ));



extern int tolower (int __c) __attribute__ ((__nothrow__ ));


extern int toupper (int __c) __attribute__ ((__nothrow__ ));


--


extern int isblank (int) __attribute__ ((__nothrow__ ));


--


extern int isctype (int __c, int __mask) __attribute__ ((__nothrow__ ));


--


extern int isascii (int __c) __attribute__ ((__nothrow__ ));



extern int toascii (int __c) __attribute__ ((__nothrow__ ));



extern int _toupper (int) __attribute__ ((__nothrow__ ));
extern int _tolower (int) __attribute__ ((__nothrow__ ));
# 190 "/usr/include/ctype.h" 3 4
extern __inline int
tolower (int __c) __attribute__ ((__nothrow__ ))
{
  return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
--

extern __inline int
toupper (int __c) __attribute__ ((__nothrow__ ))
{
  return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c;
--
# 234 "/usr/include/ctype.h" 2 3 4
# 247 "/usr/include/ctype.h" 3 4
extern int isalnum_l (int, __locale_t) __attribute__ ((__nothrow__ ));
extern int isalpha_l (int, __locale_t) __attribute__ ((__nothrow__ ));
extern int iscntrl_l (int, __locale_t) __attribute__ ((__nothrow__ ));
extern int isdigit_l (int, __locale_t) __attribute__ ((__nothrow__ ));
extern int islower_l (int, __locale_t) __attribute__ ((__nothrow__ ));
extern int isgraph_l (int, __locale_t) __attribute__ ((__nothrow__ ));
extern int isprint_l (int, __locale_t) __attribute__ ((__nothrow__ ));
extern int ispunct_l (int, __locale_t) __attribute__ ((__nothrow__ ));
extern int isspace_l (int, __locale_t) __attribute__ ((__nothrow__ ));
extern int isupper_l (int, __locale_t) __attribute__ ((__nothrow__ ));
extern int isxdigit_l (int, __locale_t) __attribute__ ((__nothrow__ ));

extern int isblank_l (int, __locale_t) __attribute__ ((__nothrow__ ));



extern int __tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ ));
extern int tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ ));


extern int __toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ ));
extern int toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ ));
# 323 "/usr/include/ctype.h" 3 4

--


extern int __underflow (_IO_FILE *) __attribute__ ((__nothrow__ ));
extern int __uflow (_IO_FILE *) __attribute__ ((__nothrow__ ));
extern int __overflow (_IO_FILE *, int) __attribute__ ((__nothrow__ ));
extern wint_t __wunderflow (_IO_FILE *) __attribute__ ((__nothrow__ ));
extern wint_t __wuflow (_IO_FILE *) __attribute__ ((__nothrow__ ));
extern wint_t __woverflow (_IO_FILE *, wint_t) __attribute__ ((__nothrow__ ));
# 433 "/usr/include/libio.h" 3 4
extern int _IO_getc (_IO_FILE *__fp) __attribute__ ((__nothrow__ ));
extern int _IO_putc (int __c, _IO_FILE *__fp) __attribute__ ((__nothrow__ ));
extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__ ));
extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__ ));

extern int _IO_peekc_locked (_IO_FILE *__fp) __attribute__ ((__nothrow__ ));


--


extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__ ));
extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__ ));
extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__ ));
# 463 "/usr/include/libio.h" 3 4
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
                        __gnuc_va_list, int *__restrict) __attribute__ 
((__nothrow__ ));
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
                         __gnuc_va_list) __attribute__ ((__nothrow__ ));
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) __attribute__ 
((__nothrow__ ));
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) __attribute__ 
((__nothrow__ ));

extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) __attribute__ 
((__nothrow__ ));
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) __attribute__ 
((__nothrow__ ));

extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__ ));
# 73 "/usr/include/stdio.h" 2 3 4

--


extern int remove (__const char *__filename) __attribute__ ((__nothrow__ ));

extern int rename (__const char *__old, __const char *__new) __attribute__ 
((__nothrow__ ));


--


extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ ));


--


extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__ ));
# 196 "/usr/include/stdio.h" 3 4
extern char *tempnam (__const char *__dir, __const char *__pfx)
     __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__));


--


extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ 
((__nothrow__ ));


--
extern FILE *fopencookie (void *__restrict __magic_cookie,
                          __const char *__restrict __modes,
                          _IO_cookie_io_functions_t __io_funcs) __attribute__ 
((__nothrow__ ));


extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) 
__attribute__ ((__nothrow__ ));


--

extern FILE *open_memstream (char **__restrict __bufloc,
                             size_t *__restrict __sizeloc) __attribute__ 
((__nothrow__ ));


--


extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) 
__attribute__ ((__nothrow__ ));



extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
                    int __modes, size_t __n) __attribute__ ((__nothrow__ ));


--

extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
                       size_t __size) __attribute__ ((__nothrow__ ));


extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ ));


--

extern int sprintf (char *__restrict __s,
                    __const char *__restrict __format, ...) __attribute__ 
((__nothrow__ ));


--

extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
                     __gnuc_va_list __arg) __attribute__ ((__nothrow__ ));


--
extern int snprintf (char *__restrict __s, size_t __maxlen,
                     __const char *__restrict __format, ...)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format__ (__printf__, 3, 
4)));

extern int vsnprintf (char *__restrict __s, size_t __maxlen,
                      __const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format__ (__printf__, 3, 
0)));


--
extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
                      __gnuc_va_list __arg)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format__ (__printf__, 2, 
0)));
extern int __asprintf (char **__restrict __ptr,
                       __const char *__restrict __fmt, ...)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format__ (__printf__, 2, 
3)));
extern int asprintf (char **__restrict __ptr,
                     __const char *__restrict __fmt, ...)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format__ (__printf__, 2, 
3)));


--

extern int sscanf (__const char *__restrict __s,
                   __const char *__restrict __format, ...) __attribute__ 
((__nothrow__ ));


--
extern int vsscanf (__const char *__restrict __s,
                    __const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format__ (__scanf__, 2, 
0)));


--


extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ ));

extern int feof (FILE *__stream) __attribute__ ((__nothrow__ ));

extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ ));




extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ ));
extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ ));
extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ ));


--


extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ ));




extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ ));
# 767 "/usr/include/stdio.h" 3 4
extern FILE *popen (__const char *__command, __const char *__modes);
--


extern char *ctermid (char *__s) __attribute__ ((__nothrow__ ));


--
extern int obstack_printf (struct obstack *__restrict __obstack,
                           __const char *__restrict __format, ...)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format__ (__printf__, 2, 
3)));
extern int obstack_vprintf (struct obstack *__restrict __obstack,
                            __const char *__restrict __format,
                            __gnuc_va_list __args)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format__ (__printf__, 2, 
0)));


--


extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ ));



extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ ));


extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ ));
# 828 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/bits/stdio.h" 1 3 4
--

extern __inline int
feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ ))
{
  return (((__stream)->_flags & 0x10) != 0);
--

extern __inline int
ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ ))
{
  return (((__stream)->_flags & 0x20) != 0);
--

# 137 "/usr/include/stdlib.h" 3 4
extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ ));




extern double atof (__const char *__nptr) __attribute__ ((__nothrow__ )) 
__attribute__ ((__pure__));

extern int atoi (__const char *__nptr) __attribute__ ((__nothrow__ )) 
__attribute__ ((__pure__));

extern long int atol (__const char *__nptr) __attribute__ ((__nothrow__ )) 
__attribute__ ((__pure__));


--

__extension__ extern long long int atoll (__const char *__nptr)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


--

extern double strtod (__const char *__restrict __nptr,
                      char **__restrict __endptr) __attribute__ ((__nothrow__ 
));


--

extern float strtof (__const char *__restrict __nptr,
                     char **__restrict __endptr) __attribute__ ((__nothrow__ ));

extern long double strtold (__const char *__restrict __nptr,
                            char **__restrict __endptr) __attribute__ 
((__nothrow__ ));


--

extern long int strtol (__const char *__restrict __nptr,
                        char **__restrict __endptr, int __base) __attribute__ 
((__nothrow__ ));

extern unsigned long int strtoul (__const char *__restrict __nptr,
                                  char **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ ));


--
__extension__
extern long long int strtoq (__const char *__restrict __nptr,
                             char **__restrict __endptr, int __base) 
__attribute__ ((__nothrow__ ));

__extension__
extern unsigned long long int strtouq (__const char *__restrict __nptr,
                                       char **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ ));


--
__extension__
extern long long int strtoll (__const char *__restrict __nptr,
                              char **__restrict __endptr, int __base) 
__attribute__ ((__nothrow__ ));

__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr,
                                        char **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ ));

# 229 "/usr/include/stdlib.h" 3 4
extern long int strtol_l (__const char *__restrict __nptr,
                          char **__restrict __endptr, int __base,
                          __locale_t __loc) __attribute__ ((__nothrow__ ));

extern unsigned long int strtoul_l (__const char *__restrict __nptr,
                                    char **__restrict __endptr,
                                    int __base, __locale_t __loc) __attribute__ 
((__nothrow__ ));

__extension__
extern long long int strtoll_l (__const char *__restrict __nptr,
                                char **__restrict __endptr, int __base,
                                __locale_t __loc) __attribute__ ((__nothrow__ 
));

__extension__
--
                                          char **__restrict __endptr,
                                          int __base, __locale_t __loc)
     __attribute__ ((__nothrow__ ));

extern double strtod_l (__const char *__restrict __nptr,
                        char **__restrict __endptr, __locale_t __loc)
     __attribute__ ((__nothrow__ ));

extern float strtof_l (__const char *__restrict __nptr,
                       char **__restrict __endptr, __locale_t __loc) 
__attribute__ ((__nothrow__ ));

extern long double strtold_l (__const char *__restrict __nptr,
                              char **__restrict __endptr,
                              __locale_t __loc) __attribute__ ((__nothrow__ ));


--
extern double __strtod_internal (__const char *__restrict __nptr,
                                 char **__restrict __endptr, int __group)
     __attribute__ ((__nothrow__ ));
extern float __strtof_internal (__const char *__restrict __nptr,
                                char **__restrict __endptr, int __group)
     __attribute__ ((__nothrow__ ));
extern long double __strtold_internal (__const char *__restrict __nptr,
                                       char **__restrict __endptr,
                                       int __group) __attribute__ ((__nothrow__ 
));

extern long int __strtol_internal (__const char *__restrict __nptr,
                                   char **__restrict __endptr,
                                   int __base, int __group) __attribute__ 
((__nothrow__ ));


--
extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
                                             char **__restrict __endptr,
                                             int __base, int __group) 
__attribute__ ((__nothrow__ ));


--
extern long long int __strtoll_internal (__const char *__restrict __nptr,
                                         char **__restrict __endptr,
                                         int __base, int __group) __attribute__ 
((__nothrow__ ));


--
                                                   char **__restrict __endptr,
                                                   int __base, int __group)
     __attribute__ ((__nothrow__ ));


--

extern __inline double
strtod (__const char *__restrict __nptr, char **__restrict __endptr) 
__attribute__ ((__nothrow__ ))
{
  return __strtod_internal (__nptr, __endptr, 0);
--
extern __inline long int
strtol (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base) __attribute__ ((__nothrow__ ))
{
  return __strtol_internal (__nptr, __endptr, __base, 0);
--
extern __inline unsigned long int
strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base) __attribute__ ((__nothrow__ ))
{
  return __strtoul_internal (__nptr, __endptr, __base, 0);
--

extern __inline float
strtof (__const char *__restrict __nptr, char **__restrict __endptr) 
__attribute__ ((__nothrow__ ))
{
  return __strtof_internal (__nptr, __endptr, 0);
}
extern __inline long double
strtold (__const char *__restrict __nptr, char **__restrict __endptr) 
__attribute__ ((__nothrow__ ))
{
  return __strtold_internal (__nptr, __endptr, 0);
--
__extension__ extern __inline long long int
strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base) __attribute__ ((__nothrow__ ))
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
--
__extension__ extern __inline unsigned long long int
strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base) __attribute__ ((__nothrow__ ))
{
  return __strtoull_internal (__nptr, __endptr, __base, 0);
--
__extension__ extern __inline long long int
strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base) __attribute__ ((__nothrow__ ))
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
--
__extension__ extern __inline unsigned long long int
strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
          int __base) __attribute__ ((__nothrow__ ))
{
  return __strtoull_internal (__nptr, __endptr, __base, 0);
--

extern __inline double
atof (__const char *__nptr) __attribute__ ((__nothrow__ ))
{
  return strtod (__nptr, (char **) ((void *)0));
}
extern __inline int
atoi (__const char *__nptr) __attribute__ ((__nothrow__ ))
{
  return (int) strtol (__nptr, (char **) ((void *)0), 10);
}
extern __inline long int
atol (__const char *__nptr) __attribute__ ((__nothrow__ ))
{
  return strtol (__nptr, (char **) ((void *)0), 10);
--

__extension__ extern __inline long long int
atoll (__const char *__nptr) __attribute__ ((__nothrow__ ))
{
  return strtoll (__nptr, (char **) ((void *)0), 10);
--

# 408 "/usr/include/stdlib.h" 3 4
extern char *l64a (long int __n) __attribute__ ((__nothrow__ ));


extern long int a64l (__const char *__s) __attribute__ ((__nothrow__ )) 
__attribute__ ((__pure__));


--


extern long int random (void) __attribute__ ((__nothrow__ ));


extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ ));


--

extern char *initstate (unsigned int __seed, char *__statebuf,
                        size_t __statelen) __attribute__ ((__nothrow__ ));



extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ ));


--

extern int random_r (struct random_data *__restrict __buf,
                     int32_t *__restrict __result) __attribute__ ((__nothrow__ 
));

extern int srandom_r (unsigned int __seed, struct random_data *__buf) 
__attribute__ ((__nothrow__ ));

extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
                        size_t __statelen,
                        struct random_data *__restrict __buf) __attribute__ 
((__nothrow__ ));

extern int setstate_r (char *__restrict __statebuf,
                       struct random_data *__restrict __buf) __attribute__ 
((__nothrow__ ));


--


extern int rand (void) __attribute__ ((__nothrow__ ));

extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ ));




extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ ));


--


extern double drand48 (void) __attribute__ ((__nothrow__ ));
extern double erand48 (unsigned short int __xsubi[3]) __attribute__ 
((__nothrow__ ));


extern long int lrand48 (void) __attribute__ ((__nothrow__ ));
extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ 
((__nothrow__ ));


extern long int mrand48 (void) __attribute__ ((__nothrow__ ));
extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ 
((__nothrow__ ));


extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ ));
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) 
__attribute__ ((__nothrow__ ));
extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ 
));


--

extern int drand48_r (struct drand48_data *__restrict __buffer,
                      double *__restrict __result) __attribute__ ((__nothrow__ 
));
extern int erand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      double *__restrict __result) __attribute__ ((__nothrow__ 
));


extern int lrand48_r (struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) __attribute__ 
((__nothrow__ ));
extern int nrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) __attribute__ 
((__nothrow__ ));


extern int mrand48_r (struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) __attribute__ 
((__nothrow__ ));
extern int jrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) __attribute__ 
((__nothrow__ ));


extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
     __attribute__ ((__nothrow__ ));

extern int seed48_r (unsigned short int __seed16v[3],
                     struct drand48_data *__buffer) __attribute__ ((__nothrow__ 
));

extern int lcong48_r (unsigned short int __param[7],
                      struct drand48_data *__buffer) __attribute__ 
((__nothrow__ ));


--


extern void *malloc (size_t __size) __attribute__ ((__nothrow__ )) 
__attribute__ ((__malloc__));

extern void *calloc (size_t __nmemb, size_t __size)
     __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__));


--


extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__ 
)) __attribute__ ((__malloc__));

extern void free (void *__ptr) __attribute__ ((__nothrow__ ));




extern void cfree (void *__ptr) __attribute__ ((__nothrow__ ));


--


extern void *valloc (size_t __size) __attribute__ ((__nothrow__ )) 
__attribute__ ((__malloc__));


--

extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
     __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__));




extern void abort (void) __attribute__ ((__nothrow__ )) __attribute__ 
((__noreturn__));



extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ ));


--

extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
     __attribute__ ((__nothrow__ ));


--


extern void exit (int __status) __attribute__ ((__nothrow__ )) __attribute__ 
((__noreturn__));


--


extern void _Exit (int __status) __attribute__ ((__nothrow__ )) __attribute__ 
((__noreturn__));


--


extern char *getenv (__const char *__name) __attribute__ ((__nothrow__ ));




extern char *__secure_getenv (__const char *__name) __attribute__ ((__nothrow__ 
));


--


extern int putenv (char *__string) __attribute__ ((__nothrow__ ));


--

extern int setenv (__const char *__name, __const char *__value, int __replace)
     __attribute__ ((__nothrow__ ));


extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__ ));


--


extern int clearenv (void) __attribute__ ((__nothrow__ ));
# 663 "/usr/include/stdlib.h" 3 4
extern char *mktemp (char *__template) __attribute__ ((__nothrow__ ));
# 677 "/usr/include/stdlib.h" 3 4
extern int mkstemp (char *__template) __asm__ ("" "mkstemp64");
--
extern int mkstemp64 (char *__template);
# 693 "/usr/include/stdlib.h" 3 4
extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ ));


--


extern char *canonicalize_file_name (__const char *__name) __attribute__ 
((__nothrow__ ));
# 720 "/usr/include/stdlib.h" 3 4
extern char *realpath (__const char *__restrict __name,
                       char *__restrict __resolved) __attribute__ ((__nothrow__ 
));


--


extern int abs (int __x) __attribute__ ((__nothrow__ )) __attribute__ 
((__const__));
extern long int labs (long int __x) __attribute__ ((__nothrow__ )) 
__attribute__ ((__const__));



__extension__ extern long long int llabs (long long int __x)
     __attribute__ ((__nothrow__ )) __attribute__ ((__const__));


--

extern div_t div (int __numer, int __denom)
     __attribute__ ((__nothrow__ )) __attribute__ ((__const__));
extern ldiv_t ldiv (long int __numer, long int __denom)
     __attribute__ ((__nothrow__ )) __attribute__ ((__const__));


--
__extension__ extern lldiv_t lldiv (long long int __numer,
                                    long long int __denom)
     __attribute__ ((__nothrow__ )) __attribute__ ((__const__));

# 784 "/usr/include/stdlib.h" 3 4
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign) __attribute__ ((__nothrow__ ));


--

extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign) __attribute__ ((__nothrow__ ));




extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ 
((__nothrow__ ));


--

extern char *qecvt (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign) 
__attribute__ ((__nothrow__ ));
extern char *qfcvt (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign) 
__attribute__ ((__nothrow__ ));
extern char *qgcvt (long double __value, int __ndigit, char *__buf) 
__attribute__ ((__nothrow__ ));


--
extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign, char *__restrict __buf,
                   size_t __len) __attribute__ ((__nothrow__ ));
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign, char *__restrict __buf,
                   size_t __len) __attribute__ ((__nothrow__ ));

extern int qecvt_r (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign,
                    char *__restrict __buf, size_t __len) __attribute__ 
((__nothrow__ ));
extern int qfcvt_r (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign,
                    char *__restrict __buf, size_t __len) __attribute__ 
((__nothrow__ ));


--


extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__ ));


extern int mbtowc (wchar_t *__restrict __pwc,
                   __const char *__restrict __s, size_t __n) __attribute__ 
((__nothrow__ ));


extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ ));



extern size_t mbstowcs (wchar_t *__restrict __pwcs,
                        __const char *__restrict __s, size_t __n) __attribute__ 
((__nothrow__ ));

extern size_t wcstombs (char *__restrict __s,
                        __const wchar_t *__restrict __pwcs, size_t __n)
     __attribute__ ((__nothrow__ ));


--


extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__ ));
# 866 "/usr/include/stdlib.h" 3 4
extern int getsubopt (char **__restrict __optionp,
                      char *__const *__restrict __tokens,
                      char **__restrict __valuep) __attribute__ ((__nothrow__ 
));


--


extern void setkey (__const char *__key) __attribute__ ((__nothrow__ ));


--


extern int grantpt (int __fd) __attribute__ ((__nothrow__ ));



extern int unlockpt (int __fd) __attribute__ ((__nothrow__ ));




extern char *ptsname (int __fd) __attribute__ ((__nothrow__ ));


--


extern int ptsname_r (int __fd, char *__buf, size_t __buflen) __attribute__ 
((__nothrow__ ));


--


extern int getloadavg (double __loadavg[], int __nelem) __attribute__ 
((__nothrow__ ));


--

extern void *memcpy (void *__restrict __dest,
                     __const void *__restrict __src, size_t __n) __attribute__ 
((__nothrow__ ));


extern void *memmove (void *__dest, __const void *__src, size_t __n)
     __attribute__ ((__nothrow__ ));


--
extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
                      int __c, size_t __n)
     __attribute__ ((__nothrow__ ));


--


extern void *memset (void *__s, int __c, size_t __n) __attribute__ 
((__nothrow__ ));


extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


extern void *memchr (__const void *__s, int __c, size_t __n)
      __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


--


extern void *rawmemchr (__const void *__s, int __c) __attribute__ ((__nothrow__ 
)) __attribute__ ((__pure__));


extern void *memrchr (__const void *__s, int __c, size_t __n)
      __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


--

extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__ ));

extern char *strncpy (char *__restrict __dest,
                      __const char *__restrict __src, size_t __n) __attribute__ 
((__nothrow__ ));


extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__ ));

extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
                      size_t __n) __attribute__ ((__nothrow__ ));


extern int strcmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));

extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


extern int strcoll (__const char *__s1, __const char *__s2)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));

extern size_t strxfrm (char *__restrict __dest,
                       __const char *__restrict __src, size_t __n) 
__attribute__ ((__nothrow__ ));

# 117 "/usr/include/string.h" 3 4
extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));

extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
                         __locale_t __l) __attribute__ ((__nothrow__ ));




extern char *strdup (__const char *__s) __attribute__ ((__nothrow__ )) 
__attribute__ ((__malloc__));


--

extern char *strndup (__const char *__string, size_t __n)
     __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__));
# 160 "/usr/include/string.h" 3 4


extern char *strchr (__const char *__s, int __c) __attribute__ ((__nothrow__ )) 
__attribute__ ((__pure__));

extern char *strrchr (__const char *__s, int __c) __attribute__ ((__nothrow__ 
)) __attribute__ ((__pure__));


--


extern char *strchrnul (__const char *__s, int __c) __attribute__ ((__nothrow__ 
)) __attribute__ ((__pure__));


--

extern size_t strcspn (__const char *__s, __const char *__reject)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


extern size_t strspn (__const char *__s, __const char *__accept)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));

extern char *strpbrk (__const char *__s, __const char *__accept)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));

extern char *strstr (__const char *__haystack, __const char *__needle)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));



extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
     __attribute__ ((__nothrow__ ));


--
extern char *__strtok_r (char *__restrict __s,
                         __const char *__restrict __delim,
                         char **__restrict __save_ptr) __attribute__ 
((__nothrow__ ));

extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
                       char **__restrict __save_ptr) __attribute__ 
((__nothrow__ ));


--

extern char *strcasestr (__const char *__haystack, __const char *__needle)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


--
extern void *memmem (__const void *__haystack, size_t __haystacklen,
                     __const void *__needle, size_t __needlelen)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));



extern void *__mempcpy (void *__restrict __dest,
                        __const void *__restrict __src, size_t __n) 
__attribute__ ((__nothrow__ ));
extern void *mempcpy (void *__restrict __dest,
                      __const void *__restrict __src, size_t __n) __attribute__ 
((__nothrow__ ));


--


extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__ )) 
__attribute__ ((__pure__));


--

extern size_t strnlen (__const char *__string, size_t __maxlen)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


--


extern char *strerror (int __errnum) __attribute__ ((__nothrow__ ));




extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) 
__attribute__ ((__nothrow__ ));




extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ ));



extern void bcopy (__const void *__src, void *__dest, size_t __n) __attribute__ 
((__nothrow__ ));


extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ ));


extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


extern char *index (__const char *__s, int __c) __attribute__ ((__nothrow__ )) 
__attribute__ ((__pure__));


extern char *rindex (__const char *__s, int __c) __attribute__ ((__nothrow__ )) 
__attribute__ ((__pure__));



extern int ffs (int __i) __attribute__ ((__nothrow__ )) __attribute__ 
((__const__));




extern int ffsl (long int __l) __attribute__ ((__nothrow__ )) __attribute__ 
((__const__));

__extension__ extern int ffsll (long long int __ll)
     __attribute__ ((__nothrow__ )) __attribute__ ((__const__));


--

extern int strcasecmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


--

extern int strcasecmp_l (__const char *__s1, __const char *__s2,
                         __locale_t __loc) __attribute__ ((__nothrow__ )) 
__attribute__ ((__pure__));

extern int strncasecmp_l (__const char *__s1, __const char *__s2,
                          size_t __n, __locale_t __loc)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


--

extern char *strsep (char **__restrict __stringp,
                     __const char *__restrict __delim) __attribute__ 
((__nothrow__ ));


--

extern int strverscmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


extern char *strsignal (int __sig) __attribute__ ((__nothrow__ ));


extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__ ));
extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
     __attribute__ ((__nothrow__ ));



extern char *__stpncpy (char *__restrict __dest,
                        __const char *__restrict __src, size_t __n) 
__attribute__ ((__nothrow__ ));
extern char *stpncpy (char *__restrict __dest,
                      __const char *__restrict __src, size_t __n) __attribute__ 
((__nothrow__ ));


extern char *strfry (char *__string) __attribute__ ((__nothrow__ ));


extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__ ));


--


extern char *basename (__const char *__filename) __attribute__ ((__nothrow__ ));
# 372 "/usr/include/string.h" 3 4
# 1 "/usr/include/bits/string.h" 1 3 4
--


extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__ )) 
__attribute__ ((__malloc__));
# 1235 "/usr/include/bits/string2.h" 3 4
extern char *__strndup (__const char *__string, size_t __n)
     __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__));
# 376 "/usr/include/string.h" 2 3 4

--

extern char *catgets (nl_catd __catalog, int __set, int __number,
                      __const char *__string) __attribute__ ((__nothrow__ ));


extern int catclose (nl_catd __catalog) __attribute__ ((__nothrow__ ));


--
};
# 575 "/usr/include/langinfo.h" 3 4
extern char *nl_langinfo (nl_item __item) __attribute__ ((__nothrow__ ));
# 586 "/usr/include/langinfo.h" 3 4
extern char *nl_langinfo_l (nl_item __item, __locale_t l);
--


extern char *setlocale (int __category, __const char *__locale) __attribute__ 
((__nothrow__ ));


extern struct lconv *localeconv (void) __attribute__ ((__nothrow__ ));


--

extern __locale_t newlocale (int __category_mask, __const char *__locale,
                             __locale_t __base) __attribute__ ((__nothrow__ ));
# 189 "/usr/include/locale.h" 3 4
extern __locale_t duplocale (__locale_t __dataset) __attribute__ ((__nothrow__ 
));



extern void freelocale (__locale_t __dataset) __attribute__ ((__nothrow__ ));


--


extern __locale_t uselocale (__locale_t __dataset) __attribute__ ((__nothrow__ 
));


--

extern wchar_t *wcscpy (wchar_t *__restrict __dest,
                        __const wchar_t *__restrict __src) __attribute__ 
((__nothrow__ ));

extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
                         __const wchar_t *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__ ));


extern wchar_t *wcscat (wchar_t *__restrict __dest,
                        __const wchar_t *__restrict __src) __attribute__ 
((__nothrow__ ));

extern wchar_t *wcsncat (wchar_t *__restrict __dest,
                         __const wchar_t *__restrict __src, size_t __n)
     __attribute__ ((__nothrow__ ));


extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));

extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));




extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) 
__attribute__ ((__nothrow__ ));


extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
                        size_t __n) __attribute__ ((__nothrow__ ));


--

extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
                         __locale_t __loc) __attribute__ ((__nothrow__ ));

extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
                          size_t __n, __locale_t __loc) __attribute__ 
((__nothrow__ ));


--


extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) __attribute__ 
((__nothrow__ ));



extern size_t wcsxfrm (wchar_t *__restrict __s1,
                       __const wchar_t *__restrict __s2, size_t __n) 
__attribute__ ((__nothrow__ ));


--

extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
                      __locale_t __loc) __attribute__ ((__nothrow__ ));


--

extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
                         size_t __n, __locale_t __loc) __attribute__ 
((__nothrow__ ));


extern wchar_t *wcsdup (__const wchar_t *__s) __attribute__ ((__nothrow__ )) 
__attribute__ ((__malloc__));


--

extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));

extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


--

extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


--

extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));

extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));

extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


extern wchar_t *wcstok (wchar_t *__restrict __s,
                        __const wchar_t *__restrict __delim,
                        wchar_t **__restrict __ptr) __attribute__ ((__nothrow__ 
));


extern size_t wcslen (__const wchar_t *__s) __attribute__ ((__nothrow__ )) 
__attribute__ ((__pure__));


--

extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


--

extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


--

extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


extern int wmemcmp (__const wchar_t *__restrict __s1,
                    __const wchar_t *__restrict __s2, size_t __n)
     __attribute__ ((__nothrow__ )) __attribute__ ((__pure__));


extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
                         __const wchar_t *__restrict __s2, size_t __n) 
__attribute__ ((__nothrow__ ));



extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n)
     __attribute__ ((__nothrow__ ));


extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) __attribute__ 
((__nothrow__ ));


--
extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
                          __const wchar_t *__restrict __s2, size_t __n)
     __attribute__ ((__nothrow__ ));


--


extern wint_t btowc (int __c) __attribute__ ((__nothrow__ ));



extern int wctob (wint_t __c) __attribute__ ((__nothrow__ ));



extern int mbsinit (__const mbstate_t *__ps) __attribute__ ((__nothrow__ )) 
__attribute__ ((__pure__));


--
extern size_t mbrtowc (wchar_t *__restrict __pwc,
                       __const char *__restrict __s, size_t __n,
                       mbstate_t *__p) __attribute__ ((__nothrow__ ));


extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
                       mbstate_t *__restrict __ps) __attribute__ ((__nothrow__ 
));


extern size_t __mbrlen (__const char *__restrict __s, size_t __n,
                        mbstate_t *__restrict __ps) __attribute__ ((__nothrow__ 
));
extern size_t mbrlen (__const char *__restrict __s, size_t __n,
                      mbstate_t *__restrict __ps) __attribute__ ((__nothrow__ 
));


--

extern __inline size_t mbrlen (__const char *__restrict __s, size_t __n,
                               mbstate_t *__restrict __ps) __attribute__ 
((__nothrow__ ))
{ return (__ps != ((void *)0)
          ? mbrtowc (((void *)0), __s, __n, __ps) : __mbrlen (__s, __n, ((void 
*)0))); }
--
extern size_t mbsrtowcs (wchar_t *__restrict __dst,
                         __const char **__restrict __src, size_t __len,
                         mbstate_t *__restrict __ps) __attribute__ 
((__nothrow__ ));


--
extern size_t wcsrtombs (char *__restrict __dst,
                         __const wchar_t **__restrict __src, size_t __len,
                         mbstate_t *__restrict __ps) __attribute__ 
((__nothrow__ ));


--
extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
                          __const char **__restrict __src, size_t __nmc,
                          size_t __len, mbstate_t *__restrict __ps) 
__attribute__ ((__nothrow__ ));


--
                          __const wchar_t **__restrict __src,
                          size_t __nwc, size_t __len,
                          mbstate_t *__restrict __ps) __attribute__ 
((__nothrow__ ));


--


extern int wcwidth (wchar_t __c) __attribute__ ((__nothrow__ ));



extern int wcswidth (__const wchar_t *__s, size_t __n) __attribute__ 
((__nothrow__ ));


--

extern double wcstod (__const wchar_t *__restrict __nptr,
                      wchar_t **__restrict __endptr) __attribute__ 
((__nothrow__ ));



extern float wcstof (__const wchar_t *__restrict __nptr,
                     wchar_t **__restrict __endptr) __attribute__ ((__nothrow__ 
));
extern long double wcstold (__const wchar_t *__restrict __nptr,
                            wchar_t **__restrict __endptr) __attribute__ 
((__nothrow__ ));


--

extern long int wcstol (__const wchar_t *__restrict __nptr,
                        wchar_t **__restrict __endptr, int __base) 
__attribute__ ((__nothrow__ ));


--
extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
                                  wchar_t **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ ));


--
extern long long int wcstoll (__const wchar_t *__restrict __nptr,
                              wchar_t **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ ));


--
extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr,
                                        wchar_t **__restrict __endptr,
                                        int __base) __attribute__ ((__nothrow__ 
));


--
extern long long int wcstoq (__const wchar_t *__restrict __nptr,
                             wchar_t **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ ));


--
extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr,
                                       wchar_t **__restrict __endptr,
                                       int __base) __attribute__ ((__nothrow__ 
));
# 448 "/usr/include/wchar.h" 3 4
extern long int wcstol_l (__const wchar_t *__restrict __nptr,
                          wchar_t **__restrict __endptr, int __base,
                          __locale_t __loc) __attribute__ ((__nothrow__ ));

extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr,
                                    wchar_t **__restrict __endptr,
                                    int __base, __locale_t __loc) __attribute__ 
((__nothrow__ ));

__extension__
extern long long int wcstoll_l (__const wchar_t *__restrict __nptr,
                                wchar_t **__restrict __endptr,
                                int __base, __locale_t __loc) __attribute__ 
((__nothrow__ ));

__extension__
--
                                          wchar_t **__restrict __endptr,
                                          int __base, __locale_t __loc)
     __attribute__ ((__nothrow__ ));

extern double wcstod_l (__const wchar_t *__restrict __nptr,
                        wchar_t **__restrict __endptr, __locale_t __loc)
     __attribute__ ((__nothrow__ ));

extern float wcstof_l (__const wchar_t *__restrict __nptr,
                       wchar_t **__restrict __endptr, __locale_t __loc)
     __attribute__ ((__nothrow__ ));

extern long double wcstold_l (__const wchar_t *__restrict __nptr,
                              wchar_t **__restrict __endptr,
                              __locale_t __loc) __attribute__ ((__nothrow__ ));


--
extern double __wcstod_internal (__const wchar_t *__restrict __nptr,
                                 wchar_t **__restrict __endptr, int __group)
     __attribute__ ((__nothrow__ ));
extern float __wcstof_internal (__const wchar_t *__restrict __nptr,
                                wchar_t **__restrict __endptr, int __group)
     __attribute__ ((__nothrow__ ));
extern long double __wcstold_internal (__const wchar_t *__restrict __nptr,
                                       wchar_t **__restrict __endptr,
                                       int __group) __attribute__ ((__nothrow__ 
));


extern long int __wcstol_internal (__const wchar_t *__restrict __nptr,
                                   wchar_t **__restrict __endptr,
                                   int __base, int __group) __attribute__ 
((__nothrow__ ));


--
extern unsigned long int __wcstoul_internal (__const wchar_t *__restrict __npt,
                                             wchar_t **__restrict __endptr,
                                             int __base, int __group) 
__attribute__ ((__nothrow__ ));


--
extern long long int __wcstoll_internal (__const wchar_t *__restrict __nptr,
                                         wchar_t **__restrict __endptr,
                                         int __base, int __group) __attribute__ 
((__nothrow__ ));


--
                                                   __restrict __endptr,
                                                   int __base,
                                                   int __group) __attribute__ 
((__nothrow__ ));


--

extern __inline double wcstod (__const wchar_t *__restrict __nptr,
                               wchar_t **__restrict __endptr) __attribute__ 
((__nothrow__ ))
{ return __wcstod_internal (__nptr, __endptr, 0); }
extern __inline long int wcstol (__const wchar_t *__restrict __nptr,
                                 wchar_t **__restrict __endptr,
                                 int __base) __attribute__ ((__nothrow__ ))
{ return __wcstol_internal (__nptr, __endptr, __base, 0); }
extern __inline unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
                                           wchar_t **__restrict __endptr,
                                           int __base) __attribute__ 
((__nothrow__ ))
{ return __wcstoul_internal (__nptr, __endptr, __base, 0); }

--

extern __inline float wcstof (__const wchar_t *__restrict __nptr,
                              wchar_t **__restrict __endptr) __attribute__ 
((__nothrow__ ))
{ return __wcstof_internal (__nptr, __endptr, 0); }
extern __inline long double wcstold (__const wchar_t *__restrict __nptr,
                                     wchar_t **__restrict __endptr) 
__attribute__ ((__nothrow__ ))
{ return __wcstold_internal (__nptr, __endptr, 0); }

--
extern __inline long long int wcstoq (__const wchar_t *__restrict __nptr,
                                      wchar_t **__restrict __endptr,
                                      int __base) __attribute__ ((__nothrow__ ))
{ return __wcstoll_internal (__nptr, __endptr, __base, 0); }
__extension__
--
                                                __restrict __nptr,
                                                wchar_t **__restrict __endptr,
                                                int __base) __attribute__ 
((__nothrow__ ))
{ return __wcstoull_internal (__nptr, __endptr, __base, 0); }

--


extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) __attribute__ 
((__nothrow__ ));



extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
     __attribute__ ((__nothrow__ ));


--


extern int fwide (__FILE *__fp, int __mode) __attribute__ ((__nothrow__ ));


--
extern int swprintf (wchar_t *__restrict __s, size_t __n,
                     __const wchar_t *__restrict __format, ...)
     __attribute__ ((__nothrow__ )) ;


--
                      __const wchar_t *__restrict __format,
                      __gnuc_va_list __arg)
     __attribute__ ((__nothrow__ )) ;


--
extern int swscanf (__const wchar_t *__restrict __s,
                    __const wchar_t *__restrict __format, ...)
     __attribute__ ((__nothrow__ )) ;


--
                     __const wchar_t *__restrict __format,
                     __gnuc_va_list __arg)
     __attribute__ ((__nothrow__ )) ;


--
extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
                        __const wchar_t *__restrict __format,
                        __const struct tm *__restrict __tp) __attribute__ 
((__nothrow__ ));


--
                          __const wchar_t *__restrict __format,
                          __const struct tm *__restrict __tp,
                          __locale_t __loc) __attribute__ ((__nothrow__ ));
# 817 "/usr/include/wchar.h" 3 4

--


extern clock_t clock (void) __attribute__ ((__nothrow__ ));


extern time_t time (time_t *__timer) __attribute__ ((__nothrow__ ));


extern double difftime (time_t __time1, time_t __time0)
     __attribute__ ((__nothrow__ )) __attribute__ ((__const__));


extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__ ));


--
extern size_t strftime (char *__restrict __s, size_t __maxsize,
                        __const char *__restrict __format,
                        __const struct tm *__restrict __tp) __attribute__ 
((__nothrow__ ));


--
extern char *strptime (__const char *__restrict __s,
                       __const char *__restrict __fmt, struct tm *__tp)
     __attribute__ ((__nothrow__ ));


--
                          __const char *__restrict __format,
                          __const struct tm *__restrict __tp,
                          __locale_t __loc) __attribute__ ((__nothrow__ ));

extern char *strptime_l (__const char *__restrict __s,
                         __const char *__restrict __fmt, struct tm *__tp,
                         __locale_t __loc) __attribute__ ((__nothrow__ ));


--


extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__ 
));



extern struct tm *localtime (__const time_t *__timer) __attribute__ 
((__nothrow__ ));


--

extern struct tm *gmtime_r (__const time_t *__restrict __timer,
                            struct tm *__restrict __tp) __attribute__ 
((__nothrow__ ));



extern struct tm *localtime_r (__const time_t *__restrict __timer,
                               struct tm *__restrict __tp) __attribute__ 
((__nothrow__ ));


--


extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__ ));


extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__ ));


--

extern char *asctime_r (__const struct tm *__restrict __tp,
                        char *__restrict __buf) __attribute__ ((__nothrow__ ));


extern char *ctime_r (__const time_t *__restrict __timer,
                      char *__restrict __buf) __attribute__ ((__nothrow__ ));


--


extern void tzset (void) __attribute__ ((__nothrow__ ));


--


extern int stime (__const time_t *__when) __attribute__ ((__nothrow__ ));
# 309 "/usr/include/time.h" 3 4
extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__ ));


extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__ ));


extern int dysize (int __year) __attribute__ ((__nothrow__ )) __attribute__ 
((__const__));
# 324 "/usr/include/time.h" 3 4
extern int nanosleep (__const struct timespec *__requested_time,
--


extern int clock_getres (clockid_t __clock_id, struct timespec *__res) 
__attribute__ ((__nothrow__ ));


extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) 
__attribute__ ((__nothrow__ ));


extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
     __attribute__ ((__nothrow__ ));


--


extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) 
__attribute__ ((__nothrow__ ));


--
extern int timer_create (clockid_t __clock_id,
                         struct sigevent *__restrict __evp,
                         timer_t *__restrict __timerid) __attribute__ 
((__nothrow__ ));


extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__ ));


extern int timer_settime (timer_t __timerid, int __flags,
                          __const struct itimerspec *__restrict __value,
                          struct itimerspec *__restrict __ovalue) __attribute__ 
((__nothrow__ ));


extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
     __attribute__ ((__nothrow__ ));


extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__ ));
# 386 "/usr/include/time.h" 3 4
extern int getdate_err;
--


extern int iswalnum (wint_t __wc) __attribute__ ((__nothrow__ ));


--


extern int iswalpha (wint_t __wc) __attribute__ ((__nothrow__ ));


extern int iswcntrl (wint_t __wc) __attribute__ ((__nothrow__ ));



extern int iswdigit (wint_t __wc) __attribute__ ((__nothrow__ ));



extern int iswgraph (wint_t __wc) __attribute__ ((__nothrow__ ));




extern int iswlower (wint_t __wc) __attribute__ ((__nothrow__ ));


extern int iswprint (wint_t __wc) __attribute__ ((__nothrow__ ));




extern int iswpunct (wint_t __wc) __attribute__ ((__nothrow__ ));




extern int iswspace (wint_t __wc) __attribute__ ((__nothrow__ ));




extern int iswupper (wint_t __wc) __attribute__ ((__nothrow__ ));




extern int iswxdigit (wint_t __wc) __attribute__ ((__nothrow__ ));


--


extern int iswblank (wint_t __wc) __attribute__ ((__nothrow__ ));
# 186 "/usr/include/wctype.h" 3 4
extern wctype_t wctype (__const char *__property) __attribute__ ((__nothrow__ 
));



extern int iswctype (wint_t __wc, wctype_t __desc) __attribute__ ((__nothrow__ 
));


--


extern wint_t towlower (wint_t __wc) __attribute__ ((__nothrow__ ));


extern wint_t towupper (wint_t __wc) __attribute__ ((__nothrow__ ));


--


extern wctrans_t wctrans (__const char *__property) __attribute__ ((__nothrow__ 
));


extern wint_t towctrans (wint_t __wc, wctrans_t __desc) __attribute__ 
((__nothrow__ ));


--


extern int iswalnum_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));


--


extern int iswalpha_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));


extern int iswcntrl_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));



extern int iswdigit_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));



extern int iswgraph_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));




extern int iswlower_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));


extern int iswprint_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));




extern int iswpunct_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));




extern int iswspace_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));




extern int iswupper_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));




extern int iswxdigit_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));




extern int iswblank_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));



extern wctype_t wctype_l (__const char *__property, __locale_t __locale)
     __attribute__ ((__nothrow__ ));



extern int iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
     __attribute__ ((__nothrow__ ));


--


extern wint_t towlower_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));


extern wint_t towupper_l (wint_t __wc, __locale_t __locale) __attribute__ 
((__nothrow__ ));



extern wctrans_t wctrans_l (__const char *__property, __locale_t __locale)
     __attribute__ ((__nothrow__ ));


extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
                           __locale_t __locale) __attribute__ ((__nothrow__ ));


--


extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ )) 
__attribute__ ((__const__));


extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
      __attribute__ ((__nothrow__ )) __attribute__ ((__const__));


extern intmax_t strtoimax (__const char *__restrict __nptr,
                           char **__restrict __endptr, int __base) 
__attribute__ ((__nothrow__ ));


extern uintmax_t strtoumax (__const char *__restrict __nptr,
                            char ** __restrict __endptr, int __base) 
__attribute__ ((__nothrow__ ));


extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr,
                           __gwchar_t **__restrict __endptr, int __base)
     __attribute__ ((__nothrow__ ));


extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr,
                            __gwchar_t ** __restrict __endptr, int __base)
     __attribute__ ((__nothrow__ ));
# 396 "/usr/include/inttypes.h" 3 4
extern __inline intmax_t
strtoimax (__const char *__restrict nptr, char **__restrict endptr,
           int base) __attribute__ ((__nothrow__ ))
{
  return __strtoll_internal (nptr, endptr, base, 0);
--
extern __inline uintmax_t
strtoumax (__const char *__restrict nptr, char **__restrict endptr,
           int base) __attribute__ ((__nothrow__ ))
{
  return __strtoull_internal (nptr, endptr, base, 0);
--
extern __inline intmax_t
wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr,
           int base) __attribute__ ((__nothrow__ ))
{
  return __wcstoll_internal (nptr, endptr, base, 0);
--
extern __inline uintmax_t
wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr,
           int base) __attribute__ ((__nothrow__ ))
{
  return __wcstoull_internal (nptr, endptr, base, 0);
--


extern char *gettext (__const char *__msgid) __attribute__ ((__nothrow__ ));



extern char *dgettext (__const char *__domainname, __const char *__msgid)
     __attribute__ ((__nothrow__ ));
extern char *__dgettext (__const char *__domainname, __const char *__msgid)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format_arg__ (2)));



extern char *dcgettext (__const char *__domainname,
                        __const char *__msgid, int __category) __attribute__ 
((__nothrow__ ));
extern char *__dcgettext (__const char *__domainname,
                          __const char *__msgid, int __category)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format_arg__ (2)));


--
extern char *ngettext (__const char *__msgid1, __const char *__msgid2,
                       unsigned long int __n)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format_arg__ (1))) 
__attribute__ ((__format_arg__ (2)));


--
extern char *dngettext (__const char *__domainname, __const char *__msgid1,
                        __const char *__msgid2, unsigned long int __n)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format_arg__ (2))) 
__attribute__ ((__format_arg__ (3)));


--
                         __const char *__msgid2, unsigned long int __n,
                         int __category)
     __attribute__ ((__nothrow__ )) __attribute__ ((__format_arg__ (2))) 
__attribute__ ((__format_arg__ (3)));


--


extern char *textdomain (__const char *__domainname) __attribute__ 
((__nothrow__ ));



extern char *bindtextdomain (__const char *__domainname,
                             __const char *__dirname) __attribute__ 
((__nothrow__ ));



extern char *bind_textdomain_codeset (__const char *__domainname,
                                      __const char *__codeset) __attribute__ 
((__nothrow__ ));


Reply via email to