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:21 2009
Picon

Re: Reg M4


[adding bug-bison]

According to Prathima G on 4/2/2009 8:19 AM:
> 
> 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

Which version of bison?  At any rate, the version of m4/m4.m4 in bison.git
is rather old, and should probably be replaced with the version from
autoconf 2.63 or newer.  The bison version suffers from the problem that
it only finds the first m4 in PATH, whether or not it is good enough.  The
autoconf version has been improved to search the entire PATH, and validate
that whichever m4 is picked is really up to the task, rather than just
relying on its position in PATH.

Meanwhile, the workaround is simple - simply install GNU m4 earlier in
your PATH, or even add a symlink gm4 that points to your fresh
installation of GNU m4.

> Notice: The information contained in this e-mail

As a note of netiquette, this disclaimer is unenforceable on publicly
archived mailing lists.  However, some people refuse to reply to such mail
on principle.  You are better off using a different email account that
avoids adding this text from your employer.

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

Eric Blake             ebb9 <at> byu.net
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  ***
--------------------------------------------------



Prathima G | 3 Apr 16:39 2009

Re: Reg M4


Hi ,


Created the Symlinks  for gm4 and gnu4 and the PATH is also fine .

But still we raegetting the same problem .

We are using bison-2.3 and the version of the autoconf is 2.60 .

Could you please look into this.

\\BR
Prathima




Eric Blake <ebb9 <at> byu.net>

04/03/2009 08:51 AM

To
Prathima G <prathima.g <at> tcs.com>
cc
bug-m4 <at> gnu.org, K Mohammad <k.mohammad <at> tcs.com>, bug-bison <at> gnu.org
Subject
Re: Reg M4





-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

[adding bug-bison]

According to Prathima G on 4/2/2009 8:19 AM:
>
> 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

Which version of bison?  At any rate, the version of m4/m4.m4 in bison.git
is rather old, and should probably be replaced with the version from
autoconf 2.63 or newer.  The bison version suffers from the problem that
it only finds the first m4 in PATH, whether or not it is good enough.  The
autoconf version has been improved to search the entire PATH, and validate
that whichever m4 is picked is really up to the task, rather than just
relying on its position in PATH.

Meanwhile, the workaround is simple - simply install GNU m4 earlier in
your PATH, or even add a symlink gm4 that points to your fresh
installation of GNU m4.

> Notice: The information contained in this e-mail

As a note of netiquette, this disclaimer is unenforceable on publicly
archived mailing lists.  However, some people refuse to reply to such mail
on principle.  You are better off using a different email account that
avoids adding this text from your employer.

- --
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

iEYEARECAAYFAknVgJ0ACgkQ84KuGfSFAYA8dwCggZHvebGXm3+oiNuMlfwo2jkd
y+AAn1v9GDGV+6w42du3NidnmyEG7ZvI
=9hhG
-----END PGP SIGNATURE-----

ForwardSourceID:NT0000262E    
=====-----=====-----===== 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
Eric Blake | 3 Apr 16:56 2009
Picon

Re: Reg M4


[this is not an M4 bug; future replies can drop the bug-m4 list]

[please don't top-post on technical lists]

According to Prathima G on 4/3/2009 8:39 AM:
> 
> Hi ,
> 
> 
> Created the Symlinks  for gm4 and gnu4 and the PATH is also fine .
> 
> But still we raegetting the same problem .

What absolute path did you create your gm4 symlink at?  And what is your PATH?

> 
> We are using bison-2.3

Well, I already verified that all released versions of bison have the same
bug in their configure scripts; the best you can hope for is that the next
bison release will perform a better search for a working m4, by copying
how autoconf does the same search.

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

Eric Blake             ebb9 <at> byu.net
Santiago Vila | 11 Apr 16:25 2009
Picon

Which GFDL license for m4 docs?

Hello.

While packaging m4 1.4.13 for Debian I noticed that the NEWS file says:

** The manual is now distributed under the terms of FDL 1.3.

while doc/m4.texinfo still says:

Permission is granted to copy, distribute and/or modify this document
under the terms of the  <at> acronym{GNU} Free Documentation License,
Version 1.2 or any later version

so apparently m4 1.4.13 is still using 1.2.

Thanks.

Eric Blake | 11 Apr 16:32 2009
Picon

Re: Which GFDL license for m4 docs?


[adding licensing <at> gnu.org]

According to Santiago Vila on 4/11/2009 8:25 AM:
> Hello.
> 
> While packaging m4 1.4.13 for Debian I noticed that the NEWS file says:
> 
> ** The manual is now distributed under the terms of FDL 1.3.
> 
> while doc/m4.texinfo still says:
> 
> Permission is granted to copy, distribute and/or modify this document
> under the terms of the  <at> acronym{GNU} Free Documentation License,
> Version 1.2 or any later version
> 
> so apparently m4 1.4.13 is still using 1.2.

The intent is that m4 1.4.13 is using GFDL 1.3; the license file
fdl-1.3.texi is intentionally included as part of the manual.  You have
thus identified a bug in the comment at the top of m4.texinfo.

Do I need to release m4 1.4.14 to correct this licensing discrepancy?

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

Eric Blake             ebb9 <at> byu.net
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