Prathima G | 2 Apr 16:19 2009

Reg M4


Hi ,


While doing a ./configure for bison I receive the error:

checking for gm4... no
checking for gnum4... no
checking for m4... /bin/m4
checking whether m4 supports frozen files... no
configure: error: GNU M4 1.4 is required

How to fix it?

I'm running this on HP-UX 11.0 box and have just installed GNU m4 1.4.6



\\BR
Prathima=====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you
Elbert_Pol | 2 Apr 22:41 2009
Picon

m4 1.4.1.3

Hello,

Did a try to port to Os2

Used gcc 4.3.3

But with make i get :
make.exe[4]: Entering directory `U:/m4-1.4.13/lib'
  CC  gl_avltree_oset.o
  CC  c-ctype.o
  CC  c-stack.o
  CC  clean-temp.o
  CC  execute.o
In file included from ./spawn.h:33,
                 from execute.c:47:
./sched.h:35: error: redefinition of 'struct sched_param'
make.exe[4]: *** [execute.o] Error 1
make.exe[4]: Leaving directory `U:/m4-1.4.13/lib'
make.exe[3]: *** [all-recursive] Error 1
make.exe[3]: Leaving directory `U:/m4-1.4.13/lib'
make.exe[2]: *** [all] Error 2
make.exe[2]: Leaving directory `U:/m4-1.4.13/lib'
make.exe[1]: *** [all-recursive] Error 1
make.exe[1]: Leaving directory `U:/m4-1.4.13'
make.exe: *** [all] Error 2

Any Idea :)

--

-- 
  With the best regards,

                              Elbert Pol

--------------------------------------------------
***  Take a look at www.romeepol.nl  ***
--------------------------------------------------

Eric Blake | 3 Apr 05:24 2009
Picon

Re: m4 1.4.1.3


[adding bug-gnulib]

According to Elbert_Pol on 4/2/2009 2:41 PM:
> Hello,
> 
> Did a try to port to Os2
> 
> Used gcc 4.3.3
> 
> But with make i get :
> make.exe[4]: Entering directory `U:/m4-1.4.13/lib'
>  CC  gl_avltree_oset.o
>  CC  c-ctype.o
>  CC  c-stack.o
>  CC  clean-temp.o
>  CC  execute.o
> In file included from ./spawn.h:33,
>                 from execute.c:47:
> ./sched.h:35: error: redefinition of 'struct sched_param'
> make.exe[4]: *** [execute.o] Error 1
> make.exe[4]: Leaving directory `U:/m4-1.4.13/lib'
> make.exe[3]: *** [all-recursive] Error 1
> make.exe[3]: Leaving directory `U:/m4-1.4.13/lib'
> make.exe[2]: *** [all] Error 2
> make.exe[2]: Leaving directory `U:/m4-1.4.13/lib'
> make.exe[1]: *** [all-recursive] Error 1
> make.exe[1]: Leaving directory `U:/m4-1.4.13'
> make.exe: *** [all] Error 2
> 
> Any Idea :)

Can you please post the preprocessed source of execute.c?  ('cd lib', then
'gcc -E -std=gnu99 -I. execute.c').  Either the split inclusion guard is
not working, or your platform defines sched_param in a non-standard
location which is not detected during the m4 test but is interfering in
the gnulib replacement header.

--
Don't work too hard, make some time for fun as well!

Eric Blake             ebb9 <at> byu.net
Elbert_Pol | 3 Apr 07:19 2009
Picon

Re: m4 1.4.1.3

On  3-04-09 05:24, Eric Blake wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> [adding bug-gnulib]
>
> According to Elbert_Pol on 4/2/2009 2:41 PM:
>> Hello,
>>
>> Did a try to port to Os2
>>
>> Used gcc 4.3.3
>>
>> But with make i get :
>> make.exe[4]: Entering directory `U:/m4-1.4.13/lib'
>>   CC  gl_avltree_oset.o
>>   CC  c-ctype.o
>>   CC  c-stack.o
>>   CC  clean-temp.o
>>   CC  execute.o
>> In file included from ./spawn.h:33,
>>                  from execute.c:47:
>> ./sched.h:35: error: redefinition of 'struct sched_param'
>> make.exe[4]: *** [execute.o] Error 1
>> make.exe[4]: Leaving directory `U:/m4-1.4.13/lib'
>> make.exe[3]: *** [all-recursive] Error 1
>> make.exe[3]: Leaving directory `U:/m4-1.4.13/lib'
>> make.exe[2]: *** [all] Error 2
>> make.exe[2]: Leaving directory `U:/m4-1.4.13/lib'
>> make.exe[1]: *** [all-recursive] Error 1
>> make.exe[1]: Leaving directory `U:/m4-1.4.13'
>> make.exe: *** [all] Error 2
>>
>> Any Idea :)
>
> Can you please post the preprocessed source of execute.c?  ('cd lib', then
> 'gcc -E -std=gnu99 -I. execute.c').  Either the split inclusion guard is
> not working, or your platform defines sched_param in a non-standard
> location which is not detected during the m4 test but is interfering in
> the gnulib replacement header.
>
> - --
> Don't work too hard, make some time for fun as well!
>
> Eric Blake             ebb9 <at> byu.net
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (Cygwin)
> Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEARECAAYFAknVgWgACgkQ84KuGfSFAYCNUACeMbio2K+05+fiLf+/4ak6HxZk
> MUwAoIHXbqjOVirNs3428VlRADdB9vc1
> =Zts2
> -----END PGP SIGNATURE-----
>
Hi Eric,
Thankz for quick response .
Here is output..
# 1 "execute.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "execute.c"
# 19 "execute.c"
# 1 "./config.h" 1
# 20 "execute.c" 2


# 1 "execute.h" 1
# 21 "execute.h"
# 1 "U:/USR/local433/lib/gcc/i386-pc-os2-emx/4.3.3/include/stdbool.h" 1 3
# 22 "execute.h" 2
# 37 "execute.h"
extern int execute (const char *progname,
       const char *prog_path, char **prog_argv,
       _Bool ignore_sigpipe,
       _Bool null_stdin, _Bool null_stdout, _Bool null_stderr,
       _Bool slave_process, _Bool exit_on_error,
       int *termsigp);
# 23 "execute.c" 2

# 1 "./errno.h" 1
# 23 "./errno.h"

# 24 "./errno.h" 3



# 1 "U:/USR/include/errno.h" 1 3
# 9 "U:/USR/include/errno.h" 3
# 1 "U:/USR/include/sys/errno.h" 1 3
# 54 "U:/USR/include/sys/errno.h" 3
# 1 "U:/USR/include/sys/cdefs.h" 1 3
# 531 "U:/USR/include/sys/cdefs.h" 3
# 1 "U:/USR/include/sys/gnu/cdefs.h" 1 3
# 30 "U:/USR/include/sys/gnu/cdefs.h" 3
# 1 "U:/USR/include/features.h" 1 3
# 31 "U:/USR/include/sys/gnu/cdefs.h" 2 3
# 532 "U:/USR/include/sys/cdefs.h" 2 3
# 55 "U:/USR/include/sys/errno.h" 2 3


extern int * _errno(void);

# 10 "U:/USR/include/errno.h" 2 3
# 28 "./errno.h" 2 3
# 25 "execute.c" 2
# 1 "./fcntl.h" 1
# 22 "./fcntl.h"

# 23 "./fcntl.h" 3
# 38 "./fcntl.h" 3
# 1 "U:/USR/include/sys/types.h" 1 3
# 53 "U:/USR/include/sys/types.h" 3
# 1 "U:/USR/include/machine/endian.h" 1 3
# 46 "U:/USR/include/machine/endian.h" 3
# 1 "U:/USR/include/sys/_types.h" 1 3
# 42 "U:/USR/include/sys/_types.h" 3
# 1 "U:/USR/include/machine/_types.h" 1 3
# 51 "U:/USR/include/machine/_types.h" 3
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef short __int16_t;
typedef unsigned short __uint16_t;
typedef int __int32_t;
typedef unsigned int __uint32_t;







typedef int __attribute__((__mode__(__DI__))) __int64_t;
typedef unsigned int __attribute__((__mode__(__DI__))) __uint64_t;
# 77 "U:/USR/include/machine/_types.h" 3
typedef long int __clock_t;



typedef __int32_t __critical_t;
typedef double __double_t;
typedef double __float_t;
typedef __int32_t __intfptr_t;
typedef __int64_t __intmax_t;
typedef __int32_t __intptr_t;
typedef __int32_t __int_fast8_t;
typedef __int32_t __int_fast16_t;
typedef __int32_t __int_fast32_t;
typedef __int64_t __int_fast64_t;
typedef __int8_t __int_least8_t;
typedef __int16_t __int_least16_t;
typedef __int32_t __int_least32_t;
typedef __int64_t __int_least64_t;
typedef __int32_t __ptrdiff_t;
typedef __int32_t __register_t;
typedef __int32_t __segsz_t;
typedef __uint32_t __size_t;
typedef __int32_t __ssize_t;
typedef __int32_t __time_t;
typedef __uint32_t __uintfptr_t;
typedef __uint64_t __uintmax_t;
typedef __uint32_t __uintptr_t;
typedef __uint32_t __uint_fast8_t;
typedef __uint32_t __uint_fast16_t;
typedef __uint32_t __uint_fast32_t;
typedef __uint64_t __uint_fast64_t;
typedef __uint8_t __uint_least8_t;
typedef __uint16_t __uint_least16_t;
typedef __uint32_t __uint_least32_t;
typedef __uint64_t __uint_least64_t;
typedef __uint32_t __u_register_t;
typedef __uint32_t __vm_offset_t;
typedef __int64_t __vm_ooffset_t;



typedef __uint32_t __vm_paddr_t;

typedef __uint64_t __vm_pindex_t;
typedef __uint32_t __vm_size_t;





typedef __builtin_va_list __va_list;





typedef __va_list __gnuc_va_list;
# 43 "U:/USR/include/sys/_types.h" 2 3




typedef __int32_t __clockid_t;
typedef __uint32_t __fflags_t;
typedef __uint64_t __fsblkcnt_t;
typedef __uint64_t __fsfilcnt_t;
typedef __uint32_t __gid_t;
typedef __int64_t __id_t;

typedef __uint64_t __ino_t;



typedef long __key_t;
typedef __int32_t __lwpid_t;

typedef __int32_t __mode_t;



typedef int __nl_item;
typedef __uint16_t __nlink_t;
typedef __int64_t __off_t;
typedef __int32_t __pid_t;
typedef __int64_t __rlim_t;
typedef __uint8_t __sa_family_t;
typedef __uint32_t __socklen_t;
typedef long __suseconds_t;
typedef __int32_t __timer_t;
typedef __uint32_t __uid_t;
typedef unsigned int __useconds_t;
# 95 "U:/USR/include/sys/_types.h" 3
typedef int __ct_rune_t;
typedef __ct_rune_t __rune_t;



typedef unsigned short __wchar_t;

typedef __ct_rune_t __wint_t;

typedef __uint32_t __dev_t;

typedef __uint32_t __fixpt_t;





typedef union {
  char __mbstate8[128];
  __int64_t _mbstateL;
} __mbstate_t;
# 47 "U:/USR/include/machine/endian.h" 2 3
# 102 "U:/USR/include/machine/endian.h" 3
static __inline __uint64_t
__bswap64(__uint64_t _x)
{
  return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) |
      ((_x >> 8) & 0xff000000) | ((_x << 8) & ((__uint64_t)0xff << 32)) |
      ((_x << 24) & ((__uint64_t)0xff << 40)) |
      ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56)));
}

static __inline __uint32_t
__bswap32(__uint32_t _x)
{

  return (__extension__ ({ register __uint32_t __X = (_x); __asm ("xchgb 
%h0, %b0\n\trorl $16, %0\n\txchgb %h0, %b0" : "+q" (__X)); __X; }));
}

static __inline __uint16_t
__bswap16(__uint16_t _x)
{

  return (__extension__ ({ register __uint16_t __X = (_x); __asm ("xchgb 
%h0, %b0" : "+q" (__X)); __X; }));
}
# 153 "U:/USR/include/machine/endian.h" 3

unsigned long __attribute__((__system__)) htonl (unsigned long);
unsigned short __attribute__((__system__)) htons (unsigned short);
unsigned long __attribute__((__system__)) ntohl (unsigned long);
unsigned short __attribute__((__system__)) ntohs (unsigned short);

# 54 "U:/USR/include/sys/types.h" 2 3




typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;

typedef unsigned short ushort;
typedef unsigned int uint;







typedef __int8_t int8_t;




typedef __int16_t int16_t;




typedef __int32_t int32_t;




typedef __int64_t int64_t;




typedef __uint8_t uint8_t;




typedef __uint16_t uint16_t;




typedef __uint32_t uint32_t;




typedef __uint64_t uint64_t;




typedef __intptr_t intptr_t;
typedef __uintptr_t uintptr_t;



typedef __uint8_t u_int8_t;
typedef __uint16_t u_int16_t;
typedef __uint32_t u_int32_t;
typedef __uint64_t u_int64_t;

typedef __uint64_t u_quad_t;
typedef __int64_t quad_t;
typedef quad_t * qaddr_t;

typedef char * caddr_t;
typedef const char * c_caddr_t;
typedef volatile char *v_caddr_t;


typedef __clock_t clock_t;





typedef __clockid_t clockid_t;



typedef __critical_t critical_t;
typedef __int64_t daddr_t;


typedef __dev_t dev_t;




typedef __fflags_t fflags_t;



typedef __fixpt_t fixpt_t;


typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;




typedef __gid_t gid_t;





typedef __uint32_t in_addr_t;




typedef __uint16_t in_port_t;




typedef __id_t id_t;




typedef __ino_t ino_t;




typedef __key_t key_t;





typedef __lwpid_t lwpid_t;




typedef __mode_t mode_t;




typedef __nlink_t nlink_t;




typedef __off_t off_t;





typedef __pid_t pid_t;




typedef __register_t register_t;


typedef __rlim_t rlim_t;



typedef __segsz_t segsz_t;


typedef __size_t size_t;





typedef __ssize_t ssize_t;





typedef __suseconds_t suseconds_t;




typedef __time_t time_t;





typedef __timer_t timer_t;



typedef __u_register_t u_register_t;


typedef __uid_t uid_t;





typedef __useconds_t useconds_t;



typedef __vm_offset_t vm_offset_t;
typedef __vm_ooffset_t vm_ooffset_t;
typedef __vm_paddr_t vm_paddr_t;
typedef __vm_pindex_t vm_pindex_t;
typedef __vm_size_t vm_size_t;
# 307 "U:/USR/include/sys/types.h" 3
# 1 "U:/USR/include/sys/select.h" 1 3
# 12 "U:/USR/include/sys/select.h" 3
# 1 "U:/USR/include/sys/_sigset.h" 1 3
# 78 "U:/USR/include/sys/_sigset.h" 3
typedef struct __sigset
{

     unsigned long __bitmap[2];
} __sigset_t;
# 13 "U:/USR/include/sys/select.h" 2 3




typedef __sigset_t sigset_t;
# 39 "U:/USR/include/sys/select.h" 3
typedef unsigned long __fd_mask;





typedef struct fd_set
{
     __fd_mask __fds_bits[(((2048) + (((sizeof(__fd_mask) * 8)) - 1)) / 
((sizeof(__fd_mask) * 8)))];
} fd_set;


typedef __fd_mask fd_mask;
# 81 "U:/USR/include/sys/select.h" 3
struct timeval;
int select (int, struct fd_set *, struct fd_set *, struct fd_set *, 
struct timeval *);
int _select (int, struct fd_set *, struct fd_set *, struct fd_set *, 
struct timeval *);
void *memset (void *, int, size_t);
# 96 "U:/USR/include/sys/select.h" 3
int __attribute__((__system__)) bsdselect(int, struct fd_set *, struct 
fd_set *, struct fd_set *, struct timeval *);

int __attribute__((__system__)) os2_select(int *, int, int, int, long);
# 113 "U:/USR/include/sys/select.h" 3
#pragma pack(1)
struct selinfo {
         pid_t si_pid;
         short si_flags;
};
#pragma pack()
# 308 "U:/USR/include/sys/types.h" 2 3
# 327 "U:/USR/include/sys/types.h" 3



int ftruncate(int, off_t);



off_t lseek(int, off_t, int);
# 344 "U:/USR/include/sys/types.h" 3
int truncate(const char *, off_t);


# 39 "./fcntl.h" 2 3
# 1 "./sys/stat.h" 1 3
# 26 "./sys/stat.h" 3

# 27 "./sys/stat.h" 3
# 43 "./sys/stat.h" 3
# 1 "U:/USR/include/sys/stat.h" 1 3
# 108 "U:/USR/include/sys/stat.h" 3
# 1 "U:/USR/include/sys/time.h" 1 3
# 48 "U:/USR/include/sys/time.h" 3
# 1 "U:/USR/include/sys/_timeval.h" 1 3
# 54 "U:/USR/include/sys/_timeval.h" 3
#pragma pack(4)
struct timeval {
  long tv_sec;
  suseconds_t tv_usec;
};
#pragma pack()
# 49 "U:/USR/include/sys/time.h" 2 3

# 1 "U:/USR/include/sys/timespec.h" 1 3
# 57 "U:/USR/include/sys/timespec.h" 3
#pragma pack(4)
struct timespec {
  time_t tv_sec;
  long tv_nsec;
};
#pragma pack()
# 51 "U:/USR/include/sys/time.h" 2 3



struct timezone {
  int tz_minuteswest;
  int tz_dsttime;
};
# 68 "U:/USR/include/sys/time.h" 3
struct bintime {
  time_t sec;
  uint64_t frac;
};

static __inline void
bintime_addx(struct bintime *bt, uint64_t x)
{
  uint64_t u;

  u = bt->frac;
  bt->frac += x;
  if (u > bt->frac)
   bt->sec++;
}

static __inline void
bintime_add(struct bintime *bt, struct bintime *bt2)
{
  uint64_t u;

  u = bt->frac;
  bt->frac += bt2->frac;
  if (u > bt->frac)
   bt->sec++;
  bt->sec += bt2->sec;
}

static __inline void
bintime_sub(struct bintime *bt, struct bintime *bt2)
{
  uint64_t u;

  u = bt->frac;
  bt->frac -= bt2->frac;
  if (u < bt->frac)
   bt->sec--;
  bt->sec -= bt2->sec;
}
# 122 "U:/USR/include/sys/time.h" 3
static __inline void
bintime2timespec(struct bintime *bt, struct timespec *ts)
{

  ts->tv_sec = bt->sec;
  ts->tv_nsec = ((uint64_t)1000000000 * (uint32_t)(bt->frac >> 32)) >> 32;
}

static __inline void
timespec2bintime(struct timespec *ts, struct bintime *bt)
{

  bt->sec = ts->tv_sec;

  bt->frac = ts->tv_nsec * (uint64_t)18446744073LL;
}

static __inline void
bintime2timeval(struct bintime *bt, struct timeval *tv)
{

  tv->tv_sec = bt->sec;
  tv->tv_usec = ((uint64_t)1000000 * (uint32_t)(bt->frac >> 32)) >> 32;
}

static __inline void
timeval2bintime(struct timeval *tv, struct bintime *bt)
{

  bt->sec = tv->tv_sec;

  bt->frac = tv->tv_usec * (uint64_t)18446744073709LL;
}
# 240 "U:/USR/include/sys/time.h" 3
struct itimerval {
  struct timeval it_interval;
  struct timeval it_value;
};




struct clockinfo {
  int hz;
  int tick;
  int spare;
  int stathz;
  int profhz;
};
# 321 "U:/USR/include/sys/time.h" 3
# 1 "U:/USR/include/time.h" 1 3
# 95 "U:/USR/include/time.h" 3
typedef __int64_t time64_t;
# 124 "U:/USR/include/time.h" 3
struct tm {
  int tm_sec;
  int tm_min;
  int tm_hour;
  int tm_mday;
  int tm_mon;
  int tm_year;
  int tm_wday;
  int tm_yday;
  int tm_isdst;




};


extern char *tzname[];



char *asctime(const struct tm *);
clock_t clock(void);
char *ctime(const time_t *);
double difftime(time_t, time_t);
struct tm *gmtime(const time_t *);
struct tm *localtime(const time_t *);
struct tm *_localtime64_r(const time64_t *, struct tm *);
time_t mktime(struct tm *);
time64_t _mktime64(struct tm *);
size_t strftime(char * __restrict, size_t, const char * __restrict,
     const struct tm * __restrict);
time_t time(time_t *);


void tzset(void);



int clock_getres(clockid_t, struct timespec *);
int clock_gettime(clockid_t, struct timespec *);
int clock_settime(clockid_t, const struct timespec *);
int nanosleep(const struct timespec *, struct timespec *);



char *asctime_r(const struct tm *, char *);
char *ctime_r(const time_t *, char *);
struct tm *gmtime_r(const time_t *, struct tm *);
struct tm *_gmtime64_r(const time64_t *, struct tm *);
struct tm *localtime_r(const time_t *, struct tm *);



char *strptime(const char * __restrict, const char * __restrict,
     struct tm * __restrict);






void tzsetwall(void);
time_t timelocal(struct tm * const);
time_t timegm(struct tm * const);




extern int daylight;
extern long timezone;




extern int _daylight;
extern long _timezone;
extern char *_tzname[2];
char *_strptime (__const__ char *, __const__ char *, struct tm *);
void _tzset (void);




# 322 "U:/USR/include/sys/time.h" 2 3





int futimes(int, const struct timeval *);
int getitimer(int, struct itimerval *);
int gettimeofday(struct timeval *, struct timezone *);
int lutimes(const char *, const struct timeval *);
int setitimer(int, const struct itimerval *, struct itimerval *);
int settimeofday(const struct timeval *, const struct timezone *);
int utimes(const char *, const struct timeval *);


typedef signed long long hrtime_t;
hrtime_t gethrtime(void);




# 109 "U:/USR/include/sys/stat.h" 2 3
# 137 "U:/USR/include/sys/stat.h" 3
struct stat {
  __dev_t st_dev;

  __uint32_t st_attr;

  ino_t st_ino;
  mode_t st_mode;
  nlink_t st_nlink;
  uid_t st_uid;
  gid_t st_gid;
  __dev_t st_rdev;

  __int32_t st_lspare;


  struct timespec st_atimespec;
  struct timespec st_mtimespec;
  struct timespec st_ctimespec;
# 163 "U:/USR/include/sys/stat.h" 3
  off_t st_size;
  __int64_t st_blocks;
  __uint32_t st_blksize;
  fflags_t st_flags;
  __uint32_t st_gen;




  struct timespec st_birthtimespec;
# 181 "U:/USR/include/sys/stat.h" 3
  unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));
  unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));






};
# 326 "U:/USR/include/sys/stat.h" 3




int chmod(const char *, mode_t);


int fchmod(int, mode_t);

int fstat(int, struct stat *);


int lchmod(const char *, mode_t);


int lstat(const char *, struct stat *);

int mkdir(const char *, mode_t);
int mkfifo(const char *, mode_t);
int stat(const char *, struct stat *);
mode_t umask(mode_t);



int _chmod (__const__ char *, int);
int _fstat (int, struct stat *);
int _mkdir (__const__ char *, long);

int _stat (__const__ char *, struct stat *);
int _umask (int);




# 44 "./sys/stat.h" 2 3
# 40 "./fcntl.h" 2 3
# 1 "./unistd.h" 1 3
# 22 "./unistd.h" 3

# 23 "./unistd.h" 3




# 1 "U:/USR/include/unistd.h" 1 3
# 54 "U:/USR/include/unistd.h" 3
# 1 "U:/USR/include/sys/unistd.h" 1 3
# 55 "U:/USR/include/unistd.h" 2 3
# 1 "U:/USR/include/sys/_null.h" 1 3
# 56 "U:/USR/include/unistd.h" 2 3
# 342 "U:/USR/include/unistd.h" 3


void _exit(int) __attribute__((__noreturn__));
int access(const char *, int);
unsigned int alarm(unsigned int);
int chdir(const char *);
int chown(const char *, uid_t, gid_t);
int close(int);
int dup(int);
int dup2(int, int);
int eaccess(const char *, int);
int execl(const char *, const char *, ...);
int execle(const char *, const char *, ...);
int execlp(const char *, const char *, ...);
int execv(const char *, char * const *);
int execve(const char *, char * const *, char * const *);
int execvp(const char *, char * const *);
pid_t fork(void);
long fpathconf(int, int);
char *getcwd(char *, size_t);
gid_t getegid(void);
uid_t geteuid(void);
gid_t getgid(void);
int getgroups(int, gid_t []);
char *getlogin(void);
pid_t getpgrp(void);
pid_t getpid(void);
pid_t getppid(void);
uid_t getuid(void);
int isatty(int);
int link(const char *, const char *);




long pathconf(const char *, int);
int pause(void);
int pipe(int *);
ssize_t read(int, void *, size_t);
int rmdir(const char *);
int setgid(gid_t);
int setpgid(pid_t, pid_t);
void setproctitle(const char *_fmt, ...) ;
pid_t setsid(void);
int setuid(uid_t);
unsigned int sleep(unsigned int);
long sysconf(int);
pid_t tcgetpgrp(int);
int tcsetpgrp(int, pid_t);
char *ttyname(int);
int unlink(const char *);
ssize_t write(int, const void *, size_t);






int getopt(int, char * const [], const char *);

extern char *optarg;
extern int optind, opterr, optopt;





int fsync(int);
# 422 "U:/USR/include/unistd.h" 3
int getlogin_r(char *, int);




int fchown(int, uid_t, gid_t);
int readlink(const char *, char *, int);



int setegid(gid_t);
int seteuid(uid_t);
# 442 "U:/USR/include/unistd.h" 3
int symlink(const char * __restrict, const char * __restrict);




char *crypt(const char *, const char *);

void encrypt(char *, int);
int fchdir(int);

pid_t getpgid(pid_t _pid);
pid_t getsid(pid_t _pid);
char *getwd(char *);
int lchown(const char *, uid_t, gid_t);
int lockf(int, int, off_t);
int nice(int);
ssize_t pread(int, void *, size_t, off_t);
ssize_t pwrite(int, const void *, size_t, off_t);

int setregid(gid_t, gid_t);
int setreuid(uid_t, uid_t);

void sync(void);
useconds_t ualarm(useconds_t, useconds_t);
int usleep(useconds_t);
# 477 "U:/USR/include/unistd.h" 3
int brk(const void *);
int chroot(const char *);
int getdtablesize(void);
int getpagesize(void) __attribute__((__const__));
char *getpass(const char *);




struct timeval;
# 495 "U:/USR/include/unistd.h" 3
void endusershell(void);




int getgrouplist(const char *, gid_t, gid_t *, int *);
mode_t getmode(const void *, mode_t);



char *getusershell(void);
int initgroups(const char *, gid_t);


int issetugid(void);
char *mkdtemp(char *);
int mknod(const char *, mode_t, dev_t);

int mkstemp(char *);


int mkstemps(char *, int);

char *mktemp(char *);
# 529 "U:/USR/include/unistd.h" 3
char *rpl_re_comp(const char *);
int rpl_re_exec(const char *);
# 541 "U:/USR/include/unistd.h" 3
int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);



int setgroups(int, const gid_t *);




void setkey(const char *);



void *bsd_setmode(const char *);
int setresgid(gid_t, gid_t, gid_t);
int setresuid(uid_t, uid_t, uid_t);
int setrgid(gid_t);
int setruid(uid_t);
void setusershell(void);
# 568 "U:/USR/include/unistd.h" 3
void *valloc(size_t);



extern int optreset;
# 581 "U:/USR/include/unistd.h" 3
char *_getcwdux(char *, size_t);


char *get_current_dir_name(void);







char *_getpass1(const char *);
char *_getpass2(const char *, int);




void __exit(int) __attribute__((__noreturn__));
int _access(const char *, int);
unsigned int _alarm(unsigned int);
int _chdir(const char *);
int _chown(const char *, uid_t, gid_t);
int _close(int);
char *_cuserid(char *);
int _dup(int);
int _dup2(int, int);
int _eaccess(const char *, int);
int _execl(const char *, const char *, ...);
int _execle(const char *, const char *, ...);
int _execlp(const char *, const char *, ...);
int _execv(const char *, char * const *);
int _execve(const char *, char * const *, char * const *);
int _execvp(const char *, char * const *);
pid_t _fork(void);
long _fpathconf(int, int);
char *_getcwd(char *, size_t);
gid_t _getegid(void);
uid_t _geteuid(void);
gid_t _getgid(void);
int _getgroups(int, gid_t []);
char *_getlogin(void);
pid_t _getpgrp(void);
pid_t _getpid(void);
pid_t _getppid(void);
uid_t _getuid(void);
int _isatty(int);
int _link(const char *, const char *);


off_t _lseek(int, off_t, int);

long _pathconf(const char *, int);

int _pipe(int *);
ssize_t _read(int, void *, size_t);
int _rmdir(const char *);
int _setgid(gid_t);

int _setpgid(pid_t, pid_t);
pid_t _setsid(void);
int _setuid(uid_t);
unsigned _sleep(unsigned);
long _sysconf(int);
pid_t _tcgetpgrp(int);
pid_t _tcsetpgrp(int, int);
char *_ttyname(int);
int _unlink(const char *);
int _write(int, const void *, size_t);

int _brk(const void *);
char *_getpass(const char *);
char *_getpass1(const char *);
char *_getpass2(const char *, int);
int _mkstemp(char *);
char *_mktemp(char *);




extern char *_optarg;
extern int _optind;
extern int _opterr;
extern int _optopt;
int _getopt(int, char **, const char *);






int soclose(int);

int gethostid(void);
int gethostname(char *, int);

int iruserok(unsigned long, int, const char *, const char *);
int rcmd(char **, int, const char *, const char *, const char *, int *);
int rresvport(int *);
int ruserok(const char *, int, const char *, const char *);
# 692 "U:/USR/include/unistd.h" 3

# 28 "./unistd.h" 2 3







# 1 "./stdio.h" 1 3
# 21 "./stdio.h" 3

# 22 "./stdio.h" 3
# 35 "./stdio.h" 3
# 1 "U:/USR/include/stdio.h" 1 3
# 53 "U:/USR/include/stdio.h" 3
typedef __off_t fpos_t;
# 63 "U:/USR/include/stdio.h" 3
typedef __va_list va_list;
# 181 "U:/USR/include/stdio.h" 3
typedef struct __sFILE
{
     unsigned __uVersion;
     char * _ptr;
     char * _buffer;
     int _rcount;
     int _wcount;
     int _handle;
     int _flags;
     int _buf_size;
     int _tmpidx;
     int _pid;
     char _char_buf;
     unsigned char _ungetc_count;
     short _mbstate;
     int (*_flush)(struct __sFILE *, int);


     union
     {





         char __rsem_ersatz[16];
     } __u;


     void *__pSV;
} FILE;


extern FILE *__stdinp;
extern FILE *__stdoutp;
extern FILE *__stderrp;

# 268 "U:/USR/include/stdio.h" 3




void clearerr(FILE *);
int fclose(FILE *);
int feof(FILE *);
int ferror(FILE *);
int fflush(FILE *);
int fgetc(FILE *);
int fgetpos(FILE * __restrict, fpos_t * __restrict);
char *fgets(char * __restrict, int, FILE * __restrict);
FILE *fopen(const char * __restrict, const char * __restrict);
int fprintf(FILE * __restrict, const char * __restrict, ...);
int fputc(int, FILE *);
int fputs(const char * __restrict, FILE * __restrict);
size_t fread(void * __restrict, size_t, size_t, FILE * __restrict);
FILE *freopen(const char * __restrict, const char * __restrict, FILE * 
__restrict);
int fscanf(FILE * __restrict, const char * __restrict, ...);
int fseek(FILE *, long, int);
int fsetpos(FILE *, const fpos_t *);
long ftell(FILE *);
size_t fwrite(const void * __restrict, size_t, size_t, FILE * __restrict);
int getc(FILE *);
int getchar(void);
char *gets(char *);
void perror(const char *);
int printf(const char * __restrict, ...);
int putc(int, FILE *);
int putchar(int);
int puts(const char *);
int remove(const char *);
int rename(const char *, const char *);
void rewind(FILE *);
int scanf(const char * __restrict, ...);
void setbuf(FILE * __restrict, char * __restrict);
int setvbuf(FILE * __restrict, char * __restrict, int, size_t);
int sprintf(char * __restrict, const char * __restrict, ...);
int sscanf(const char * __restrict, const char * __restrict, ...);
FILE *tmpfile(void);
char *tmpnam(char *);
int ungetc(int, FILE *);
int vfprintf(FILE * __restrict, const char * __restrict,
      __va_list);
int vprintf(const char * __restrict, __va_list);
int vsprintf(char * __restrict, const char * __restrict,
      __va_list);


int snprintf(char * __restrict, size_t, const char * __restrict,
      ...) __attribute__((__format__ (__printf__, 3, 4)));
int vfscanf(FILE * __restrict, const char * __restrict, __va_list)
      __attribute__((__format__ (__scanf__, 2, 0)));
int vscanf(const char * __restrict, __va_list) __attribute__((__format__ 
(__scanf__, 1, 0)));
int vsnprintf(char * __restrict, size_t, const char * __restrict,
      __va_list) __attribute__((__format__ (__printf__, 3, 0)));
int vsscanf(const char * __restrict, const char * __restrict, __va_list)
      __attribute__((__format__ (__scanf__, 2, 0)));
# 340 "U:/USR/include/stdio.h" 3
FILE *fdopen(int, const char *);
int fileno(FILE *);



int pclose(FILE *);
FILE *popen(const char *, const char *);



int ftrylockfile(FILE *);
void flockfile(FILE *);
void funlockfile(FILE *);





int getc_unlocked(FILE *);
int getchar_unlocked(void);
int putc_unlocked(int, FILE *);
int putchar_unlocked(int);


void clearerr_unlocked(FILE *);
int feof_unlocked(FILE *);
int ferror_unlocked(FILE *);
int fileno_unlocked(FILE *);


int fflush_unlocked(FILE *);
size_t fwrite_unlocked(const void * __restrict, size_t, size_t, FILE * 
__restrict);
size_t fread_unlocked(void * __restrict, size_t, size_t, FILE * __restrict);
int fgetc_unlocked(FILE *);
int fputc_unlocked(int, FILE *);
int fputs_unlocked(const char * __restrict, FILE * __restrict);
char *fgets_unlocked(char * __restrict, int, FILE * __restrict);
int puts_unlocked(const char *);
char *gets_unlocked(char *);



int fseeko(FILE *, __off_t, int);
__off_t ftello(FILE *);



int getw(FILE *);
int putw(int, FILE *);



char *tempnam(const char *, const char *);






int asprintf(char **, const char *, ...) __attribute__((__format__ 
(__printf__, 2, 3)));
# 409 "U:/USR/include/stdio.h" 3
void setbuffer(FILE *, char *, int);
int setlinebuf(FILE *);
int vasprintf(char **, const char *, __va_list)
      __attribute__((__format__ (__printf__, 2, 0)));






extern const int sys_nerr;
extern const char *const sys_errlist[];
# 446 "U:/USR/include/stdio.h" 3
void *mmap(void *, size_t, int, int, int, __off_t);
# 525 "U:/USR/include/stdio.h" 3
int _fill (FILE *);
int _flush (int, FILE *);
int _rmtmp (void);
# 546 "U:/USR/include/stdio.h" 3
char *cuserid (char *);
int fcloseall (void);
int fgetchar (void);
int flushall (void);
int fputchar (int);






int _fcloseall (void);
FILE *_fdopen (int, __const__ char *);
int _fgetchar (void);
int _flushall (void);
int _fputchar (int);
int _fseek_hdr (FILE *);
int _fsetmode (FILE *, __const__ char *);
FILE *_fsopen (__const__ char *, __const__ char *, int);
int _getw (FILE *);
char *_mfclose (FILE *);
FILE *_mfopen (char *, __const__ char *, size_t, int);
int _pclose (FILE *);
FILE *_popen (__const__ char *, __const__ char *);
int _putw (int, FILE *);
void _setbuffer (FILE *, char *, int);
int _snprintf (char *, size_t, __const__ char *, ...);
char *_tempnam (__const__ char *, __const__ char *);
int _vsnprintf (char *, size_t, __const__ char *, __va_list);
# 588 "U:/USR/include/stdio.h" 3
ssize_t getline(char **, size_t *, FILE *);
ssize_t getdelim(char **, size_t *, int, FILE *);





# 36 "./stdio.h" 2 3




# 1 "U:/USR/local433/lib/gcc/i386-pc-os2-emx/4.3.3/include/stdarg.h" 1 3
# 41 "./stdio.h" 2 3
# 1 "U:/USR/include/stddef.h" 1 3
# 49 "U:/USR/include/stddef.h" 3
typedef __ptrdiff_t ptrdiff_t;



typedef __rune_t rune_t;
# 66 "U:/USR/include/stddef.h" 3
typedef __wchar_t wchar_t;
# 82 "U:/USR/include/stddef.h" 3
unsigned *__threadid (void);
# 42 "./stdio.h" 2 3
# 290 "./stdio.h" 3
   extern int rpl_asprintf (char **result, const char *format, ...)
     __attribute__ ((__format__ (__printf__, 2, 3)));
   extern int rpl_vasprintf (char **result, const char *format, va_list 
args)
     __attribute__ ((__format__ (__printf__, 2, 0)));
# 321 "./stdio.h" 3
extern FILE * rpl_fopen (const char *filename, const char *mode);
# 350 "./stdio.h" 3
extern int rpl_fseeko (FILE *fp, off_t offset, int whence);
# 428 "./stdio.h" 3
   extern int rpl_fflush (FILE *gl_stream);
# 36 "./unistd.h" 2 3




# 1 "./stdlib.h" 1 3
# 20 "./stdlib.h" 3

# 21 "./stdlib.h" 3
# 34 "./stdlib.h" 3
# 1 "U:/USR/include/stdlib.h" 1 3
# 71 "U:/USR/include/stdlib.h" 3
typedef struct _div_t {
  int quot;
  int rem;
} div_t;

typedef struct _ldiv_t {
  long quot;
  long rem;
} ldiv_t;






extern int __mb_cur_max;



void abort(void) __attribute__((__noreturn__));
int abs(int) __attribute__((__const__));
int atexit(void (*)(void));
double atof(const char *);
int atoi(const char *);
long atol(const char *);
void *bsearch(const void *, const void *, size_t,
      size_t, int (*)(const void *, const void *));
void *calloc(size_t, size_t);
div_t div(int, int) __attribute__((__const__));
void exit(int) __attribute__((__noreturn__));
void free(void *);
char *getenv(const char *);
long labs(long) __attribute__((__const__));
ldiv_t ldiv(long, long) __attribute__((__const__));
void *malloc(size_t);
int mblen(const char *, size_t);
size_t mbstowcs(wchar_t * __restrict , const char * __restrict, size_t);
int mbtowc(wchar_t * __restrict, const char * __restrict, size_t);
void qsort(void *, size_t, size_t,
      int (*)(const void *, const void *));
int rand(void);
void *realloc(void *, size_t);
void srand(unsigned);
double strtod(const char * __restrict, char ** __restrict);
float strtof(const char * __restrict, char ** __restrict);
long strtol(const char * __restrict, char ** __restrict, int);
long double
   strtold(const char * __restrict, char ** __restrict);
unsigned long
   strtoul(const char * __restrict, char ** __restrict, int);
int system(const char *);
int wctomb(char *, wchar_t);
size_t wcstombs(char * __restrict, const wchar_t * __restrict, size_t);
# 138 "U:/USR/include/stdlib.h" 3
typedef struct _lldiv_t {
  long long quot;
  long long rem;
} lldiv_t;


long long
   atoll(const char *);

long long
   llabs(long long) __attribute__((__const__));

lldiv_t lldiv(long long, long long) __attribute__((__const__));

long long
   strtoll(const char * __restrict, char ** __restrict, int);

unsigned long long
   strtoull(const char * __restrict, char ** __restrict, int);


void _Exit(int) __attribute__((__noreturn__));
# 168 "U:/USR/include/stdlib.h" 3
int posix_memalign(void **, size_t, size_t);
int rand_r(unsigned *);
int setenv(const char *, const char *, int);
int unsetenv(const char *);
# 183 "U:/USR/include/stdlib.h" 3
double drand48(void);

double erand48(unsigned short[3]);


int getsubopt(char **, char *const *, char **);

char *initstate(unsigned long , char *, long);
long jrand48(unsigned short[3]);

void lcong48(unsigned short[7]);
long lrand48(void);
# 203 "U:/USR/include/stdlib.h" 3
long mrand48(void);
long nrand48(unsigned short[3]);


int putenv(const char *);
long random(void);
char *realpath(const char *, char resolved_path[]);
unsigned short
  *seed48(unsigned short[3]);




char *setstate( char *);
void srand48(long);
void srandom(unsigned long);




extern const char *_malloc_options;
extern void (*_malloc_message)(const char *, const char *, const char *,
      const char *);
# 243 "U:/USR/include/stdlib.h" 3
__uint32_t
   arc4random(void);
void arc4random_addrandom(unsigned char *dat, int datlen);
void arc4random_stir(void);
char *getbsize(int *, long *);
# 263 "U:/USR/include/stdlib.h" 3
int getloadavg(double [], int);
const char *
   getprogname(void);

int heapsort(void *, size_t, size_t, int (*)(const void *, const void *));
int mergesort(void *, size_t, size_t, int (*)(const void *, const void *));
void qsort_r(void *, size_t, size_t, void *,
      int (*)(void *, const void *, const void *));
int radixsort(const unsigned char **, int, const unsigned char *,
      unsigned);
void *reallocf(void *, size_t);
void setprogname(const char *);
int sradixsort(const unsigned char **, int, const unsigned char *,
      unsigned);
void sranddev(void);
void srandomdev(void);







extern char *suboptarg;






char *_getcwdux(char *, size_t);
char *_realrealpath(const char *, char *, size_t);
int _getenv_longlong(const char *, long long *);
int _getenv_long(const char *, long *);
int _getenv_int(const char *, int *);


char *canonicalize_file_name(const char *);
void *valloc(size_t);

int on_exit(void (*)(int, void *), void *);





# 1 "U:/USR/include/malloc.h" 1 3
# 32 "U:/USR/include/malloc.h" 3
void *calloc (size_t, size_t);
void free (void *);
void *malloc (size_t);
void *realloc (void *, size_t);
# 49 "U:/USR/include/malloc.h" 3
void *_tcalloc (size_t, size_t);
void _tfree (void *);
int _theapmin (void);
void *_tmalloc (size_t);
void *_trealloc (void *, size_t);

void *_expand (void *, size_t);
int _heapchk (void);
int _heapmin (void);
int _heapset (unsigned);
int _heap_walk (int (*)(__const__ void *, size_t, int, int,
     __const__ char *, size_t));
size_t _msize (__const__ void *);



void *valloc(size_t);
void *memalign(size_t, size_t);
# 310 "U:/USR/include/stdlib.h" 2 3
# 347 "U:/USR/include/stdlib.h" 3
typedef struct
{
   unsigned long quot;
   unsigned long rem;
} _uldiv_t;


typedef struct _lldiv_t _lldiv_t;







typedef struct
{
   unsigned long long quot;
   unsigned long long rem;
} _ulldiv_t;


extern char **environ;

extern __const__ unsigned char _osminor;
extern __const__ unsigned char _osmajor;




unsigned alarm (unsigned);
int brk(const void *);
int chdir (const char *);
char *gcvt (double, int, char *);
char *getcwd (char *, size_t);
int getpagesize (void);
char *getwd (char *);
int mkdir(const char *, mode_t);
void perror (const char *);
int rmdir (const char *);
void *sbrk(intptr_t);
unsigned sleep (unsigned);
long ulimit (int, ...);

char *itoa (int, char *, int);
char *ltoa (long, char *, int);
char *ultoa (unsigned long, char *, int);
char *lltoa (long long, char *, int);
char *ulltoa (unsigned long long, char *, int);






extern char **_environ;
extern __const__ char * __const__ _sys_errlist[];
extern __const__ int _sys_nerr;

unsigned _alarm (unsigned);
int _brk(const void *);
int _chdir (__const__ char *);
char *_gcvt (double, int, char *);
char *_getcwd (char *, size_t);
int _getpagesize (void);
char *_getwd (char *);
int _mkdir (__const__ char *, long);
int _putenv (__const__ char *);
int _rmdir (__const__ char *);
void *_sbrk(intptr_t);
unsigned _sleep (unsigned);
void _swab (__const__ void *, void *, size_t);
long _ulimit (int, ...);

int _abspath (char *, __const__ char *, int);
long long _atoll (__const__ char *);
long double _atofl (__const__ char *);
int _chdir2 (__const__ char *);
int _chdir_os2 (const char *);
int _chdrive (int);
int _core (int);
void _defext (char *, __const__ char *);
void _envargs (int *, char ***, __const__ char *);
int _execname (char *, size_t);
void _exit (int) __attribute__ ((__noreturn__));
int _filesys (__const__ char *, char *, size_t);
char **_fnexplode (__const__ char *);
void _fnexplodefree (char **);
char _fngetdrive (__const__ char *);
int _fnisabs (__const__ char *);
int _fnisrel (__const__ char *);
void _fnlwr (char *);
void _fnlwr2 (char *, __const__ char *);
char *_fnslashify (char *);
int _fullpath (char *, __const__ char *, int);
int _getcwd1 (char *, char);
char *_getcwd2 (char *, int);
int _getdrive (void);
char *_getext (__const__ char *);
char *_getext2 (__const__ char *);
char *_getname (__const__ char *);
int _getsockhandle (int);
int _gettid (void);
char *_getvol (char);
char *_itoa (int, char *, int);
_lldiv_t _lldiv (long long, long long);
char *_lltoa (long long, char *, int);
_uldiv_t _uldiv (unsigned long, unsigned long);
_ulldiv_t _ulldiv (unsigned long long, unsigned long long);
char *_itoa (int, char *, int);
char *_ltoa (long, char *, int);
char *_ultoa (unsigned long, char *, int);
char *_lltoa (long long, char *, int);
char *_ulltoa (unsigned long long, char *, int);
void _makepath (char *, __const__ char *, __const__ char *,
     __const__ char *, __const__ char *);
int _path (char *, __const__ char *);
int _read_kbd (int, int, int);
void _remext (char *);
void _rfnlwr (void);
void _response (int *, char ***);
void _scrsize (int *);
void _searchenv (__const__ char *, __const__ char *, char *);
void _sfnlwr (__const__ char *);
unsigned _sleep2 (unsigned);
char ** _splitargs (char *, int *);
void _splitpath (__const__ char *, char *, char *, char *, char *);
float _strtof (__const__ char *, char **);
long double _strtold (__const__ char *, char **);
long long _strtoll (__const__ char *, char **, int);
unsigned long long _strtoull (__const__ char *, char **, int);
char _swchar (void);
void _wildcard (int *, char ***);

int _beginthread (void (*)(void *), void *, unsigned, void *);
void _endthread (void);
void **_threadstore (void);

int _setenv(const char *envname, const char *envval, int overwrite);
int _unsetenv(const char *name);




# 35 "./stdlib.h" 2 3
# 52 "./stdlib.h" 3
# 1 "./stdint.h" 1 3
# 54 "./stdint.h" 3

# 55 "./stdint.h" 3

# 1 "U:/USR/include/stdint.h" 1 3





# 1 "U:/USR/include/sys/stdint.h" 1 3
# 39 "U:/USR/include/sys/stdint.h" 3
# 1 "U:/USR/include/machine/_stdint.h" 1 3
# 40 "U:/USR/include/sys/stdint.h" 2 3
# 81 "U:/USR/include/sys/stdint.h" 3
typedef __int_least8_t int_least8_t;
typedef __int_least16_t int_least16_t;
typedef __int_least32_t int_least32_t;
typedef __int_least64_t int_least64_t;

typedef __uint_least8_t uint_least8_t;
typedef __uint_least16_t uint_least16_t;
typedef __uint_least32_t uint_least32_t;
typedef __uint_least64_t uint_least64_t;

typedef __int_fast8_t int_fast8_t;
typedef __int_fast16_t int_fast16_t;
typedef __int_fast32_t int_fast32_t;
typedef __int_fast64_t int_fast64_t;

typedef __uint_fast8_t uint_fast8_t;
typedef __uint_fast16_t uint_fast16_t;
typedef __uint_fast32_t uint_fast32_t;
typedef __uint_fast64_t uint_fast64_t;

typedef __intmax_t intmax_t;
typedef __uintmax_t uintmax_t;
# 7 "U:/USR/include/stdint.h" 2 3
# 57 "./stdint.h" 2 3
# 73 "./stdint.h" 3
# 1 "U:/USR/include/limits.h" 1 3
# 140 "U:/USR/include/limits.h" 3
# 1 "U:/USR/include/sys/limits.h" 1 3
# 45 "U:/USR/include/sys/limits.h" 3
# 1 "U:/USR/include/machine/_limits.h" 1 3
# 46 "U:/USR/include/sys/limits.h" 2 3
# 141 "U:/USR/include/limits.h" 2 3


# 1 "U:/USR/include/sys/syslimits.h" 1 3
# 144 "U:/USR/include/limits.h" 2 3
# 74 "./stdint.h" 2 3





# 1 "U:/USR/include/inttypes.h" 1 3
# 39 "U:/USR/include/inttypes.h" 3
# 1 "U:/USR/include/machine/_inttypes.h" 1 3
# 40 "U:/USR/include/inttypes.h" 2 3


typedef struct {
  intmax_t quot;
  intmax_t rem;
} imaxdiv_t;


intmax_t imaxabs(intmax_t) __attribute__((__const__));
imaxdiv_t imaxdiv(intmax_t, intmax_t) __attribute__((__const__));

intmax_t strtoimax(const char * __restrict, char ** __restrict, int);
uintmax_t strtoumax(const char * __restrict, char ** __restrict, int);
intmax_t wcstoimax(const __wchar_t * __restrict,
       __wchar_t ** __restrict, int);
uintmax_t wcstoumax(const __wchar_t * __restrict,
       __wchar_t ** __restrict, int);

# 80 "./stdint.h" 2 3
# 90 "./stdint.h" 3
# 1 "U:/USR/include/sys/bitypes.h" 1 3
# 91 "./stdint.h" 2 3
# 117 "./stdint.h" 3
typedef signed char gl_int8_t;
typedef unsigned char gl_uint8_t;





typedef short int gl_int16_t;
typedef unsigned short int gl_uint16_t;





typedef int gl_int32_t;
typedef unsigned int gl_uint32_t;
# 150 "./stdint.h" 3
typedef long long int gl_int64_t;
# 167 "./stdint.h" 3
typedef unsigned long long int gl_uint64_t;
# 223 "./stdint.h" 3
typedef long int gl_int_fast8_t;
typedef unsigned long int gl_uint_fast8_t;
typedef long int gl_int_fast16_t;
typedef unsigned long int gl_uint_fast16_t;
typedef long int gl_int_fast32_t;
typedef unsigned long int gl_uint_fast32_t;
# 246 "./stdint.h" 3
typedef long int gl_intptr_t;
typedef unsigned long int gl_uintptr_t;
# 258 "./stdint.h" 3
typedef long long int gl_intmax_t;
# 269 "./stdint.h" 3
typedef unsigned long long int gl_uintmax_t;
# 281 "./stdint.h" 3
typedef int _verify_intmax_size[2 * (sizeof (gl_intmax_t) == sizeof 
(gl_uintmax_t)) - 1];
# 53 "./stdlib.h" 2 3



struct random_data
{
   gl_int32_t *fptr;
   gl_int32_t *rptr;
   gl_int32_t *state;
   int rand_type;
   int rand_deg;
   int rand_sep;
   gl_int32_t *end_ptr;
};
# 252 "./stdlib.h" 3
# 1 "./unistd.h" 1 3
# 253 "./stdlib.h" 2 3
# 353 "./stdlib.h" 3
extern double rpl_strtod (const char *str, char **endp);
# 41 "./unistd.h" 2 3
# 207 "./unistd.h" 3
extern char **environ;
# 41 "./fcntl.h" 2 3

# 1 "U:/USR/include/fcntl.h" 1 3
# 10 "U:/USR/include/fcntl.h" 3
# 1 "U:/USR/include/sys/fcntl.h" 1 3
# 68 "U:/USR/include/sys/fcntl.h" 3
# 1 "./sys/stat.h" 1 3
# 26 "./sys/stat.h" 3

# 27 "./sys/stat.h" 3
# 69 "U:/USR/include/sys/fcntl.h" 2 3
# 242 "U:/USR/include/sys/fcntl.h" 3
struct flock {
  off_t l_start;
  off_t l_len;
  pid_t l_pid;
  short l_type;
  short l_whence;
};
# 264 "U:/USR/include/sys/fcntl.h" 3

int open(const char *, int, ...);
int creat(const char *, mode_t);
int fcntl(int, int, ...);

int flock(int, int);


# 298 "U:/USR/include/sys/fcntl.h" 3

int _creat (__const__ char *, int);
int _fcntl (int, int, ...);
int _flock (int, int);
int _open (__const__ char *, int, ...);

# 11 "U:/USR/include/fcntl.h" 2 3
# 43 "./fcntl.h" 2 3
# 58 "./fcntl.h" 3
extern int rpl_open (const char *filename, int flags, ...);
# 26 "execute.c" 2

# 1 "./stdlib.h" 1
# 20 "./stdlib.h"

# 21 "./stdlib.h" 3
# 28 "execute.c" 2
# 1 "./signal.h" 1
# 20 "./signal.h"

# 21 "./signal.h" 3
# 34 "./signal.h" 3
# 1 "U:/USR/include/signal.h" 1 3
# 49 "U:/USR/include/signal.h" 3
# 1 "U:/USR/include/sys/signal.h" 1 3
# 37 "U:/USR/include/sys/signal.h" 3
# 1 "U:/USR/include/machine/signal.h" 1 3
# 51 "U:/USR/include/machine/signal.h" 3
typedef int sig_atomic_t;
# 62 "U:/USR/include/machine/signal.h" 3
# 1 "U:/USR/include/machine/trap.h" 1 3
# 63 "U:/USR/include/machine/signal.h" 2 3
# 104 "U:/USR/include/machine/signal.h" 3
struct sigcontext {
  struct __sigset sc_mask;
  int sc_onstack;
  int sc_gs;
  int sc_fs;
  int sc_es;
  int sc_ds;
  int sc_edi;
  int sc_esi;
  int sc_ebp;
  int sc_isp;
  int sc_ebx;
  int sc_edx;
  int sc_ecx;
  int sc_eax;
  int sc_trapno;
  int sc_err;
  int sc_eip;
  int sc_cs;
  int sc_efl;
  int sc_esp;
  int sc_ss;
  int sc_len;




  int sc_fpformat;
  int sc_ownedfp;
  int sc_spare1[1];
  int sc_fpstate[128] __attribute__((__aligned__(16)));
  int sc_spare2[8];
};
# 38 "U:/USR/include/sys/signal.h" 2 3
# 366 "U:/USR/include/sys/signal.h" 3
typedef union sigval
{

     int sival_int;

     void *sival_ptr;


     int sigval_int;
     void *sigval_ptr;

} sigval_t;





typedef struct sigevent
{

     int sigev_notify;

     int sigev_signo;

     union sigval sigev_value;

     void (*sigev_notify_function)(sigval_t);

     void *sigev_notify_attributes;
} sigevent_t;







typedef struct __siginfo
{

     int si_signo;

     int si_errno;

     int si_code;

     unsigned si_timestamp;

     unsigned si_flags;

     __pid_t si_pid;

     unsigned si_pgrp;

     unsigned si_tid;

     __uid_t si_uid;

     int si_status;

     void *si_addr;

     union sigval si_value;

     long si_band;

     int si_fd;

     unsigned auReserved[6];
} siginfo_t;
# 451 "U:/USR/include/sys/signal.h" 3
typedef void __sighandler_t(int);

typedef void __siginfohandler_t(int, struct __siginfo *, void *);



typedef __sighandler_t *sig_t;



typedef __sighandler_t *sighandler_t;



struct __siginfo;


struct sigaction
{





     union
     {


         __siginfohandler_t *__sa_sigaction;

         __sighandler_t *__sa_handler;
     } __sigaction_u;

     sigset_t sa_mask;

     int sa_flags;
};
# 497 "U:/USR/include/sys/signal.h" 3
struct sigvec
{

     __sighandler_t *sv_handler;

     int sv_mask;

     int sv_flags;
};
# 515 "U:/USR/include/sys/signal.h" 3
typedef struct sigaltstack



{

     void *ss_sp;

     __size_t ss_size;

     int ss_flags;
} stack_t;





struct sigstack
{

     void *ss_sp;

     int ss_onstack;
};








__sighandler_t *signal(int, __sighandler_t *);
__sighandler_t *bsd_signal(int, __sighandler_t *);
__sighandler_t *_signal_sysv(int, __sighandler_t *);
__sighandler_t *_signal_os2(int, __sighandler_t *);
# 566 "U:/USR/include/sys/signal.h" 3

# 50 "U:/USR/include/signal.h" 2 3







extern const char *const sys_signame[(63 + 1)];
extern const char *const sys_siglist[(63 + 1)];
extern const int sys_nsig;
# 69 "U:/USR/include/signal.h" 3

int raise(int);


int kill(__pid_t, int);
int sigaction(int, const struct sigaction * __restrict,
      struct sigaction * __restrict);
int sigaddset(sigset_t *, int);
int sigdelset(sigset_t *, int);
int sigemptyset(sigset_t *);
int sigfillset(sigset_t *);
int sigismember(const sigset_t *, int);
int sigpending(sigset_t *);
int sigprocmask(int, const sigset_t * __restrict, sigset_t * __restrict);
int sigsuspend(const sigset_t *);
int sigwait(const sigset_t * __restrict, int * __restrict);
# 96 "U:/USR/include/signal.h" 3
int sigqueue(__pid_t, int, const union sigval);
struct timespec;
int sigtimedwait(const sigset_t * __restrict, siginfo_t * __restrict,
      const struct timespec * __restrict);
int sigwaitinfo(const sigset_t * __restrict, siginfo_t * __restrict);



int killpg(__pid_t, int);
int sigaltstack(const stack_t * __restrict, stack_t * __restrict);
int sigpause(int);



int siginterrupt(int, int);



int sigblock(int);
struct __ucontext;
int sigreturn(const struct __ucontext *);
int sigsetmask(int);
int sigstack(const struct sigstack *, struct sigstack *);
int sigvec(int, struct sigvec *, struct sigvec *);
void psignal(unsigned int, const char *);




int sighold(int);
int sigignore(int);
int sigrelse(int);
void (*sigset(int, void (*)(int)))(int);








# 35 "./signal.h" 2 3
# 29 "execute.c" 2


# 1 "error.h" 1
# 42 "error.h"
extern void error (int __status, int __errnum, const char *__format, ...)
      __attribute__ ((__format__ (__printf__, 3, 4)));

extern void error_at_line (int __status, int __errnum, const char *__fname,
       unsigned int __lineno, const char *__format, ...)
      __attribute__ ((__format__ (__printf__, 5, 6)));




extern void (*error_print_progname) (void);


extern unsigned int error_message_count;



extern int error_one_per_line;
# 32 "execute.c" 2
# 1 "fatal-signal.h" 1
# 54 "fatal-signal.h"
extern void at_fatal_signal (void (*function) (void));
# 68 "fatal-signal.h"
extern void block_fatal_signals (void);


extern void unblock_fatal_signals (void);
# 33 "execute.c" 2
# 1 "wait-process.h" 1
# 22 "wait-process.h"
# 1 "./stdlib.h" 1
# 20 "./stdlib.h"

# 21 "./stdlib.h" 3
# 23 "wait-process.h" 2
# 57 "wait-process.h"
extern int wait_subprocess (pid_t child, const char *progname,
        _Bool ignore_sigpipe, _Bool null_stderr,
        _Bool slave_process, _Bool exit_on_error,
        int *termsigp);





extern void register_slave_subprocess (pid_t child);
# 34 "execute.c" 2
# 1 "gettext.h" 1
# 126 "gettext.h"
__inline





static const char *
pgettext_aux (const char *domain,
        const char *msg_ctxt_id, const char *msgid,
        int category)
{
   const char *translation = ((void) (category), ((void) (domain), 
((const char *) (msg_ctxt_id))));
   if (translation == msg_ctxt_id)
     return msgid;
   else
     return translation;
}


__inline





static const char *
npgettext_aux (const char *domain,
         const char *msg_ctxt_id, const char *msgid,
         const char *msgid_plural, unsigned long int n,
         int category)
{
   const char *translation =
     ((void) (category), ((void) (domain), ((n) == 1 ? ((void) 
(msgid_plural), (const char *) (msg_ctxt_id)) : ((void) (msg_ctxt_id), 
(const char *) (msgid_plural)))));
   if (translation == msg_ctxt_id || translation == msgid_plural)
     return (n == 1 ? msgid : msgid_plural);
   else
     return translation;
}





# 1 "./string.h" 1
# 23 "./string.h"

# 24 "./string.h" 3



# 1 "U:/USR/include/string.h" 1 3
# 55 "U:/USR/include/string.h" 3
# 1 "U:/USR/include/strings.h" 1 3
# 47 "U:/USR/include/strings.h" 3

int bcmp(const void *, const void *, size_t);
void bcopy(const void *, void *, size_t);
void bzero(void *, size_t);
int ffs(int);
char *index(const char *, int);
char *rindex(const char *, int);
int strcasecmp(const char *, const char *);
int strncasecmp(const char *, const char *, size_t);

# 56 "U:/USR/include/string.h" 2 3
# 68 "U:/USR/include/string.h" 3


void *memccpy(void * __restrict, const void * __restrict, int, size_t);

void *memchr(const void *, int, size_t);
int memcmp(const void *, const void *, size_t);
void *memcpy(void * __restrict, const void * __restrict, size_t);
void *memmove(void *, const void *, size_t);
void *memset(void *, int, size_t);

char *stpcpy(char *, const char *);
char *strcasestr(const char *, const char *);

char *strcat(char * __restrict, const char * __restrict);
char *strchr(const char *, int);
int strcmp(const char *, const char *);
int strcoll(const char *, const char *);
char *strcpy(char * __restrict, const char * __restrict);
size_t strcspn(const char *, const char *);

char *strdup(const char *);

char *strerror(int);

int strerror_r(int, char *, size_t);


size_t strlcat(char *, const char *, size_t);
size_t strlcpy(char *, const char *, size_t);

size_t strlen(const char *);

void strmode(int, char *);

char *strncat(char * __restrict, const char * __restrict, size_t);
int strncmp(const char *, const char *, size_t);
char *strncpy(char * __restrict, const char * __restrict, size_t);

char *strnstr(const char *, const char *, size_t);

char *strpbrk(const char *, const char *);
char *strrchr(const char *, int);

char *strsep(char **, const char *);
  char *strsignal(int);

size_t strspn(const char *, const char *);
char *strstr(const char *, const char *);
char *strtok(char * __restrict, const char * __restrict);

char *strtok_r(char *, const char *, char **);

size_t strxfrm(char * __restrict, const char * __restrict, size_t);

void swab(const void *, void *, size_t);
# 132 "U:/USR/include/string.h" 3
int memicmp(__const__ void *, __const__ void *, size_t);
int stricmp(__const__ char *, __const__ char *);
char * strlwr(char *);
int strnicmp(__const__ char *, __const__ char *, size_t);
char * strnset(char *, int, size_t);
char * strrev(char *);
char * strset(char *, int);
char * strupr(char *);



size_t _memcount (__const__ void *, int, size_t);
size_t _memdif (__const__ void *, __const__ void *, size_t);
void *_memrchr (const void *, int, size_t);
void _memswap (void *, void *, size_t);
char *_strncpy (char *, __const__ char *, size_t);
void *_memccpy (void *, __const__ void *, int, size_t);
int _memicmp (__const__ void *, __const__ void *, size_t);
char *_strdup (__const__ char *);
int _stricmp (__const__ char *, __const__ char *);
char *_strlwr (char *);
int _strnicmp (__const__ char *, __const__ char *, size_t);
char *_strnset (char *, int, size_t);
char *_strrev (char *);
char *_strset (char *, int);
char *_strupr (char *);
char *_strsep (char **, __const__ char *);






void *_memcpy_amd(void *, const void *, size_t);






char *basename(const char *);
size_t strnlen(const char *, size_t);
void *mempcpy(void *, const void *, size_t);
char *strndup(const char *, size_t);
void *memrchr(const void *, int, size_t);

int strverscmp(const char *, const char *);
char *strchrnul(const char *, int);
void *rawmemchr(const void *, int);
char *stpncpy(char *, const char *, int);

size_t __strnlen(const char *, size_t);
void *__mempcpy(void *, const void *, size_t);
char *__strndup(const char *, size_t);
void *_memrchr(const void *, int, size_t);
void *__memrchr(const void *, int, size_t);

int __strverscmp(const char *, const char *);
char *__strchrnul(const char *, int);
void *__rawmemchr(const void *, int);
char *__stpncpy(char *, const char *, int);
# 214 "U:/USR/include/string.h" 3

# 28 "./string.h" 2 3
# 349 "./string.h" 3
char *rpl_strstr (const char *haystack, const char *needle)
   __attribute__ ((__pure__));
# 591 "./string.h" 3
extern char *rpl_strerror (int);
# 170 "gettext.h" 2
# 185 "gettext.h"
__inline





static const char *
dcpgettext_expr (const char *domain,
    const char *msgctxt, const char *msgid,
    int category)
{
   size_t msgctxt_len = strlen (msgctxt) + 1;
   size_t msgid_len = strlen (msgid) + 1;
   const char *translation;

   char msg_ctxt_id[msgctxt_len + msgid_len];
# 209 "gettext.h"
     {
       memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
       msg_ctxt_id[msgctxt_len - 1] = '\004';
       memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
       translation = ((void) (category), ((void) (domain), ((const char 
*) (msg_ctxt_id))));




       if (translation != msg_ctxt_id)
  return translation;
     }
   return msgid;
}







__inline





static const char *
dcnpgettext_expr (const char *domain,
     const char *msgctxt, const char *msgid,
     const char *msgid_plural, unsigned long int n,
     int category)
{
   size_t msgctxt_len = strlen (msgctxt) + 1;
   size_t msgid_len = strlen (msgid) + 1;
   const char *translation;

   char msg_ctxt_id[msgctxt_len + msgid_len];
# 255 "gettext.h"
     {
       memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
       msg_ctxt_id[msgctxt_len - 1] = '\004';
       memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
       translation = ((void) (category), ((void) (domain), ((n) == 1 ? 
((void) (msgid_plural), (const char *) (msg_ctxt_id)) : ((void) 
(msg_ctxt_id), (const char *) (msgid_plural)))));




       if (!(translation == msg_ctxt_id || translation == msgid_plural))
  return translation;
     }
   return (n == 1 ? msgid : msgid_plural);
}
# 35 "execute.c" 2
# 47 "execute.c"
# 1 "./spawn.h" 1
# 22 "./spawn.h"

# 23 "./spawn.h" 3




# 1 "U:/USR/include/spawn.h" 1 3
# 32 "U:/USR/include/spawn.h" 3
# 1 "./signal.h" 1 3
# 20 "./signal.h" 3

# 21 "./signal.h" 3
# 33 "U:/USR/include/spawn.h" 2 3
# 65 "U:/USR/include/spawn.h" 3
struct sched_param {
  int sched_priority;
};
# 77 "U:/USR/include/spawn.h" 3
typedef struct
{
   short int __flags;
   pid_t __pgrp;
   sigset_t __sd;
   sigset_t __ss;
   struct sched_param __sp;
   int __policy;
   int __pad[16];
} posix_spawnattr_t;




typedef struct
{
   int __allocated;
   int __used;
   struct __spawn_action *__actions;
   int __pad[16];
} posix_spawn_file_actions_t;
# 109 "U:/USR/include/spawn.h" 3




extern int posix_spawn (pid_t *__restrict __pid,
    const char *__restrict __path,
    const posix_spawn_file_actions_t *__restrict
    __file_actions,
    const posix_spawnattr_t *__restrict __attrp,
    char *const argv[__restrict],
    char *const envp[__restrict]) __attribute__ ((__nothrow__));


extern int posix_spawnp (pid_t *__pid, const char *__file,
     const posix_spawn_file_actions_t *__file_actions,
     const posix_spawnattr_t *__attrp,
     char *const argv[], char *const envp[]) __attribute__ ((__nothrow__));



extern int posix_spawnattr_init (posix_spawnattr_t *__attr) 
__attribute__ ((__nothrow__));


extern int posix_spawnattr_destroy (posix_spawnattr_t *__attr) 
__attribute__ ((__nothrow__));



extern int posix_spawnattr_getsigdefault (const posix_spawnattr_t *
        __restrict __attr,
        sigset_t *__restrict __sigdefault)
      __attribute__ ((__nothrow__));


extern int posix_spawnattr_setsigdefault (posix_spawnattr_t *__restrict 
__attr,
        const sigset_t *__restrict
        __sigdefault)
      __attribute__ ((__nothrow__));


extern int posix_spawnattr_getsigmask (const posix_spawnattr_t *__restrict
            __attr,
            sigset_t *__restrict __sigmask) __attribute__ ((__nothrow__));


extern int posix_spawnattr_setsigmask (posix_spawnattr_t *__restrict __attr,
            const sigset_t *__restrict __sigmask)
      __attribute__ ((__nothrow__));


extern int posix_spawnattr_getflags (const posix_spawnattr_t *__restrict
          __attr,
          short int *__restrict __flags) __attribute__ ((__nothrow__));


extern int posix_spawnattr_setflags (posix_spawnattr_t *_attr,
          short int __flags) __attribute__ ((__nothrow__));


extern int posix_spawnattr_getpgroup (const posix_spawnattr_t *__restrict
           __attr, pid_t *__restrict __pgroup)
      __attribute__ ((__nothrow__));


extern int posix_spawnattr_setpgroup (posix_spawnattr_t *__attr,
           pid_t __pgroup) __attribute__ ((__nothrow__));


extern int posix_spawnattr_getschedpolicy (const posix_spawnattr_t *
         __restrict __attr,
         int *__restrict __schedpolicy)
      __attribute__ ((__nothrow__));


extern int posix_spawnattr_setschedpolicy (posix_spawnattr_t *__attr,
         int __schedpolicy) __attribute__ ((__nothrow__));


extern int posix_spawnattr_getschedparam (const posix_spawnattr_t *
        __restrict __attr,
        struct sched_param *__restrict
        __schedparam) __attribute__ ((__nothrow__));


extern int posix_spawnattr_setschedparam (posix_spawnattr_t *__restrict 
__attr,
        const struct sched_param *
        __restrict __schedparam) __attribute__ ((__nothrow__));



extern int posix_spawn_file_actions_init (posix_spawn_file_actions_t *
        __file_actions) __attribute__ ((__nothrow__));


extern int posix_spawn_file_actions_destroy (posix_spawn_file_actions_t *
           __file_actions) __attribute__ ((__nothrow__));



extern int posix_spawn_file_actions_addopen (posix_spawn_file_actions_t *
           __restrict __file_actions,
           int __fd,
           const char *__restrict __path,
           int __oflag, mode_t __mode)
      __attribute__ ((__nothrow__));



extern int posix_spawn_file_actions_addclose (posix_spawn_file_actions_t *
            __file_actions, int __fd)
      __attribute__ ((__nothrow__));



extern int posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t *
           __file_actions,
           int __fd, int __newfd) __attribute__ ((__nothrow__));


# 28 "./spawn.h" 2 3





# 1 "./sched.h" 1 3
# 21 "./sched.h" 3

# 22 "./sched.h" 3
# 34 "./sched.h" 3
struct sched_param
{
   int sched_priority;
};
# 34 "./spawn.h" 2 3
# 1 "./signal.h" 1 3
# 20 "./signal.h" 3

# 21 "./signal.h" 3
# 35 "./spawn.h" 2 3
# 104 "./spawn.h" 3
typedef struct
{
   short int _flags;
   pid_t _pgrp;
   sigset_t _sd;
   sigset_t _ss;
   struct sched_param _sp;
   int _policy;
   int __pad[16];
} rpl_posix_spawnattr_t;







typedef struct
{
   int _allocated;
   int _used;
   struct __spawn_action *_actions;
   int __pad[16];
} rpl_posix_spawn_file_actions_t;
# 152 "./spawn.h" 3
typedef int verify_POSIX_SPAWN_USEVFORK_no_overlap
             [2 * (((0x01 | 0x02
       | 0x04 | 0x08
       | 0x10 | 0x20)
      & ((0x01 | (0x01 - 1) | 0x02 | (0x02 - 1) | 0x04 | (0x04 - 1) | 
0x08 | (0x08 - 1) | 0x10 | (0x10 - 1) | 0x20 | (0x20 - 1)) + 1)) == 0) - 1];
# 192 "./spawn.h" 3
extern int rpl_posix_spawnp (pid_t *__pid, const char *__file,
     const rpl_posix_spawn_file_actions_t *__file_actions,
     const rpl_posix_spawnattr_t *__attrp,
     char *const argv[], char *const envp[]);
# 206 "./spawn.h" 3
extern int rpl_posix_spawnattr_init (rpl_posix_spawnattr_t *__attr) 
__attribute__ ((__nothrow__));
# 216 "./spawn.h" 3
extern int rpl_posix_spawnattr_destroy (rpl_posix_spawnattr_t *__attr) 
__attribute__ ((__nothrow__));
# 262 "./spawn.h" 3
extern int rpl_posix_spawnattr_setsigmask (rpl_posix_spawnattr_t 
*restrict __attr,
            const sigset_t *restrict __sigmask)
      __attribute__ ((__nothrow__));
# 285 "./spawn.h" 3
extern int rpl_posix_spawnattr_setflags (rpl_posix_spawnattr_t *__attr,
          short int __flags) __attribute__ ((__nothrow__));
# 365 "./spawn.h" 3
extern int rpl_posix_spawn_file_actions_init 
(rpl_posix_spawn_file_actions_t *__file_actions) __attribute__ 
((__nothrow__));
# 375 "./spawn.h" 3
extern int rpl_posix_spawn_file_actions_destroy 
(rpl_posix_spawn_file_actions_t *__file_actions) __attribute__ 
((__nothrow__));
# 386 "./spawn.h" 3
extern int rpl_posix_spawn_file_actions_addopen 
(rpl_posix_spawn_file_actions_t *restrict __file_actions,
           int __fd,
           const char *restrict __path,
           int __oflag, mode_t __mode)
      __attribute__ ((__nothrow__));
# 401 "./spawn.h" 3
extern int rpl_posix_spawn_file_actions_addclose 
(rpl_posix_spawn_file_actions_t *__file_actions,
            int __fd)
      __attribute__ ((__nothrow__));
# 414 "./spawn.h" 3
extern int rpl_posix_spawn_file_actions_adddup2 
(rpl_posix_spawn_file_actions_t *__file_actions,
           int __fd, int __newfd) __attribute__ ((__nothrow__));
# 48 "execute.c" 2
# 63 "execute.c"
static inline int
nonintr_close (int fd)
{
   int retval;

   do
     retval = close (fd);
   while (retval < 0 && (* _errno()) == 4);

   return retval;
}


static inline int
nonintr_open (const char *pathname, int oflag, mode_t mode)
{
   int retval;

   do
     retval = open (pathname, oflag, mode);
   while (retval < 0 && (* _errno()) == 4);

   return retval;
}
# 99 "execute.c"
int
execute (const char *progname,
   const char *prog_path, char **prog_argv,
   _Bool ignore_sigpipe,
   _Bool null_stdin, _Bool null_stdout, _Bool null_stderr,
   _Bool slave_process, _Bool exit_on_error,
   int *termsigp)
{
# 203 "execute.c"
   sigset_t blocked_signals;
   rpl_posix_spawn_file_actions_t actions;
   _Bool actions_allocated;
   rpl_posix_spawnattr_t attrs;
   _Bool attrs_allocated;
   int err;
   pid_t child;

   if (slave_process)
     {
       sigprocmask (3, 0, &blocked_signals);
       block_fatal_signals ();
     }
   actions_allocated = 0;
   attrs_allocated = 0;
   if ((err = rpl_posix_spawn_file_actions_init (&actions)) != 0
       || (actions_allocated = 1,
    (null_stdin
      && (err = rpl_posix_spawn_file_actions_addopen (&actions,
        0,
        "/dev/null", 0x0000,
        0))
         != 0)
    || (null_stdout
        && (err = rpl_posix_spawn_file_actions_addopen (&actions,
          1,
          "/dev/null", 0x0002,
          0))
    != 0)
    || (null_stderr
        && (err = rpl_posix_spawn_file_actions_addopen (&actions,
          2,
          "/dev/null", 0x0002,
          0))
    != 0)
    || (slave_process
        && ((err = rpl_posix_spawnattr_init (&attrs)) != 0
     || (attrs_allocated = 1,
         (err = rpl_posix_spawnattr_setsigmask (&attrs,
         &blocked_signals))
         != 0
         || (err = rpl_posix_spawnattr_setflags (&attrs,
        0x08))
     != 0)))
    || (err = rpl_posix_spawnp (&child, prog_path, &actions,
       attrs_allocated ? &attrs : 0, prog_argv,
       environ))
       != 0))
     {
       if (actions_allocated)
  rpl_posix_spawn_file_actions_destroy (&actions);
       if (attrs_allocated)
  rpl_posix_spawnattr_destroy (&attrs);
       if (slave_process)
  unblock_fatal_signals ();
       if (termsigp != 0)
  *termsigp = 0;
       if (exit_on_error || !null_stderr)
  error (exit_on_error ? 1 : 0, err,
         ((const char *) ("%s subprocess failed")), progname);
       return 127;
     }
   rpl_posix_spawn_file_actions_destroy (&actions);
   if (attrs_allocated)
     rpl_posix_spawnattr_destroy (&attrs);
   if (slave_process)
     {
       register_slave_subprocess (child);
       unblock_fatal_signals ();
     }

   return wait_subprocess (child, progname, ignore_sigpipe, null_stderr,
      slave_process, exit_on_error, termsigp);


}


--

-- 
  With the best regards,

                              Elbert Pol

--------------------------------------------------
***  Take a look at www.romeepol.nl  ***
--------------------------------------------------



Eric Blake | 13 Apr 15:14 2009
Picon

Re: verbose testsuite output contains 1M newlines


According to Ralf Wildenhues on 11/23/2008 9:37 AM:
> * Eric Blake wrote on Sun, Nov 23, 2008 at 03:56:49PM CET:
>> According to Ralf Wildenhues on 11/23/2008 6:23 AM:
>>> running
>>>   make check-local TESTSUITEFLAGS=-v
>>>
>>> on M4 (git master) produces lots of output on GNU/Linux/bash.
> 
>> The problem stems from the fact that by default, when you
>> specify [stdout] as the third argument to AT_CHECK, autotest emits code
>> that both collects the file stdout (good) and copies the resulting file
>> into the log (annoying), and when -v is in effect, tees that copy to the
>> terminal (bad).  I think the idea behind this decision was that
>> testsuite.log should be self-contained, with everything needed to
>> reproduce why a test failed.
> 
> Yes.  I think the Autotest behavior is more or less ok for most tests.
> Maybe we can have AT_CHECK modifiers or sister macros that allow to
> specify that some output may not be suitable for the screen or the log
> file, due to size or content such as control characters.

Here's my proposal for the autotest side - ignore-nolog, stdout-nolog, and
stderr-nolog.  If you like this, then I can follow up with an m4 patch to
use them on the particular tests where we really don't need to see 1M of
newlines.

--
Don't work too hard, make some time for fun as well!

Eric Blake             ebb9 <at> byu.net
From 5f705e43fce78f68184b7c1e7a2665f52d64c748 Mon Sep 17 00:00:00 2001
From: Eric Blake <ebb9 <at> byu.net>
Date: Mon, 13 Apr 2009 07:10:32 -0600
Subject: [PATCH] Add stdout-nolog and ignore-nolog to AT_CHECK.

* lib/autotest/general.m4 (AT_DIFF_STDERR(stderr-nolog))
(AT_DIFF_STDERR(ignore-nolog), AT_DIFF_STDOUT(stdout-nolog))
(AT_DIFF_STDOUT(ignore-nolog)): New macros.
* tests/autotest.at (Logging): New test.
* doc/autoconf.texi (Writing Testsuites) <AT_CHECK>: Document the
new logging actions.
* NEWS: Likewise.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9 <at> byu.net>
---
 ChangeLog               |   10 ++++++++++
 NEWS                    |    3 ++-
 doc/autoconf.texi       |   23 ++++++++++++++++++++---
 lib/autotest/general.m4 |    6 ++++++
 tests/autotest.at       |   45 +++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 83 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 062198b..d87b650 100644
--- a/ChangeLog
+++ b/ChangeLog
 <at>  <at>  -1,5 +1,15  <at>  <at> 
 2009-04-13  Eric Blake  <ebb9 <at> byu.net>

+	Add stdout-nolog and ignore-nolog to AT_CHECK.
+	* lib/autotest/general.m4 (AT_DIFF_STDERR(stderr-nolog))
+	(AT_DIFF_STDERR(ignore-nolog), AT_DIFF_STDOUT(stdout-nolog))
+	(AT_DIFF_STDOUT(ignore-nolog)): New macros.
+	* tests/autotest.at (Logging): New test.
+	* doc/autoconf.texi (Writing Testsuites) <AT_CHECK>: Document the
+	new logging actions.
+	* NEWS: Likewise.
+	Reported by Ralf Wildenhues.
+
 	Teach AT_CHECK about hard failures.
 	* lib/autotest/general.m4 (AT_INIT) <at_fn_check_skip>
 	<at_fn_check_status, at_fn_group_postprocess>: Handle hard
diff --git a/NEWS b/NEWS
index 854533b..3f537be 100644
--- a/NEWS
+++ b/NEWS
 <at>  <at>  -10,7 +10,8  <at>  <at>  GNU Autoconf NEWS - User visible changes.
 ** The macro AT_CHECK now understands the concept of hard failure.  If
    a test exits with an unexpected status 99, cleanup actions for the
    test are inhibited and the test is treated as a failure regardless
-   of AT_XFAIL_IF.
+   of AT_XFAIL_IF.  It also understands the new directives
+   ignore-nolog, stdout-nolog, and stderr-nolog.

 ** The autotest macro AT_CHECK_NOESCAPE is now documented.

diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index ff359ad..958e4ef 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
 <at>  <at>  -22312,9 +22312,18  <at>  <at>  Writing Testsuites
  <at> table  <at> samp
  <at> item ignore
 The content of the output is ignored, but still captured in the test
-group log (if the test group later fails, the test group log is then
-copied into the overall testsuite log).  This is valid for both
- <at> var{stdout} and  <at> var{stderr}.
+group log (if the testsuite is run with option  <at> option{-v}, the test
+group log is displayed as the test is run; if the test group later
+fails, the test group log is also copied into the overall testsuite
+log).  This action is valid for both  <at> var{stdout} and  <at> var{stderr}.
+
+ <at> item ignore-nolog
+The content of the output is ignored, and nothing is captured in the log
+files.  If  <at> var{commands} are likely to produce binary output (including
+long lines) or large amounts of output, then logging the output can make
+it harder to locate details related to subsequent tests within the
+group, and could potentially corrupt terminal display of a user running
+ <at> command{testsuite -v}.

  <at> item stdout
 For the  <at> var{stdout} parameter, capture the content of standard output
 <at>  <at>  -22329,6 +22338,14  <at>  <at>  Writing Testsuites
 parameter, and the standard error capture file will be named
  <at> file{stderr}.

+ <at> item stdout-nolog
+ <at> itemx stderr-nolog
+Like  <at> samp{stdout} or  <at> samp{stderr}, except that the captured output is
+not duplicated into the test group log.  This action is particularly
+useful for an intermediate check that produces large amounts of data,
+which will be followed by another check that filters down to the
+relevant data, as it makes it easier to locate details in the log.
+
  <at> item expout
 For the  <at> var{stdout} parameter, compare standard output contents with
 the previously created file  <at> file{expout}, and list any differences in
diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4
index 80d7f66..2e622a5 100644
--- a/lib/autotest/general.m4
+++ b/lib/autotest/general.m4
 <at>  <at>  -2019,8 +2019,11  <at>  <at>  dnl COMMANDS may contain parameter expansions; expand them at runtime.
 # faster than using m4_case, and these are called very frequently.
 m4_define([AT_DIFF_STDERR(stderr)],
 	  [echo stderr:; tee stderr <"$at_stderr"])
+m4_define([AT_DIFF_STDERR(stderr-nolog)],
+	  [echo stderr captured; cp "$at_stderr" stderr])
 m4_define([AT_DIFF_STDERR(ignore)],
 	  [echo stderr:; cat "$at_stderr"])
+m4_define([AT_DIFF_STDERR(ignore-nolog)])
 m4_define([AT_DIFF_STDERR(experr)],
 	  [$at_diff experr "$at_stderr" || at_failed=:])
 m4_define([AT_DIFF_STDERR()],
 <at>  <at>  -2028,8 +2031,11  <at>  <at>  m4_define([AT_DIFF_STDERR()],

 m4_define([AT_DIFF_STDOUT(stdout)],
 	  [echo stdout:; tee stdout <"$at_stdout"])
+m4_define([AT_DIFF_STDOUT(stdout-nolog)],
+	  [echo stdout captured; cp "$at_stdout" stdout])
 m4_define([AT_DIFF_STDOUT(ignore)],
 	  [echo stdout:; cat "$at_stdout"])
+m4_define([AT_DIFF_STDOUT(ignore-nolog)])
 m4_define([AT_DIFF_STDOUT(expout)],
 	  [$at_diff expout "$at_stdout" || at_failed=:])
 m4_define([AT_DIFF_STDOUT()],
diff --git a/tests/autotest.at b/tests/autotest.at
index 8992852..ed898cd 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
 <at>  <at>  -287,6 +287,51  <at>  <at>  AT_CHECK_AT_TEST([errexit],
    AT_CHECK([grep "1 .* inhibited subsequent" stderr], [], [ignore])],
   [--errexit])

+AT_CHECK_AT([Logging],
+  [[AT_INIT([artificial test suite])
+    dnl intentionally write failing tests, to see what gets logged
+    AT_SETUP([one])
+    AT_CHECK([echo magicstring01], [1], [ignore])
+    AT_CLEANUP
+    AT_SETUP([two])
+    AT_CHECK([echo magicstring02 >&2], [1], [], [ignore])
+    AT_CLEANUP
+    AT_SETUP([three])
+    AT_CHECK([echo magicstring03], [1], [ignore-nolog])
+    AT_CLEANUP
+    AT_SETUP([four])
+    AT_CHECK([echo magicstring04 >&2], [1], [], [ignore-nolog])
+    AT_CLEANUP
+    AT_SETUP([five])
+    AT_CHECK([echo magicstring05], [1], [stdout])
+    AT_CLEANUP
+    AT_SETUP([six])
+    AT_CHECK([echo magicstring06 >&2], [1], [], [stderr])
+    AT_CLEANUP
+    AT_SETUP([seven])
+    AT_CHECK([echo magicstring07], [1], [stdout-nolog])
+    AT_CLEANUP
+    AT_SETUP([eight])
+    AT_CHECK([echo magicstring08 >&2], [1], [], [stderr-nolog])
+    AT_CLEANUP
+    AT_SETUP([nine])
+    echo magicstring09 > expout
+    AT_CHECK([echo magicstring09], [1], [expout])
+    AT_CLEANUP
+    AT_SETUP([ten])
+    echo magicstring10 > experr
+    AT_CHECK([echo magicstring10 >&2], [1], [], [experr])
+    AT_CLEANUP
+]], [], [1], [], [ignore], [],
+  [AT_CHECK([$CONFIG_SHELL ./micro-suite], [1], [ignore-nolog], [ignore-nolog])
+   AT_CHECK([grep '^magicstring' micro-suite.log], [],
+[[magicstring01
+magicstring02
+magicstring05
+magicstring06
+]])])
+
+
 AT_CHECK_AT_TEST([Cleanup],
   [AT_CHECK([test ! -f cleanup.success && test ! -f cleanup.failure])
    AT_CHECK_NOESCAPE([exit $value], [ignore], [$output],
--

-- 
1.6.1.2


Gmane