This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc bug: convert_move -O3


$ cpan C-DynaLib-0.55

$ make test
gcc -c -I. -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -I/usr/local/include -DUSEIMPORTLIB -O3 -DVERSION=\"0.55
\" -DXS_VERSION=\"0.55\" "-I/usr/lib/perl5/5.8/cygwin/CORE" -DDYNALIB_DEFAULT_CONV=\"hack30\" -DDYNALIB_NUM_CALLBACKS=
4 -DDYNALIB_USE_hack30 DynaLib.c
conv.xsi: In function `XS_C__DynaLib_hack30_call_packed':
conv.xsi:67: internal compiler error: in convert_move, at expr.c:597
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [DynaLib.o] Error 1


#define hack30_CALL(func, type)						\
    ((*((type (*)()) hack30_pray))(ax,items,func))
num = hack30_CALL(symref, float);
-----------------------------------------------------------------------
easy reproducible testcase:

cat > gccO3bug.c

static int hack30_pray(ax, items, func)
int ax;
int items;
void *func;
{
	return 0;
}
int main () {
  int ax, items;
  void * symref;
  float num;
  num = ((*((float (*)()) hack30_pray))(ax,items,symref));
  return 0;
}
^D

gcc -c -O3 gccO3bug.c
internal compiler error: in convert_move, at expr.c:597
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/
http://phpwiki.org/
# 1 "DynaLib.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "DynaLib.c"
# 1 "DynaLib.xs"





# 1 "/usr/lib/perl5/5.8/cygwin/CORE/EXTERN.h" 1
# 7 "DynaLib.xs" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 1
# 37 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/config.h" 1
# 38 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 380 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/sys/types.h" 1 3 4
# 20 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/_ansi.h" 1 3 4
# 15 "/usr/include/_ansi.h" 3 4
# 1 "/usr/include/newlib.h" 1 3 4
# 16 "/usr/include/_ansi.h" 2 3 4
# 1 "/usr/include/sys/config.h" 1 3 4



# 1 "/usr/include/machine/ieeefp.h" 1 3 4
# 5 "/usr/include/sys/config.h" 2 3 4
# 151 "/usr/include/sys/config.h" 3 4
# 1 "/usr/include/cygwin/config.h" 1 3 4
# 152 "/usr/include/sys/config.h" 2 3 4
# 17 "/usr/include/_ansi.h" 2 3 4
# 21 "/usr/include/sys/types.h" 2 3 4




# 1 "/usr/include/machine/_types.h" 1 3 4
# 26 "/usr/include/machine/_types.h" 3 4
typedef signed char __int8_t ;
typedef unsigned char __uint8_t ;
# 36 "/usr/include/machine/_types.h" 3 4
typedef signed short __int16_t;
typedef unsigned short __uint16_t;
# 46 "/usr/include/machine/_types.h" 3 4
typedef __int16_t __int_least16_t;
typedef __uint16_t __uint_least16_t;
# 58 "/usr/include/machine/_types.h" 3 4
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
# 76 "/usr/include/machine/_types.h" 3 4
typedef __int32_t __int_least32_t;
typedef __uint32_t __uint_least32_t;
# 99 "/usr/include/machine/_types.h" 3 4
typedef signed long long __int64_t;
typedef unsigned long long __uint64_t;
# 26 "/usr/include/sys/types.h" 2 3 4
# 61 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/sys/_types.h" 1 3 4
# 12 "/usr/include/sys/_types.h" 3 4
# 1 "/usr/include/sys/lock.h" 1 3 4
# 14 "/usr/include/sys/lock.h" 3 4
typedef void *_LOCK_T;
# 44 "/usr/include/sys/lock.h" 3 4
void __cygwin_lock_init(_LOCK_T *);
void __cygwin_lock_init_recursive(_LOCK_T *);
void __cygwin_lock_fini(_LOCK_T *);
void __cygwin_lock_lock(_LOCK_T *);
int __cygwin_lock_trylock(_LOCK_T *);
void __cygwin_lock_unlock(_LOCK_T *);
# 13 "/usr/include/sys/_types.h" 2 3 4

typedef long _off_t;
__extension__ typedef long long _off64_t;


typedef int _ssize_t;





# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 1 3 4
# 354 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 3 4
typedef unsigned int wint_t;
# 25 "/usr/include/sys/_types.h" 2 3 4


typedef struct
{
  int __count;
  union
  {
    wint_t __wch;
    unsigned char __wchb[4];
  } __value;
} _mbstate_t;

typedef _LOCK_T _flock_t;


typedef void *_iconv_t;
# 62 "/usr/include/sys/types.h" 2 3 4







# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 1 3 4
# 151 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 3 4
typedef int ptrdiff_t;
# 213 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 3 4
typedef unsigned int size_t;
# 325 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 3 4
typedef short unsigned int wchar_t;
# 70 "/usr/include/sys/types.h" 2 3 4
# 1 "/usr/include/machine/types.h" 1 3 4
# 19 "/usr/include/machine/types.h" 3 4
typedef long int __off_t;
typedef int __pid_t;

__extension__ typedef long long int __loff_t;
# 71 "/usr/include/sys/types.h" 2 3 4
# 92 "/usr/include/sys/types.h" 3 4
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 unsigned long clock_t;




typedef long time_t;




struct timespec {
  time_t tv_sec;
  long tv_nsec;
};

struct itimerspec {
  struct timespec it_interval;
  struct timespec it_value;
};


typedef long daddr_t;
typedef char * caddr_t;
# 180 "/usr/include/sys/types.h" 3 4
typedef int pid_t;



typedef _ssize_t ssize_t;
# 203 "/usr/include/sys/types.h" 3 4
typedef unsigned short nlink_t;
# 225 "/usr/include/sys/types.h" 3 4
typedef long fd_mask;







typedef struct _types_fd_set {
        fd_mask fds_bits[(((64)+(((sizeof (fd_mask) * 8))-1))/((sizeof (fd_mask) * 8)))];
} _types_fd_set;
# 261 "/usr/include/sys/types.h" 3 4
typedef unsigned long clockid_t;




typedef unsigned long timer_t;




typedef long useconds_t;


# 1 "/usr/include/sys/features.h" 1 3 4
# 275 "/usr/include/sys/types.h" 2 3 4
# 379 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/cygwin/types.h" 1 3 4
# 20 "/usr/include/cygwin/types.h" 3 4
# 1 "/usr/include/sys/sysmacros.h" 1 3 4
# 21 "/usr/include/cygwin/types.h" 2 3 4
# 1 "/usr/include/stdint.h" 1 3 4
# 18 "/usr/include/stdint.h" 3 4
typedef signed char int8_t;
typedef short int16_t;
typedef long int32_t;
typedef long long int64_t;


typedef unsigned char uint8_t;
typedef unsigned short uint16_t;


typedef unsigned long uint32_t;

typedef unsigned long long uint64_t;



typedef signed char int_least8_t;
typedef short int_least16_t;
typedef long int_least32_t;
typedef long long int_least64_t;

typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned long uint_least32_t;
typedef unsigned long long uint_least64_t;



typedef signed char int_fast8_t;
typedef long int_fast16_t;
typedef long int_fast32_t;
typedef long long int_fast64_t;

typedef unsigned char uint_fast8_t;
typedef unsigned long uint_fast16_t;
typedef unsigned long uint_fast32_t;
typedef unsigned long long uint_fast64_t;





typedef long intptr_t;

typedef unsigned long uintptr_t;



typedef long long intmax_t;
typedef unsigned long long uintmax_t;
# 22 "/usr/include/cygwin/types.h" 2 3 4



typedef struct timespec timespec_t;




typedef struct timespec timestruc_t;





typedef _off64_t off_t;







typedef short __dev16_t;
typedef unsigned long __dev32_t;

typedef __dev32_t dev_t;







typedef long blksize_t;




typedef long __blkcnt32_t;
typedef long long __blkcnt64_t;

typedef __blkcnt64_t blkcnt_t;







typedef unsigned long fsblkcnt_t;




typedef unsigned long fsfilcnt_t;




typedef unsigned short __uid16_t;
typedef unsigned long __uid32_t;

typedef __uid32_t uid_t;







typedef unsigned short __gid16_t;
typedef unsigned long __gid32_t;

typedef __gid32_t gid_t;







typedef unsigned long __ino32_t;
typedef unsigned long long __ino64_t;

typedef __ino64_t ino_t;
# 115 "/usr/include/cygwin/types.h" 3 4
typedef unsigned long id_t;
# 137 "/usr/include/cygwin/types.h" 3 4
struct flock {
        short l_type;
        short l_whence;
        off_t l_start;
        off_t l_len;

        pid_t l_pid;




};



typedef long long key_t;







typedef unsigned long vm_offset_t;




typedef unsigned long vm_size_t;




typedef void *vm_object_t;




typedef unsigned char u_int8_t;



typedef __uint16_t u_int16_t;



typedef __uint32_t u_int32_t;



typedef __uint64_t u_int64_t;




typedef __int32_t register_t;




typedef char *addr_t;




typedef unsigned mode_t;





typedef struct __pthread_t {char __dummy;} *pthread_t;
typedef struct __pthread_mutex_t {char __dummy;} *pthread_mutex_t;

typedef struct __pthread_key_t {char __dummy;} *pthread_key_t;
typedef struct __pthread_attr_t {char __dummy;} *pthread_attr_t;
typedef struct __pthread_mutexattr_t {char __dummy;} *pthread_mutexattr_t;
typedef struct __pthread_condattr_t {char __dummy;} *pthread_condattr_t;
typedef struct __pthread_cond_t {char __dummy;} *pthread_cond_t;


typedef struct
{
  pthread_mutex_t mutex;
  int state;
}
pthread_once_t;
typedef struct __pthread_rwlock_t {char __dummy;} *pthread_rwlock_t;
typedef struct __pthread_rwlockattr_t {char __dummy;} *pthread_rwlockattr_t;
# 380 "/usr/include/sys/types.h" 2 3 4
# 381 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 391 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stdarg.h" 1 3 4
# 43 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 105 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stdarg.h" 3 4
typedef __gnuc_va_list va_list;
# 392 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 411 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/ctype.h" 1 3 4
# 10 "/usr/include/ctype.h" 3 4
int __attribute__((__cdecl__)) isalnum(int);
int __attribute__((__cdecl__)) isalpha(int);
int __attribute__((__cdecl__)) iscntrl(int);
int __attribute__((__cdecl__)) isdigit(int);
int __attribute__((__cdecl__)) isgraph(int);
int __attribute__((__cdecl__)) islower(int);
int __attribute__((__cdecl__)) isprint(int);
int __attribute__((__cdecl__)) ispunct(int);
int __attribute__((__cdecl__)) isspace(int);
int __attribute__((__cdecl__)) isupper(int);
int __attribute__((__cdecl__)) isxdigit(int);
int __attribute__((__cdecl__)) tolower(int);
int __attribute__((__cdecl__)) toupper(int);


int __attribute__((__cdecl__)) isblank(int);
int __attribute__((__cdecl__)) isascii(int);
int __attribute__((__cdecl__)) toascii(int);
int __attribute__((__cdecl__)) _tolower(int);
int __attribute__((__cdecl__)) _toupper(int);
# 44 "/usr/include/ctype.h" 3 4
extern const __attribute__((dllimport)) char _ctype_[];
# 412 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 423 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/locale.h" 1 3 4
# 24 "/usr/include/locale.h" 3 4


struct lconv
{
  char *decimal_point;
  char *thousands_sep;
  char *grouping;
  char *int_curr_symbol;
  char *currency_symbol;
  char *mon_decimal_point;
  char *mon_thousands_sep;
  char *mon_grouping;
  char *positive_sign;
  char *negative_sign;
  char int_frac_digits;
  char frac_digits;
  char p_cs_precedes;
  char p_sep_by_space;
  char n_cs_precedes;
  char n_sep_by_space;
  char p_sign_posn;
  char n_sign_posn;
};


char *__attribute__((__cdecl__)) setlocale (int category, const char *locale);
struct lconv *__attribute__((__cdecl__)) localeconv (void);


struct _reent;
char *__attribute__((__cdecl__)) _setlocale_r (struct _reent *, int category, const char *locale);
struct lconv *__attribute__((__cdecl__)) _localeconv_r (struct _reent *);


# 424 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 440 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/setjmp.h" 1 3 4
# 10 "/usr/include/setjmp.h" 3 4
# 1 "/usr/include/machine/setjmp.h" 1 3 4


# 216 "/usr/include/machine/setjmp.h" 3 4
typedef int jmp_buf[(13 * 4)];






# 1 "/usr/include/signal.h" 1 3 4




# 1 "/usr/include/sys/signal.h" 1 3 4
# 18 "/usr/include/sys/signal.h" 3 4
typedef unsigned long sigset_t;
# 107 "/usr/include/sys/signal.h" 3 4
# 1 "/usr/include/cygwin/signal.h" 1 3 4
# 29 "/usr/include/cygwin/signal.h" 3 4
typedef union sigval
{
  int sival_int;
  void *sival_ptr;
} sigval_t;

typedef struct sigevent
{
  sigval_t sigev_value;
  int sigev_signo;
  int sigev_notify;
  void (*sigev_notify_function) (sigval_t);
  pthread_attr_t *sigev_notify_attributes;
} sigevent_t;

#pragma pack(push,4)
typedef struct
{
  int si_signo;
  int si_code;
  pid_t si_pid;
  uid_t si_uid;
  int si_errno;

  union
  {
    __uint32_t __pad[32];
    union
    {

      struct
      {
        union
        {
          struct
          {
            timer_t si_tid;
            unsigned int si_overrun;
          };
          sigval_t si_sigval;
          sigval_t si_value;
        };
      };
    };


    struct
    {
      int si_status;
      clock_t si_utime;
      clock_t si_stime;
    };


    void *si_addr;
  };
} siginfo_t;
#pragma pack(pop)

enum
{
  SI_USER = 1,
  SI_ASYNCIO,

  SI_MESGQ,

  SI_TIMER,
  SI_QUEUE,

  SI_KERNEL,

  ILL_ILLOPC,
  ILL_ILLOPN,
  ILL_ILLADR,
  ILL_ILLTRP,
  ILL_PRVOPC,
  ILL_PRVREG,
  ILL_COPROC,
  ILL_BADSTK,

  FPE_INTDIV,
  FPE_INTOVF,
  FPE_FLTDIV,
  FPE_FLTOVF,
  FPE_FLTUND,
  FPE_FLTRES,
  FPE_FLTINV,
  FPE_FLTSUB,

  SEGV_MAPERR,
  SEGV_ACCERR,

  BUS_ADRALN,
  BUS_ADRERR,
  BUS_OBJERR,

  CLD_EXITED,
  CLD_KILLED,
  CLD_DUMPED,
  CLD_TRAPPED,
  CLD_STOPPED,
  CLD_CONTINUED
};

enum
{
  SIGEV_SIGNAL = 0,


  SIGEV_NONE,


  SIGEV_THREAD

};

typedef void (*_sig_func_ptr)(int);

struct sigaction
{
  union
  {
    _sig_func_ptr sa_handler;
    void (*sa_sigaction) ( int, siginfo_t *, void * );
  };
  sigset_t sa_mask;
  int sa_flags;
};
# 207 "/usr/include/cygwin/signal.h" 3 4
int sigwait (const sigset_t *, int *);
int sigwaitinfo (const sigset_t *, siginfo_t *);
int sighold (int);
int sigqueue(pid_t, int, const union sigval);
int siginterrupt (int, int);
# 108 "/usr/include/sys/signal.h" 2 3 4
# 131 "/usr/include/sys/signal.h" 3 4
int __attribute__((__cdecl__)) sigprocmask (int how, const sigset_t *set, sigset_t *oset);


int __attribute__((__cdecl__)) pthread_sigmask (int how, const sigset_t *set, sigset_t *oset);
# 145 "/usr/include/sys/signal.h" 3 4
int __attribute__((__cdecl__)) kill (int, int);
int __attribute__((__cdecl__)) killpg (pid_t, int);
int __attribute__((__cdecl__)) sigaction (int, const struct sigaction *, struct sigaction *);
int __attribute__((__cdecl__)) sigaddset (sigset_t *, const int);
int __attribute__((__cdecl__)) sigdelset (sigset_t *, const int);
int __attribute__((__cdecl__)) sigismember (const sigset_t *, int);
int __attribute__((__cdecl__)) sigfillset (sigset_t *);
int __attribute__((__cdecl__)) sigemptyset (sigset_t *);
int __attribute__((__cdecl__)) sigpending (sigset_t *);
int __attribute__((__cdecl__)) sigsuspend (const sigset_t *);
int __attribute__((__cdecl__)) sigpause (int);







int __attribute__((__cdecl__)) pthread_kill (pthread_t thread, int sig);
# 6 "/usr/include/signal.h" 2 3 4



typedef int sig_atomic_t;





struct _reent;

_sig_func_ptr __attribute__((__cdecl__)) _signal_r (struct _reent *, int, _sig_func_ptr);
int __attribute__((__cdecl__)) _raise_r (struct _reent *, int);


_sig_func_ptr __attribute__((__cdecl__)) signal (int, _sig_func_ptr);
int __attribute__((__cdecl__)) raise (int);



# 224 "/usr/include/machine/setjmp.h" 2 3 4






typedef int sigjmp_buf[(13 * 4)+2];
# 11 "/usr/include/setjmp.h" 2 3 4



void __attribute__((__cdecl__)) longjmp (jmp_buf __jmpb, int __retval);
int __attribute__((__cdecl__)) setjmp (jmp_buf __jmpb);


# 441 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2





# 1 "/usr/include/sys/param.h" 1 3 4
# 14 "/usr/include/sys/param.h" 3 4
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/limits.h" 1 3 4
# 11 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/limits.h" 3 4
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/syslimits.h" 1 3 4






# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/limits.h" 1 3 4
# 122 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/limits.h" 3 4
# 1 "/usr/include/limits.h" 1 3 4
# 13 "/usr/include/limits.h" 3 4
# 1 "/usr/include/features.h" 1 3 4
# 14 "/usr/include/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 15 "/usr/include/features.h" 2 3 4
# 14 "/usr/include/limits.h" 2 3 4
# 123 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/limits.h" 2 3 4
# 8 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/syslimits.h" 2 3 4
# 12 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/limits.h" 2 3 4
# 15 "/usr/include/sys/param.h" 2 3 4
# 447 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2




# 1 "/usr/include/stdlib.h" 1 3 4
# 14 "/usr/include/stdlib.h" 3 4
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 1 3 4
# 15 "/usr/include/stdlib.h" 2 3 4

# 1 "/usr/include/sys/reent.h" 1 3 4
# 19 "/usr/include/sys/reent.h" 3 4
typedef unsigned long __ULong;
# 40 "/usr/include/sys/reent.h" 3 4
struct _Bigint
{
  struct _Bigint *_next;
  int _k, _maxwds, _sign, _wds;
  __ULong _x[1];
};


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







struct _on_exit_args {
        void * _fnargs[32];
        void * _dso_handle[32];

        __ULong _fntypes;


        __ULong _is_cxa;
};
# 85 "/usr/include/sys/reent.h" 3 4
struct _atexit {
        struct _atexit *_next;
        int _ind;

        void (*_fns[32])(void);
        struct _on_exit_args _on_exit_args;
};
# 101 "/usr/include/sys/reent.h" 3 4
struct __sbuf {
        unsigned char *_base;
        int _size;
};






typedef long _fpos_t;



typedef _off64_t _fpos64_t;
# 166 "/usr/include/sys/reent.h" 3 4
struct __sFILE {
  unsigned char *_p;
  int _r;
  int _w;
  short _flags;
  short _file;
  struct __sbuf _bf;
  int _lbfsize;






  void * _cookie;

  _ssize_t __attribute__((__cdecl__)) (*_read) (void * _cookie, char *_buf, int _n);
  _ssize_t __attribute__((__cdecl__)) (*_write) (void * _cookie, const char *_buf, int _n);

  _fpos_t __attribute__((__cdecl__)) (*_seek) (void * _cookie, _fpos_t _offset, int _whence);
  int __attribute__((__cdecl__)) (*_close) (void * _cookie);


  struct __sbuf _ub;
  unsigned char *_up;
  int _ur;


  unsigned char _ubuf[3];
  unsigned char _nbuf[1];


  struct __sbuf _lb;


  int _blksize;
  int _offset;


  struct _reent *_data;



  _flock_t _lock;

};


struct __sFILE64 {
  unsigned char *_p;
  int _r;
  int _w;
  short _flags;
  short _file;
  struct __sbuf _bf;
  int _lbfsize;

  struct _reent *_data;


  void * _cookie;

  _ssize_t __attribute__((__cdecl__)) (*_read) (void * _cookie, char *_buf, int _n);
  _ssize_t __attribute__((__cdecl__)) (*_write) (void * _cookie, const char *_buf, int _n);

  _fpos_t __attribute__((__cdecl__)) (*_seek) (void * _cookie, _fpos_t _offset, int _whence);
  int __attribute__((__cdecl__)) (*_close) (void * _cookie);


  struct __sbuf _ub;
  unsigned char *_up;
  int _ur;


  unsigned char _ubuf[3];
  unsigned char _nbuf[1];


  struct __sbuf _lb;


  int _blksize;
  int _flags2;

  _off64_t _offset;
  _fpos64_t __attribute__((__cdecl__)) (*_seek64) (void * _cookie, _fpos64_t _offset, int _whence);


  _flock_t _lock;

};
typedef struct __sFILE64 __FILE;




struct _glue
{
  struct _glue *_next;
  int _niobs;
  __FILE *_iobs;
};
# 290 "/usr/include/sys/reent.h" 3 4
struct _rand48 {
  unsigned short _seed[3];
  unsigned short _mult[3];
  unsigned short _add;




};
# 565 "/usr/include/sys/reent.h" 3 4
struct _reent
{
  int _errno;




  __FILE *_stdin, *_stdout, *_stderr;

  int _inc;
  char _emergency[25];

  int _current_category;
  const char *_current_locale;

  int __sdidinit;

  void __attribute__((__cdecl__)) (*__cleanup) (struct _reent *);


  struct _Bigint *_result;
  int _result_k;
  struct _Bigint *_p5s;
  struct _Bigint **_freelist;


  int _cvtlen;
  char *_cvtbuf;

  union
    {
      struct
        {
          unsigned int _unused_rand;
          char * _strtok_last;
          char _asctime_buf[26];
          struct __tm _localtime_buf;
          int _gamma_signgam;
          __extension__ unsigned long long _rand_next;
          struct _rand48 _r48;
          _mbstate_t _mblen_state;
          _mbstate_t _mbtowc_state;
          _mbstate_t _wctomb_state;
          char _l64a_buf[8];
          char _signal_buf[24];
          int _getdate_err;
          _mbstate_t _mbrlen_state;
          _mbstate_t _mbrtowc_state;
          _mbstate_t _mbsrtowcs_state;
          _mbstate_t _wcrtomb_state;
          _mbstate_t _wcsrtombs_state;
        } _reent;



      struct
        {

          unsigned char * _nextf[30];
          unsigned int _nmalloc[30];
        } _unused;
    } _new;


  struct _atexit *_atexit;
  struct _atexit _atexit0;


  void (**(_sig_func))(int);




  struct _glue __sglue;
  __FILE __sf[3];
};
# 799 "/usr/include/sys/reent.h" 3 4
extern struct _reent *_impure_ptr ;
extern struct _reent *const _global_impure_ptr ;

void _reclaim_reent (struct _reent *);







  struct _reent * __attribute__((__cdecl__)) __getreent (void);
# 17 "/usr/include/stdlib.h" 2 3 4
# 1 "/usr/include/machine/stdlib.h" 1 3 4
# 18 "/usr/include/stdlib.h" 2 3 4

# 1 "/usr/include/alloca.h" 1 3 4
# 20 "/usr/include/stdlib.h" 2 3 4




typedef struct
{
  int quot;
  int rem;
} div_t;

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


typedef struct
{
  long long int quot;
  long long int rem;
} lldiv_t;
# 53 "/usr/include/stdlib.h" 3 4
extern __attribute__((dllimport)) int __mb_cur_max;



void __attribute__((__cdecl__)) abort (void) __attribute__ ((noreturn));
int __attribute__((__cdecl__)) abs (int);
int __attribute__((__cdecl__)) atexit (void (*__func)(void));
double __attribute__((__cdecl__)) atof (const char *__nptr);

float __attribute__((__cdecl__)) atoff (const char *__nptr);

int __attribute__((__cdecl__)) atoi (const char *__nptr);
int __attribute__((__cdecl__)) _atoi_r (struct _reent *, const char *__nptr);
long __attribute__((__cdecl__)) atol (const char *__nptr);
long __attribute__((__cdecl__)) _atol_r (struct _reent *, const char *__nptr);
void * __attribute__((__cdecl__)) bsearch (const void * __key, const void * __base, size_t __nmemb, size_t __size, int (* __attribute__((__cdecl__)) _compar) (const void *, const void *));




void * __attribute__((__cdecl__)) calloc (size_t __nmemb, size_t __size);
div_t __attribute__((__cdecl__)) div (int __numer, int __denom);
void __attribute__((__cdecl__)) exit (int __status) __attribute__ ((noreturn));
void __attribute__((__cdecl__)) free (void *);
char * __attribute__((__cdecl__)) getenv (const char *__string);
char * __attribute__((__cdecl__)) _getenv_r (struct _reent *, const char *__string);

const char *__attribute__((__cdecl__)) getprogname (void);

char * __attribute__((__cdecl__)) _findenv (const char *, int *);
char * __attribute__((__cdecl__)) _findenv_r (struct _reent *, const char *, int *);
long __attribute__((__cdecl__)) labs (long);
ldiv_t __attribute__((__cdecl__)) ldiv (long __numer, long __denom);
void * __attribute__((__cdecl__)) malloc (size_t __size);
int __attribute__((__cdecl__)) mblen (const char *, size_t);
int __attribute__((__cdecl__)) _mblen_r (struct _reent *, const char *, size_t, _mbstate_t *);
int __attribute__((__cdecl__)) mbtowc (wchar_t *, const char *, size_t);
int __attribute__((__cdecl__)) _mbtowc_r (struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *);
int __attribute__((__cdecl__)) wctomb (char *, wchar_t);
int __attribute__((__cdecl__)) _wctomb_r (struct _reent *, char *, wchar_t, _mbstate_t *);
size_t __attribute__((__cdecl__)) mbstowcs (wchar_t *, const char *, size_t);
size_t __attribute__((__cdecl__)) _mbstowcs_r (struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *);
size_t __attribute__((__cdecl__)) wcstombs (char *, const wchar_t *, size_t);
size_t __attribute__((__cdecl__)) _wcstombs_r (struct _reent *, char *, const wchar_t *, size_t, _mbstate_t *);


int __attribute__((__cdecl__)) mkstemp (char *);
char * __attribute__((__cdecl__)) mktemp (char *);


void __attribute__((__cdecl__)) qsort (void * __base, size_t __nmemb, size_t __size, int(*_compar)(const void *, const void *));
int __attribute__((__cdecl__)) rand (void);
void * __attribute__((__cdecl__)) realloc (void * __r, size_t __size);

void __attribute__((__cdecl__)) setprogname (const char *);

void __attribute__((__cdecl__)) srand (unsigned __seed);
double __attribute__((__cdecl__)) strtod (const char *__n, char **__end_PTR);
double __attribute__((__cdecl__)) _strtod_r (struct _reent *,const char *__n, char **__end_PTR);
float __attribute__((__cdecl__)) strtof (const char *__n, char **__end_PTR);






long __attribute__((__cdecl__)) strtol (const char *__n, char **__end_PTR, int __base);
long __attribute__((__cdecl__)) _strtol_r (struct _reent *,const char *__n, char **__end_PTR, int __base);
unsigned long __attribute__((__cdecl__)) strtoul (const char *__n, char **__end_PTR, int __base);
unsigned long __attribute__((__cdecl__)) _strtoul_r (struct _reent *,const char *__n, char **__end_PTR, int __base);

int __attribute__((__cdecl__)) system (const char *__string);


long __attribute__((__cdecl__)) a64l (const char *__input);
char * __attribute__((__cdecl__)) l64a (long __input);
char * __attribute__((__cdecl__)) _l64a_r (struct _reent *,long __input);
int __attribute__((__cdecl__)) on_exit (void (*__func)(int, void *),void * __arg);
void __attribute__((__cdecl__)) _Exit (int __status) __attribute__ ((noreturn));
int __attribute__((__cdecl__)) putenv (char *__string);
int __attribute__((__cdecl__)) _putenv_r (struct _reent *, char *__string);
int __attribute__((__cdecl__)) setenv (const char *__string, const char *__value, int __overwrite);
int __attribute__((__cdecl__)) _setenv_r (struct _reent *, const char *__string, const char *__value, int __overwrite);

char * __attribute__((__cdecl__)) gcvt (double,int,char *);
char * __attribute__((__cdecl__)) gcvtf (float,int,char *);
char * __attribute__((__cdecl__)) fcvt (double,int,int *,int *);
char * __attribute__((__cdecl__)) fcvtf (float,int,int *,int *);
char * __attribute__((__cdecl__)) ecvt (double,int,int *,int *);
char * __attribute__((__cdecl__)) ecvtbuf (double, int, int*, int*, char *);
char * __attribute__((__cdecl__)) fcvtbuf (double, int, int*, int*, char *);
char * __attribute__((__cdecl__)) ecvtf (float,int,int *,int *);
char * __attribute__((__cdecl__)) dtoa (double, int, int, int *, int*, char**);
int __attribute__((__cdecl__)) rand_r (unsigned *__seed);

double __attribute__((__cdecl__)) drand48 (void);
double __attribute__((__cdecl__)) _drand48_r (struct _reent *);
double __attribute__((__cdecl__)) erand48 (unsigned short [3]);
double __attribute__((__cdecl__)) _erand48_r (struct _reent *, unsigned short [3]);
long __attribute__((__cdecl__)) jrand48 (unsigned short [3]);
long __attribute__((__cdecl__)) _jrand48_r (struct _reent *, unsigned short [3]);
void __attribute__((__cdecl__)) lcong48 (unsigned short [7]);
void __attribute__((__cdecl__)) _lcong48_r (struct _reent *, unsigned short [7]);
long __attribute__((__cdecl__)) lrand48 (void);
long __attribute__((__cdecl__)) _lrand48_r (struct _reent *);
long __attribute__((__cdecl__)) mrand48 (void);
long __attribute__((__cdecl__)) _mrand48_r (struct _reent *);
long __attribute__((__cdecl__)) nrand48 (unsigned short [3]);
long __attribute__((__cdecl__)) _nrand48_r (struct _reent *, unsigned short [3]);
unsigned short *
       __attribute__((__cdecl__)) seed48 (unsigned short [3]);
unsigned short *
       __attribute__((__cdecl__)) _seed48_r (struct _reent *, unsigned short [3]);
void __attribute__((__cdecl__)) srand48 (long);
void __attribute__((__cdecl__)) _srand48_r (struct _reent *, long);
long long __attribute__((__cdecl__)) atoll (const char *__nptr);
long long __attribute__((__cdecl__)) _atoll_r (struct _reent *, const char *__nptr);
long long __attribute__((__cdecl__)) llabs (long long);
lldiv_t __attribute__((__cdecl__)) lldiv (long long __numer, long long __denom);
long long __attribute__((__cdecl__)) strtoll (const char *__n, char **__end_PTR, int __base);
long long __attribute__((__cdecl__)) _strtoll_r (struct _reent *, const char *__n, char **__end_PTR, int __base);
unsigned long long __attribute__((__cdecl__)) strtoull (const char *__n, char **__end_PTR, int __base);
unsigned long long __attribute__((__cdecl__)) _strtoull_r (struct _reent *, const char *__n, char **__end_PTR, int __base);




char * __attribute__((__cdecl__)) realpath (const char *, char *);
void __attribute__((__cdecl__)) unsetenv (const char *__string);
void __attribute__((__cdecl__)) _unsetenv_r (struct _reent *, const char *__string);
int __attribute__((__cdecl__)) random (void);
long __attribute__((__cdecl__)) srandom (unsigned __seed);
char * __attribute__((__cdecl__)) ptsname (int);
int __attribute__((__cdecl__)) grantpt (int);
int __attribute__((__cdecl__)) unlockpt (int);




char * __attribute__((__cdecl__)) _dtoa_r (struct _reent *, double, int, int, int *, int*, char**);







int __attribute__((__cdecl__)) _system_r (struct _reent *, const char *);

void __attribute__((__cdecl__)) __eprintf (const char *, const char *, unsigned int, const char *);
# 233 "/usr/include/stdlib.h" 3 4

# 452 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2




# 1 "/usr/include/unistd.h" 1 3 4



# 1 "/usr/include/sys/unistd.h" 1 3 4
# 13 "/usr/include/sys/unistd.h" 3 4
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 1 3 4
# 14 "/usr/include/sys/unistd.h" 2 3 4

extern char **environ;

void __attribute__((__cdecl__)) _exit (int __status ) __attribute__ ((noreturn));

int __attribute__((__cdecl__)) access (const char *__path, int __amode );
unsigned __attribute__((__cdecl__)) alarm (unsigned __secs );
int __attribute__((__cdecl__)) chdir (const char *__path );
int __attribute__((__cdecl__)) chmod (const char *__path, mode_t __mode );

int __attribute__((__cdecl__)) chown (const char *__path, uid_t __owner, gid_t __group );


int __attribute__((__cdecl__)) chroot (const char *__path );

int __attribute__((__cdecl__)) close (int __fildes );
char __attribute__((__cdecl__)) *ctermid (char *__s );
char __attribute__((__cdecl__)) *cuserid (char *__s );

int __attribute__((__cdecl__)) daemon (int nochdir, int noclose);

int __attribute__((__cdecl__)) dup (int __fildes );
int __attribute__((__cdecl__)) dup2 (int __fildes, int __fildes2 );

void __attribute__((__cdecl__)) endusershell (void);

int __attribute__((__cdecl__)) execl (const char *__path, const char *, ... );
int __attribute__((__cdecl__)) execle (const char *__path, const char *, ... );
int __attribute__((__cdecl__)) execlp (const char *__file, const char *, ... );
int __attribute__((__cdecl__)) execv (const char *__path, char * const __argv[] );
int __attribute__((__cdecl__)) execve (const char *__path, char * const __argv[], char * const __envp[] );
int __attribute__((__cdecl__)) execvp (const char *__file, char * const __argv[] );

int __attribute__((__cdecl__)) fchdir (int __fildes);

int __attribute__((__cdecl__)) fchmod (int __fildes, mode_t __mode );

int __attribute__((__cdecl__)) fchown (int __fildes, uid_t __owner, gid_t __group );

pid_t __attribute__((__cdecl__)) fork (void );
long __attribute__((__cdecl__)) fpathconf (int __fd, int __name );
int __attribute__((__cdecl__)) fsync (int __fd);
int __attribute__((__cdecl__)) fdatasync (int __fd);
char __attribute__((__cdecl__)) *getcwd (char *__buf, size_t __size );

int __attribute__((__cdecl__)) getdomainname (char *__name, size_t __len);


gid_t __attribute__((__cdecl__)) getegid (void );
uid_t __attribute__((__cdecl__)) geteuid (void );
gid_t __attribute__((__cdecl__)) getgid (void );

int __attribute__((__cdecl__)) getgroups (int __gidsetsize, gid_t __grouplist[] );

long __attribute__((__cdecl__)) gethostid (void);

char __attribute__((__cdecl__)) *getlogin (void );

int __attribute__((__cdecl__)) getlogin_r (char *name, size_t namesize);

char __attribute__((__cdecl__)) *getpass (const char *__prompt);
size_t __attribute__((__cdecl__)) getpagesize (void);

int __attribute__((__cdecl__)) getpeereid (int, uid_t *, gid_t *);

pid_t __attribute__((__cdecl__)) getpgid (pid_t);
pid_t __attribute__((__cdecl__)) getpgrp (void );
pid_t __attribute__((__cdecl__)) getpid (void );
pid_t __attribute__((__cdecl__)) getppid (void );

pid_t __attribute__((__cdecl__)) getsid (pid_t);


uid_t __attribute__((__cdecl__)) getuid (void );


char * __attribute__((__cdecl__)) getusershell (void);
char __attribute__((__cdecl__)) *getwd (char *__buf );
int __attribute__((__cdecl__)) iruserok (unsigned long raddr, int superuser, const char *ruser, const char *luser);

int __attribute__((__cdecl__)) isatty (int __fildes );

int __attribute__((__cdecl__)) lchown (const char *__path, uid_t __owner, gid_t __group );

int __attribute__((__cdecl__)) link (const char *__path1, const char *__path2 );
int __attribute__((__cdecl__)) nice (int __nice_value );

off_t __attribute__((__cdecl__)) lseek (int __fildes, off_t __offset, int __whence );

long __attribute__((__cdecl__)) pathconf (const char *__path, int __name );
int __attribute__((__cdecl__)) pause (void );

int __attribute__((__cdecl__)) pthread_atfork (void (*)(void), void (*)(void), void (*)(void));

int __attribute__((__cdecl__)) pipe (int __fildes[2] );
ssize_t __attribute__((__cdecl__)) pread (int __fd, void *__buf, size_t __nbytes, off_t __offset);
ssize_t __attribute__((__cdecl__)) pwrite (int __fd, const void *__buf, size_t __nbytes, off_t __offset);
_ssize_t __attribute__((__cdecl__)) read (int __fd, void *__buf, size_t __nbyte );

int __attribute__((__cdecl__)) rresvport (int *__alport);
int __attribute__((__cdecl__)) revoke (char *__path);

int __attribute__((__cdecl__)) rmdir (const char *__path );

int __attribute__((__cdecl__)) ruserok (const char *rhost, int superuser, const char *ruser, const char *luser);

void * __attribute__((__cdecl__)) sbrk (ptrdiff_t __incr);


int __attribute__((__cdecl__)) setegid (gid_t __gid );
int __attribute__((__cdecl__)) seteuid (uid_t __uid );

int __attribute__((__cdecl__)) setgid (gid_t __gid );


int __attribute__((__cdecl__)) setgroups (int ngroups, const gid_t *grouplist );

int __attribute__((__cdecl__)) setpgid (pid_t __pid, pid_t __pgid );
int __attribute__((__cdecl__)) setpgrp (void );

int __attribute__((__cdecl__)) setregid (gid_t __rgid, gid_t __egid);
int __attribute__((__cdecl__)) setreuid (uid_t __ruid, uid_t __euid);

pid_t __attribute__((__cdecl__)) setsid (void );

int __attribute__((__cdecl__)) setuid (uid_t __uid );


void __attribute__((__cdecl__)) setusershell (void);

unsigned __attribute__((__cdecl__)) sleep (unsigned int __seconds );
void __attribute__((__cdecl__)) swab (const void *, void *, ssize_t);
long __attribute__((__cdecl__)) sysconf (int __name );
pid_t __attribute__((__cdecl__)) tcgetpgrp (int __fildes );
int __attribute__((__cdecl__)) tcsetpgrp (int __fildes, pid_t __pgrp_id );
char __attribute__((__cdecl__)) *ttyname (int __fildes );

int __attribute__((__cdecl__)) ttyname_r (int, char *, size_t);

int __attribute__((__cdecl__)) unlink (const char *__path );
int __attribute__((__cdecl__)) vhangup (void );
_ssize_t __attribute__((__cdecl__)) write (int __fd, const void *__buf, size_t __nbyte );



# 1 "/usr/include/getopt.h" 1 3 4
# 42 "/usr/include/getopt.h" 3 4
extern int __attribute__((dllimport)) opterr;
extern int __attribute__((dllimport)) optind;
extern int __attribute__((dllimport)) optopt;
extern int __attribute__((dllimport)) optreset;
extern char __attribute__((dllimport)) *optarg;


int getopt (int, char * const *, const char *);
# 160 "/usr/include/sys/unistd.h" 2 3 4
# 169 "/usr/include/sys/unistd.h" 3 4
pid_t __attribute__((__cdecl__)) vfork (void );

extern char *suboptarg;
int getsubopt(char **, char * const *, char **);
# 195 "/usr/include/sys/unistd.h" 3 4
int __attribute__((__cdecl__)) ftruncate (int __fd, off_t __length);
int __attribute__((__cdecl__)) truncate (const char *, off_t __length);



int __attribute__((__cdecl__)) getdtablesize (void);
int __attribute__((__cdecl__)) setdtablesize (int);
useconds_t __attribute__((__cdecl__)) ualarm (useconds_t __useconds, useconds_t __interval);
unsigned __attribute__((__cdecl__)) usleep (unsigned int __useconds);


 int __attribute__((__cdecl__)) gethostname (char *__name, size_t __len);

char * __attribute__((__cdecl__)) mktemp (char *);

void __attribute__((__cdecl__)) sync (void);



int __attribute__((__cdecl__)) readlink (const char *__path, char *__buf, int __buflen);
int __attribute__((__cdecl__)) symlink (const char *__name1, const char *__name2);
# 5 "/usr/include/unistd.h" 2 3 4
# 457 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 475 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/embed.h" 1
# 476 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2





# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 1 3 4
# 482 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2






# 1 "/usr/include/string.h" 1 3 4
# 14 "/usr/include/string.h" 3 4
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 1 3 4
# 15 "/usr/include/string.h" 2 3 4







void * __attribute__((__cdecl__)) memchr (const void *, int, size_t);
int __attribute__((__cdecl__)) memcmp (const void *, const void *, size_t);
void * __attribute__((__cdecl__)) memcpy (void *, const void *, size_t);
void * __attribute__((__cdecl__)) memmove (void *, const void *, size_t);
void * __attribute__((__cdecl__)) memset (void *, int, size_t);
char *__attribute__((__cdecl__)) strcat (char *, const char *);
char *__attribute__((__cdecl__)) strchr (const char *, int);
int __attribute__((__cdecl__)) strcmp (const char *, const char *);
int __attribute__((__cdecl__)) strcoll (const char *, const char *);
char *__attribute__((__cdecl__)) strcpy (char *, const char *);
size_t __attribute__((__cdecl__)) strcspn (const char *, const char *);
char *__attribute__((__cdecl__)) strerror (int);
size_t __attribute__((__cdecl__)) strlen (const char *);
char *__attribute__((__cdecl__)) strncat (char *, const char *, size_t);
int __attribute__((__cdecl__)) strncmp (const char *, const char *, size_t);
char *__attribute__((__cdecl__)) strncpy (char *, const char *, size_t);
char *__attribute__((__cdecl__)) strpbrk (const char *, const char *);
char *__attribute__((__cdecl__)) strrchr (const char *, int);
size_t __attribute__((__cdecl__)) strspn (const char *, const char *);
char *__attribute__((__cdecl__)) strstr (const char *, const char *);


char *__attribute__((__cdecl__)) strtok (char *, const char *);


size_t __attribute__((__cdecl__)) strxfrm (char *, const char *, size_t);


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

int __attribute__((__cdecl__)) bcmp (const void *, const void *, size_t);
void __attribute__((__cdecl__)) bcopy (const void *, void *, size_t);
void __attribute__((__cdecl__)) bzero (void *, size_t);
int __attribute__((__cdecl__)) ffs (int);
char *__attribute__((__cdecl__)) index (const char *, int);
void * __attribute__((__cdecl__)) memccpy (void *, const void *, int, size_t);
void * __attribute__((__cdecl__)) mempcpy (void *, const void *, size_t);
char *__attribute__((__cdecl__)) rindex (const char *, int);
int __attribute__((__cdecl__)) strcasecmp (const char *, const char *);
char *__attribute__((__cdecl__)) strdup (const char *);
char *__attribute__((__cdecl__)) _strdup_r (struct _reent *, const char *);
char *__attribute__((__cdecl__)) strndup (const char *, size_t);
char *__attribute__((__cdecl__)) _strndup_r (struct _reent *, const char *, size_t);
char *__attribute__((__cdecl__)) strerror_r (int, char *, size_t);
size_t __attribute__((__cdecl__)) strlcat (char *, const char *, size_t);
size_t __attribute__((__cdecl__)) strlcpy (char *, const char *, size_t);
int __attribute__((__cdecl__)) strncasecmp (const char *, const char *, size_t);
size_t __attribute__((__cdecl__)) strnlen (const char *, size_t);
char *__attribute__((__cdecl__)) strsep (char **, const char *);
char *__attribute__((__cdecl__)) strlwr (char *);
char *__attribute__((__cdecl__)) strupr (char *);


const char *__attribute__((__cdecl__)) strsignal (int __signo);

int __attribute__((__cdecl__)) strtosigno (const char *__name);
# 96 "/usr/include/string.h" 3 4
# 1 "/usr/include/sys/string.h" 1 3 4
# 97 "/usr/include/string.h" 2 3 4


# 489 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 637 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/netinet/in.h" 1 3 4
# 14 "/usr/include/netinet/in.h" 3 4
# 1 "/usr/include/cygwin/in.h" 1 3 4
# 25 "/usr/include/cygwin/in.h" 3 4
enum
{
  IPPROTO_IP = 0,
  IPPROTO_ICMP = 1,
  IPPROTO_IGMP = 2,
  IPPROTO_IPIP = 4,
  IPPROTO_TCP = 6,
  IPPROTO_EGP = 8,
  IPPROTO_PUP = 12,
  IPPROTO_UDP = 17,
  IPPROTO_IDP = 22,
  IPPROTO_RAW = 255,
  IPPROTO_MAX
};
# 52 "/usr/include/cygwin/in.h" 3 4
typedef uint16_t in_port_t;

enum
{
  IPPORT_ECHO = 7,
  IPPORT_DISCARD = 9,
  IPPORT_SYSTAT = 11,
  IPPORT_DAYTIME = 13,
  IPPORT_NETSTAT = 15,
  IPPORT_FTP = 21,
  IPPORT_TELNET = 23,
  IPPORT_SMTP = 25,
  IPPORT_TIMESERVER = 37,
  IPPORT_NAMESERVER = 42,
  IPPORT_WHOIS = 43,
  IPPORT_MTP = 57,

  IPPORT_TFTP = 69,
  IPPORT_RJE = 77,
  IPPORT_FINGER = 79,
  IPPORT_TTYLINK = 87,
  IPPORT_SUPDUP = 95,


  IPPORT_EXECSERVER = 512,
  IPPORT_LOGINSERVER = 513,
  IPPORT_CMDSERVER = 514,
  IPPORT_EFSSERVER = 520,


  IPPORT_BIFFUDP = 512,
  IPPORT_WHOSERVER = 513,
  IPPORT_ROUTESERVER = 520,


  IPPORT_RESERVED = 1024,


  IPPORT_USERRESERVED = 5000
};

typedef uint32_t in_addr_t;

struct in_addr
{
  unsigned int s_addr;
};



struct ip_mreq
{
  struct in_addr imr_multiaddr;
  struct in_addr imr_interface;
};




struct sockaddr_in
{
  short int sin_family;
  unsigned short int sin_port;
  struct in_addr sin_addr;


  unsigned char __pad[16 - sizeof(short int)
                        - sizeof(unsigned short int) - sizeof(struct in_addr)];
};
# 175 "/usr/include/cygwin/in.h" 3 4
# 1 "/usr/include/asm/byteorder.h" 1 3 4
# 34 "/usr/include/asm/byteorder.h" 3 4
extern unsigned long int ntohl(unsigned long int);
extern unsigned short int ntohs(unsigned short int);
extern unsigned long int htonl(unsigned long int);
extern unsigned short int htons(unsigned short int);

extern __inline__ unsigned long int __ntohl(unsigned long int);
extern __inline__ unsigned short int __ntohs(unsigned short int);
extern __inline__ unsigned long int __constant_ntohl(unsigned long int);
extern __inline__ unsigned short int __constant_ntohs(unsigned short int);

extern __inline__ unsigned long int
__ntohl(unsigned long int x)
{
        __asm__("xchgb %b0,%h0\n\t"
                "rorl $16,%0\n\t"
                "xchgb %b0,%h0"
                :"=q" (x)
                : "0" (x));
        return x;
}







extern __inline__ unsigned short int
__ntohs(unsigned short int x)
{
        __asm__("xchgb %b0,%h0"
                : "=q" (x)
                : "0" (x));
        return x;
}
# 176 "/usr/include/cygwin/in.h" 2 3 4
# 15 "/usr/include/netinet/in.h" 2 3 4
# 638 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2



# 1 "/usr/include/arpa/inet.h" 1 3 4
# 22 "/usr/include/arpa/inet.h" 3 4
in_addr_t inet_addr (const char *);
int inet_aton (const char *, struct in_addr *);
in_addr_t inet_lnaof (struct in_addr);
struct in_addr inet_makeaddr (unsigned long , unsigned long);
in_addr_t inet_netof (struct in_addr);
in_addr_t inet_network (const char *);
char *inet_ntoa (struct in_addr);
# 642 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 651 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/sys/stat.h" 1 3 4
# 9 "/usr/include/sys/stat.h" 3 4
# 1 "/usr/include/time.h" 1 3 4
# 18 "/usr/include/time.h" 3 4
# 1 "/usr/include/machine/time.h" 1 3 4
# 19 "/usr/include/time.h" 2 3 4
# 27 "/usr/include/time.h" 3 4
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 1 3 4
# 28 "/usr/include/time.h" 2 3 4





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

clock_t __attribute__((__cdecl__)) clock (void);
double __attribute__((__cdecl__)) difftime (time_t _time2, time_t _time1);
time_t __attribute__((__cdecl__)) mktime (struct tm *_timeptr);
time_t __attribute__((__cdecl__)) time (time_t *_timer);

char *__attribute__((__cdecl__)) asctime (const struct tm *_tblock);
char *__attribute__((__cdecl__)) ctime (const time_t *_time);
struct tm *__attribute__((__cdecl__)) gmtime (const time_t *_timer);
struct tm *__attribute__((__cdecl__)) localtime (const time_t *_timer);

size_t __attribute__((__cdecl__)) strftime (char *_s, size_t _maxsize, const char *_fmt, const struct tm *_t);

char *__attribute__((__cdecl__)) asctime_r (const struct tm *, char *);
char *__attribute__((__cdecl__)) ctime_r (const time_t *, char *);
struct tm *__attribute__((__cdecl__)) gmtime_r (const time_t *, struct tm *);
struct tm *__attribute__((__cdecl__)) localtime_r (const time_t *, struct tm *);








char *__attribute__((__cdecl__)) strptime (const char *, const char *, struct tm *);
void __attribute__((__cdecl__)) tzset (void);
void __attribute__((__cdecl__)) _tzset_r (struct _reent *);

typedef struct __tzrule_struct
{
  char ch;
  int m;
  int n;
  int d;
  int s;
  time_t change;
  long offset;
} __tzrule_type;

typedef struct __tzinfo_struct
{
  int __tznorth;
  int __tzyear;
  __tzrule_type __tzrule[2];
} __tzinfo_type;

__tzinfo_type *__attribute__((__cdecl__)) __gettzinfo (void);
# 118 "/usr/include/time.h" 3 4
extern __attribute__((dllimport)) long _timezone;
extern __attribute__((dllimport)) int _daylight;
extern __attribute__((dllimport)) char *_tzname[2];
# 137 "/usr/include/time.h" 3 4
char *__attribute__((__cdecl__)) timezone (void);
# 158 "/usr/include/time.h" 3 4
int __attribute__((__cdecl__)) clock_settime (clockid_t clock_id, const struct timespec *tp);
int __attribute__((__cdecl__)) clock_gettime (clockid_t clock_id, struct timespec *tp);
int __attribute__((__cdecl__)) clock_getres (clockid_t clock_id, struct timespec *res);



int __attribute__((__cdecl__)) timer_create (clockid_t clock_id, struct sigevent *evp, timer_t *timerid);




int __attribute__((__cdecl__)) timer_delete (timer_t timerid);



int __attribute__((__cdecl__)) timer_settime (timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue);


int __attribute__((__cdecl__)) timer_gettime (timer_t timerid, struct itimerspec *value);
int __attribute__((__cdecl__)) timer_getoverrun (timer_t timerid);



int __attribute__((__cdecl__)) nanosleep (const struct timespec *rqtp, struct timespec *rmtp);
# 10 "/usr/include/sys/stat.h" 2 3 4
# 20 "/usr/include/sys/stat.h" 3 4
# 1 "/usr/include/cygwin/stat.h" 1 3 4
# 62 "/usr/include/cygwin/stat.h" 3 4
struct stat
{
  dev_t st_dev;
  ino_t st_ino;
  mode_t st_mode;
  nlink_t st_nlink;
  uid_t st_uid;
  gid_t st_gid;
  dev_t st_rdev;
  off_t st_size;
  timestruc_t st_atim;
  timestruc_t st_mtim;
  timestruc_t st_ctim;
  blksize_t st_blksize;
  blkcnt_t st_blocks;
  long st_spare4[2];
};
# 21 "/usr/include/sys/stat.h" 2 3 4
# 119 "/usr/include/sys/stat.h" 3 4
int __attribute__((__cdecl__)) chmod ( const char *__path, mode_t __mode );
int __attribute__((__cdecl__)) fchmod (int __fd, mode_t __mode);
int __attribute__((__cdecl__)) fstat ( int __fd, struct stat *__sbuf );
int __attribute__((__cdecl__)) mkdir ( const char *_path, mode_t __mode );
int __attribute__((__cdecl__)) mkfifo ( const char *__path, mode_t __mode );
int __attribute__((__cdecl__)) stat ( const char *__path, struct stat *__sbuf );
mode_t __attribute__((__cdecl__)) umask ( mode_t __mask );


int __attribute__((__cdecl__)) lstat ( const char *__path, struct stat *__buf );
int __attribute__((__cdecl__)) mknod ( const char *__path, mode_t __mode, dev_t __dev );
# 652 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 680 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/sys/time.h" 1 3 4
# 16 "/usr/include/sys/time.h" 3 4
struct timeval {
  long tv_sec;
  long tv_usec;
};

struct timezone {
  int tz_minuteswest;
  int tz_dsttime;
};


# 1 "/usr/include/sys/select.h" 1 3 4
# 23 "/usr/include/sys/select.h" 3 4
# 1 "/usr/include/sys/time.h" 1 3 4
# 24 "/usr/include/sys/select.h" 2 3 4







int select (int __n, _types_fd_set *__readfds, _types_fd_set *__writefds, _types_fd_set *__exceptfds, struct timeval *__timeout);

int pselect (int __n, _types_fd_set *__readfds, _types_fd_set *__writefds, _types_fd_set *__exceptfds, const struct timespec *__timeout, const sigset_t *__set);




# 28 "/usr/include/sys/time.h" 2 3 4
# 36 "/usr/include/sys/time.h" 3 4
struct itimerval {
  struct timeval it_interval;
  struct timeval it_value;
};
# 73 "/usr/include/sys/time.h" 3 4
int __attribute__((__cdecl__)) gettimeofday (struct timeval *__p, struct timezone *__z);
int __attribute__((__cdecl__)) settimeofday (const struct timeval *, const struct timezone *);
int __attribute__((__cdecl__)) utimes (const char *__path, const struct timeval *__tvp);
int __attribute__((__cdecl__)) getitimer (int __which, struct itimerval *__value);
int __attribute__((__cdecl__)) setitimer (int __which, const struct itimerval *__value, struct itimerval *__ovalue);
# 681 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2






# 1 "/usr/include/sys/times.h" 1 3 4
# 16 "/usr/include/sys/times.h" 3 4
struct tms {
        clock_t tms_utime;
        clock_t tms_stime;
        clock_t tms_cutime;
        clock_t tms_cstime;
};

clock_t __attribute__((__cdecl__)) times (struct tms *);
# 688 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2






# 1 "/usr/include/errno.h" 1 3 4




typedef int error_t;



# 1 "/usr/include/sys/errno.h" 1 3 4
# 15 "/usr/include/sys/errno.h" 3 4
extern int *__errno (void);




extern __attribute__((dllimport)) const char * const _sys_errlist[];
extern __attribute__((dllimport)) int _sys_nerr;

extern __attribute__((dllimport)) const char * const sys_errlist[];
extern __attribute__((dllimport)) int sys_nerr;
# 10 "/usr/include/errno.h" 2 3 4
# 695 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 709 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/sys/socket.h" 1 3 4
# 15 "/usr/include/sys/socket.h" 3 4
# 1 "/usr/include/cygwin/socket.h" 1 3 4
# 18 "/usr/include/cygwin/socket.h" 3 4
struct sockaddr {
  unsigned short sa_family;
  char sa_data[14];
};

# 1 "/usr/include/asm/socket.h" 1 3 4
# 14 "/usr/include/asm/socket.h" 3 4
# 1 "/usr/include/cygwin/if.h" 1 3 4
# 19 "/usr/include/cygwin/if.h" 3 4
# 1 "/usr/include/sys/socket.h" 1 3 4
# 20 "/usr/include/cygwin/if.h" 2 3 4
# 37 "/usr/include/cygwin/if.h" 3 4
struct ifreq
{


        union
        {
                char ifrn_name[16];
        } ifr_ifrn;

        union {
                struct sockaddr ifru_addr;
                struct sockaddr ifru_broadaddr;
                struct sockaddr ifru_netmask;
                struct sockaddr ifru_hwaddr;
                short ifru_flags;
                int ifru_metric;
                int ifru_mtu;
        } ifr_ifru;
};
# 74 "/usr/include/cygwin/if.h" 3 4
struct ifconf
{
        int ifc_len;
        union
        {
                caddr_t ifcu_buf;
                struct ifreq *ifcu_req;
        } ifc_ifcu;
};
# 15 "/usr/include/asm/socket.h" 2 3 4
# 24 "/usr/include/cygwin/socket.h" 2 3 4
# 1 "/usr/include/cygwin/sockios.h" 1 3 4
# 25 "/usr/include/cygwin/socket.h" 2 3 4
# 1 "/usr/include/cygwin/uio.h" 1 3 4
# 26 "/usr/include/cygwin/socket.h" 2 3 4


struct ucred {
  pid_t pid;
  __uid32_t uid;
  __gid32_t gid;
};

struct linger {
  unsigned short l_onoff;
 unsigned short l_linger;
};

struct msghdr
{
        void * msg_name;
        int msg_namelen;
        struct iovec * msg_iov;
        int msg_iovlen;
        void * msg_accrights;
        int msg_accrightslen;
};
# 16 "/usr/include/sys/socket.h" 2 3 4
# 29 "/usr/include/sys/socket.h" 3 4
  int accept (int, struct sockaddr *__peer, int *);
  int bind (int, const struct sockaddr *__my_addr, int __addrlen);
  int connect (int, const struct sockaddr *, int);
  int getpeername (int, struct sockaddr *__peer, int *);
  int getsockname (int, struct sockaddr *__addr, int *);
  int listen (int, int __n);
  int recv (int, void *__buff, int __len, int __flags);
  int recvfrom (int, void *__buff, int __len, int __flags,
                struct sockaddr *__from, int *__fromlen);
  int recvmsg(int s, struct msghdr *msg, int flags);
  int send (int, const void *__buff, int __len, int __flags);
  int sendmsg(int s, const struct msghdr *msg, int flags);
  int sendto (int, const void *, int __len, int __flags,
              const struct sockaddr *__to, int __tolen);
  int setsockopt (int __s, int __level, int __optname, const void *optval, int __optlen);
  int getsockopt (int __s, int __level, int __optname, void *__optval, int *__optlen);
  int shutdown (int, int);
  int socket (int __family, int __type, int __protocol);
  int socketpair (int __domain, int __type, int __protocol, int *__socket_vec);

  struct servent *getservbyname (const char *__name, const char *__proto);
# 710 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 736 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/netdb.h" 1 3 4
# 73 "/usr/include/netdb.h" 3 4
struct hostent {
        const char *h_name;
        char **h_aliases;
        short h_addrtype;
        short h_length;
        char **h_addr_list;

};






struct netent {
        char *n_name;
        char **n_aliases;
        short n_addrtype;
        unsigned long n_net;
};

struct servent {
        char *s_name;
        char **s_aliases;
        short s_port;
        char *s_proto;
};

struct protoent
{
  char *p_name;
  char **p_aliases;
  short p_proto;
};

struct rpcent {
        char *r_name;
        char **r_aliases;
        int r_number;
};
# 122 "/usr/include/netdb.h" 3 4
extern __attribute__((dllimport)) int h_errno;
# 134 "/usr/include/netdb.h" 3 4
void endhostent (void);
void endnetent (void);
void endprotoent (void);
void endservent (void);
void endrpcent (void);
struct hostent *gethostbyaddr (const char *, int, int);
struct hostent *gethostbyname (const char *);
struct hostent *gethostent (void);
struct netent *getnetbyaddr (long, int);
struct netent *getnetbyname (const char *);
struct netent *getnetent (void);
struct protoent *getprotobyname (const char *);
struct protoent *getprotobynumber (int);
struct protoent *getprotoent (void);
struct servent *getservbyname (const char *, const char *);
struct servent *getservbyport (int, const char *);
struct servent *getservent (void);
struct rpcent *getrpcent (void);
struct rpcent *getrpcbyname (const char *);
struct rpcent *getrpcbynumber (int);
const char *hstrerror (int);
void herror (const char *);
void sethostent (int);
void setnetent (int);
void setprotoent (int);
void setservent (int);
void setrpcent (int);
# 737 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 819 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
        char *strerror (int);
# 838 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/sys/ioctl.h" 1 3 4
# 24 "/usr/include/sys/ioctl.h" 3 4


int ioctl (int __fd, int __cmd, ...);


# 839 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 867 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/dirent.h" 1 3 4





# 1 "/usr/include/sys/dirent.h" 1 3 4
# 18 "/usr/include/sys/dirent.h" 3 4
#pragma pack(push,4)
# 31 "/usr/include/sys/dirent.h" 3 4
struct dirent
{
  long d_version;
  ino_t d_ino;
  long d_fd;
  unsigned long __ino32;
  char d_name[256];
};
# 50 "/usr/include/sys/dirent.h" 3 4
#pragma pack(pop)



#pragma pack(push,4)
typedef struct __DIR
{

  unsigned long __d_cookie;
  struct dirent *__d_dirent;
  char *__d_dirname;
  _off_t __d_position;
  __ino64_t __d_dirhash;
  void *__handle;
  void *__fh;
  unsigned __flags;
} DIR;
#pragma pack(pop)

DIR *opendir (const char *);
struct dirent *readdir (DIR *);
void rewinddir (DIR *);
int closedir (DIR *);

int dirfd (DIR *);



off_t telldir (DIR *);
void seekdir (DIR *, off_t loc);


int scandir (const char *__dir,
             struct dirent ***__namelist,
             int (*select) (const struct dirent *),
             int (*compar) (const struct dirent **, const struct dirent **));

int alphasort (const struct dirent **__a, const struct dirent **__b);
# 7 "/usr/include/dirent.h" 2 3 4
# 868 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1078 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
typedef long long IV;
typedef unsigned long long UV;
# 1196 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/limits.h" 1 3 4
# 1197 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2


# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/float.h" 1 3 4
# 1200 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1224 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/limits.h" 1 3 4
# 1225 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1256 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/limits.h" 1 3 4
# 1257 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1271 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
typedef double NV;


# 1 "/usr/include/ieeefp.h" 1 3 4





# 1 "/usr/include/machine/ieeefp.h" 1 3 4
# 7 "/usr/include/ieeefp.h" 2 3 4
# 51 "/usr/include/ieeefp.h" 3 4
typedef union
{
  double value;
  struct
  {






    unsigned int fraction1:32;
    unsigned int fraction0:20;

    unsigned int exponent :11;
    unsigned int sign : 1;
  } number;
  struct
  {






    unsigned int function1:32;
    unsigned int function0:19;

    unsigned int quiet:1;
    unsigned int exponent: 11;
    unsigned int sign : 1;
  } nan;
  struct
  {
    unsigned long lsw;
    unsigned long msw;
  } parts;

  long aslong[2];

} __ieee_double_shape_type;
# 123 "/usr/include/ieeefp.h" 3 4
typedef union
{
  float value;
  struct
  {
    unsigned int fraction0: 7;
    unsigned int fraction1: 16;
    unsigned int exponent: 8;
    unsigned int sign : 1;
  } number;
  struct
  {
    unsigned int function1:16;
    unsigned int function0:6;
    unsigned int quiet:1;
    unsigned int exponent:8;
    unsigned int sign:1;
  } nan;
  long p1;

} __ieee_float_shape_type;
# 153 "/usr/include/ieeefp.h" 3 4
typedef int fp_rnd;





fp_rnd __attribute__((__cdecl__)) fpgetround (void);
fp_rnd __attribute__((__cdecl__)) fpsetround (fp_rnd);



typedef int fp_except;






fp_except __attribute__((__cdecl__)) fpgetmask (void);
fp_except __attribute__((__cdecl__)) fpsetmask (fp_except);
fp_except __attribute__((__cdecl__)) fpgetsticky (void);
fp_except __attribute__((__cdecl__)) fpsetsticky (fp_except);



typedef int fp_rdi;



fp_rdi __attribute__((__cdecl__)) fpgetroundtoi (void);
fp_rdi __attribute__((__cdecl__)) fpsetroundtoi (fp_rdi);

int __attribute__((__cdecl__)) isnan (double);
int __attribute__((__cdecl__)) isinf (double);
int __attribute__((__cdecl__)) finite (double);



int __attribute__((__cdecl__)) isnanf (float);
int __attribute__((__cdecl__)) isinff (float);
int __attribute__((__cdecl__)) finitef (float);
# 1275 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1581 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/limits.h" 1 3 4
# 1582 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1746 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/malloc_ctl.h" 1



struct perl_mstats {
    UV *nfree;
    UV *ntotal;
    IV topbucket, topbucket_ev, topbucket_odd, totfree, total, total_chain;
    IV total_sbrk, sbrks, sbrk_good, sbrk_slack, start_slack, sbrked_remains;
    IV minbucket;

    UV *bucket_mem_size;
    UV *bucket_available_size;
    UV nbuckets;
};
typedef struct perl_mstats perl_mstats_t;


void * Perl_malloc (size_t nbytes);
void * Perl_calloc (size_t elements, size_t size);
void * Perl_realloc (void * where, size_t nbytes);


void Perl_mfree (void * where);





enum {
  MallocCfg_FIRST_SBRK,
  MallocCfg_MIN_SBRK,
  MallocCfg_MIN_SBRK_FRAC1000,
  MallocCfg_SBRK_ALLOW_FAILURES,
  MallocCfg_SBRK_FAILURE_PRICE,
  MallocCfg_sbrk_goodness,

  MallocCfg_filldead,
  MallocCfg_fillalive,
  MallocCfg_fillcheck,

  MallocCfg_skip_cfg_env,
  MallocCfg_cfg_env_read,

  MallocCfg_emergency_buffer_size,
  MallocCfg_emergency_buffer_last_req,

  MallocCfg_emergency_buffer_prepared_size,

  MallocCfg_last
};

enum {
  MallocCfgP_emergency_buffer,
  MallocCfgP_emergency_buffer_prepared,
  MallocCfgP_last
};

extern IV *MallocCfg_ptr;
extern char **MallocCfgP_ptr;

# 1747 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2


struct RExC_state_t;

typedef size_t STRLEN;

typedef struct op OP;
typedef struct cop COP;
typedef struct unop UNOP;
typedef struct binop BINOP;
typedef struct listop LISTOP;
typedef struct logop LOGOP;
typedef struct pmop PMOP;
typedef struct svop SVOP;
typedef struct padop PADOP;
typedef struct pvop PVOP;
typedef struct loop LOOP;

typedef struct interpreter PerlInterpreter;
# 1774 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
typedef struct sv SV;
typedef struct av AV;
typedef struct hv HV;
typedef struct cv CV;
typedef struct regexp REGEXP;
typedef struct gp GP;
typedef struct gv GV;
typedef struct io IO;
typedef struct context PERL_CONTEXT;
typedef struct block BLOCK;

typedef struct magic MAGIC;
typedef struct xrv XRV;
typedef struct xpv XPV;
typedef struct xpviv XPVIV;
typedef struct xpvuv XPVUV;
typedef struct xpvnv XPVNV;
typedef struct xpvmg XPVMG;
typedef struct xpvlv XPVLV;
typedef struct xpvav XPVAV;
typedef struct xpvhv XPVHV;
typedef struct xpvgv XPVGV;
typedef struct xpvcv XPVCV;
typedef struct xpvbm XPVBM;
typedef struct xpvfm XPVFM;
typedef struct xpvio XPVIO;
typedef struct mgvtbl MGVTBL;
typedef union any ANY;
typedef struct ptr_tbl_ent PTR_TBL_ENT_t;
typedef struct ptr_tbl PTR_TBL_t;
typedef struct clone_params CLONE_PARAMS;

# 1 "/usr/lib/perl5/5.8/cygwin/CORE/handy.h" 1
# 121 "/usr/lib/perl5/5.8/cygwin/CORE/handy.h"
# 1 "/usr/include/inttypes.h" 1 3 4
# 228 "/usr/include/inttypes.h" 3 4
typedef struct {
  intmax_t quot;
  intmax_t rem;
} imaxdiv_t;
# 122 "/usr/lib/perl5/5.8/cygwin/CORE/handy.h" 2
# 132 "/usr/lib/perl5/5.8/cygwin/CORE/handy.h"
typedef char I8;
typedef unsigned char U8;
typedef short I16;
typedef unsigned short U16;
typedef long I32;
typedef unsigned long U32;
# 516 "/usr/lib/perl5/5.8/cygwin/CORE/handy.h"
typedef U32 line_t;
# 1807 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1970 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/unixish.h" 1
# 1971 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 2072 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/pthread.h" 1 3 4
# 15 "/usr/include/pthread.h" 3 4
# 1 "/usr/include/sched.h" 1 3 4
# 24 "/usr/include/sched.h" 3 4
struct sched_param
{
  int sched_priority;
};






int sched_get_priority_max (int);

int sched_get_priority_min (int);

int sched_getparam (pid_t, struct sched_param *);

int sched_getscheduler (pid_t);

int sched_rr_get_interval (pid_t, struct timespec *);

int sched_setparam (pid_t, const struct sched_param *);

int sched_setscheduler (pid_t, int, const struct sched_param *);

int sched_yield (void);
# 16 "/usr/include/pthread.h" 2 3 4
# 75 "/usr/include/pthread.h" 3 4
int pthread_attr_destroy (pthread_attr_t *);
int pthread_attr_getdetachstate (const pthread_attr_t *, int *);
int pthread_attr_getinheritsched (const pthread_attr_t *, int *);
int pthread_attr_getschedparam (const pthread_attr_t *, struct sched_param *);
int pthread_attr_getschedpolicy (const pthread_attr_t *, int *);
int pthread_attr_getscope (const pthread_attr_t *, int *);
int pthread_attr_init (pthread_attr_t *);
int pthread_attr_setdetachstate (pthread_attr_t *, int);
int pthread_attr_setinheritsched (pthread_attr_t *, int);
int pthread_attr_setschedparam (pthread_attr_t *, const struct sched_param *);
int pthread_attr_setschedpolicy (pthread_attr_t *, int);
int pthread_attr_setscope (pthread_attr_t *, int);
# 98 "/usr/include/pthread.h" 3 4
int pthread_attr_getstacksize (const pthread_attr_t *, size_t *);
int pthread_attr_setstacksize (pthread_attr_t *, size_t);


int pthread_cancel (pthread_t);





typedef void (*__cleanup_routine_type) (void *);
typedef struct _pthread_cleanup_handler
{
  __cleanup_routine_type function;
  void *arg;
  struct _pthread_cleanup_handler *next;
} __pthread_cleanup_handler;

void _pthread_cleanup_push (__pthread_cleanup_handler *handler);
void _pthread_cleanup_pop (int execute);







int pthread_cond_broadcast (pthread_cond_t *);
int pthread_cond_destroy (pthread_cond_t *);
int pthread_cond_init (pthread_cond_t *, const pthread_condattr_t *);
int pthread_cond_signal (pthread_cond_t *);
int pthread_cond_timedwait (pthread_cond_t *,
                            pthread_mutex_t *, const struct timespec *);
int pthread_cond_wait (pthread_cond_t *, pthread_mutex_t *);
int pthread_condattr_destroy (pthread_condattr_t *);
int pthread_condattr_getpshared (const pthread_condattr_t *, int *);
int pthread_condattr_init (pthread_condattr_t *);
int pthread_condattr_setpshared (pthread_condattr_t *, int);

int pthread_create (pthread_t *, const pthread_attr_t *,
                    void *(*)(void *), void *);
int pthread_detach (pthread_t);
int pthread_equal (pthread_t, pthread_t);
void pthread_exit (void *);
int pthread_getschedparam (pthread_t, int *, struct sched_param *);
void *pthread_getspecific (pthread_key_t);
int pthread_join (pthread_t, void **);
int pthread_key_create (pthread_key_t *, void (*)(void *));
int pthread_key_delete (pthread_key_t);


int pthread_mutex_destroy (pthread_mutex_t *);
int pthread_mutex_getprioceiling (const pthread_mutex_t *, int *);
int pthread_mutex_init (pthread_mutex_t *, const pthread_mutexattr_t *);
int pthread_mutex_lock (pthread_mutex_t *);
int pthread_mutex_setprioceiling (pthread_mutex_t *, int, int *);
int pthread_mutex_trylock (pthread_mutex_t *);
int pthread_mutex_unlock (pthread_mutex_t *);
int pthread_mutexattr_destroy (pthread_mutexattr_t *);
int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *, int *);
int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *, int *);
int pthread_mutexattr_getpshared (const pthread_mutexattr_t *, int *);
int pthread_mutexattr_gettype (const pthread_mutexattr_t *, int *);
int pthread_mutexattr_init (pthread_mutexattr_t *);
int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *, int);
int pthread_mutexattr_setprotocol (pthread_mutexattr_t *, int);
int pthread_mutexattr_setpshared (pthread_mutexattr_t *, int);
int pthread_mutexattr_settype (pthread_mutexattr_t *, int);


int pthread_rwlock_destroy (pthread_rwlock_t *rwlock);
int pthread_rwlock_init (pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr);
int pthread_rwlock_rdlock (pthread_rwlock_t *rwlock);
int pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock);
int pthread_rwlock_wrlock (pthread_rwlock_t *rwlock);
int pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock);
int pthread_rwlock_unlock (pthread_rwlock_t *rwlock);
int pthread_rwlockattr_init (pthread_rwlockattr_t *rwlockattr);
int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *attr,
                                   int *pshared);
int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared);
int pthread_rwlockattr_destroy (pthread_rwlockattr_t *rwlockattr);

int pthread_once (pthread_once_t *, void (*)(void));


int pthread_getconcurrency (void);
int pthread_setconcurrency (int);


pthread_t pthread_self (void);
int pthread_setcancelstate (int, int *);
int pthread_setcanceltype (int, int *);
int pthread_setschedparam (pthread_t, int, const struct sched_param *);
int pthread_setspecific (pthread_key_t, const void *);
void pthread_testcancel (void);



int pthread_suspend (pthread_t);
int pthread_continue (pthread_t);
# 2073 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2

typedef pthread_t perl_os_thread;
typedef pthread_mutex_t perl_mutex;
typedef pthread_cond_t perl_cond;
typedef pthread_key_t perl_key;
# 2272 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/io.h" 1 3 4
# 21 "/usr/include/io.h" 3 4
extern long get_osfhandle(int);
extern int setmode (int __fd, int __mode);
int access(const char *__path, int __amode);
# 2273 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2





void init_os_extras(void);





union any {
    void* any_ptr;
    I32 any_i32;
    IV any_iv;
    long any_long;
    char any_bool;
    void (*any_dptr) (void*);
    void (*any_dxptr) (register PerlInterpreter *my_perl __attribute__((unused)), void*);
};
# 2301 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
typedef I32 (*filter_t) (register PerlInterpreter *my_perl __attribute__((unused)), int, SV *, int);
# 2324 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/iperlsys.h" 1
# 51 "/usr/lib/perl5/5.8/cygwin/CORE/iperlsys.h"
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/perlio.h" 1
# 65 "/usr/lib/perl5/5.8/cygwin/CORE/perlio.h"
# 1 "/usr/include/stdio.h" 1 3 4
# 34 "/usr/include/stdio.h" 3 4
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include/stddef.h" 1 3 4
# 35 "/usr/include/stdio.h" 2 3 4
# 48 "/usr/include/stdio.h" 3 4


typedef __FILE FILE;



typedef _fpos64_t fpos_t;
# 65 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/sys/stdio.h" 1 3 4
# 66 "/usr/include/stdio.h" 2 3 4
# 170 "/usr/include/stdio.h" 3 4
FILE * __attribute__((__cdecl__)) tmpfile (void);
char * __attribute__((__cdecl__)) tmpnam (char *);
int __attribute__((__cdecl__)) fclose (FILE *);
int __attribute__((__cdecl__)) fflush (FILE *);
FILE * __attribute__((__cdecl__)) freopen (const char *, const char *, FILE *);
void __attribute__((__cdecl__)) setbuf (FILE *, char *);
int __attribute__((__cdecl__)) setvbuf (FILE *, char *, int, size_t);
int __attribute__((__cdecl__)) fprintf (FILE *, const char *, ...);
int __attribute__((__cdecl__)) fscanf (FILE *, const char *, ...);
int __attribute__((__cdecl__)) printf (const char *, ...);
int __attribute__((__cdecl__)) scanf (const char *, ...);
int __attribute__((__cdecl__)) sscanf (const char *, const char *, ...);
int __attribute__((__cdecl__)) vfprintf (FILE *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) vprintf (const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) vsprintf (char *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) fgetc (FILE *);
char * __attribute__((__cdecl__)) fgets (char *, int, FILE *);
int __attribute__((__cdecl__)) fputc (int, FILE *);
int __attribute__((__cdecl__)) fputs (const char *, FILE *);
int __attribute__((__cdecl__)) getc (FILE *);
int __attribute__((__cdecl__)) getchar (void);
char * __attribute__((__cdecl__)) gets (char *);
int __attribute__((__cdecl__)) putc (int, FILE *);
int __attribute__((__cdecl__)) putchar (int);
int __attribute__((__cdecl__)) puts (const char *);
int __attribute__((__cdecl__)) ungetc (int, FILE *);
size_t __attribute__((__cdecl__)) fread (void *, size_t _size, size_t _n, FILE *);
size_t __attribute__((__cdecl__)) fwrite (const void * , size_t _size, size_t _n, FILE *);



int __attribute__((__cdecl__)) fgetpos (FILE *, fpos_t *);

int __attribute__((__cdecl__)) fseek (FILE *, long, int);



int __attribute__((__cdecl__)) fsetpos (FILE *, const fpos_t *);

long __attribute__((__cdecl__)) ftell ( FILE *);
void __attribute__((__cdecl__)) rewind (FILE *);
void __attribute__((__cdecl__)) clearerr (FILE *);
int __attribute__((__cdecl__)) feof (FILE *);
int __attribute__((__cdecl__)) ferror (FILE *);
void __attribute__((__cdecl__)) perror (const char *);

FILE * __attribute__((__cdecl__)) fopen (const char *_name, const char *_type);
int __attribute__((__cdecl__)) sprintf (char *, const char *, ...);
int __attribute__((__cdecl__)) remove (const char *);
int __attribute__((__cdecl__)) rename (const char *, const char *);






int __attribute__((__cdecl__)) fseeko (FILE *, off_t, int);
off_t __attribute__((__cdecl__)) ftello ( FILE *);


int __attribute__((__cdecl__)) asiprintf (char **, const char *, ...);
int __attribute__((__cdecl__)) asprintf (char **, const char *, ...);
int __attribute__((__cdecl__)) fcloseall (void);
int __attribute__((__cdecl__)) fiprintf (FILE *, const char *, ...);
int __attribute__((__cdecl__)) iprintf (const char *, ...);
int __attribute__((__cdecl__)) siprintf (char *, const char *, ...);
int __attribute__((__cdecl__)) snprintf (char *, size_t, const char *, ...);
int __attribute__((__cdecl__)) sniprintf (char *, size_t, const char *, ...);
char * __attribute__((__cdecl__)) tempnam (const char *, const char *);
int __attribute__((__cdecl__)) vasiprintf (char **, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) vasprintf (char **, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) vsniprintf (char *, size_t, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) vsnprintf (char *, size_t, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) vfiprintf (FILE *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) vfiscanf (FILE *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) vfscanf (FILE *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) viscanf (const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) vscanf (const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) vsiscanf (const char *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) vsscanf (const char *, const char *, __gnuc_va_list);
# 259 "/usr/include/stdio.h" 3 4
FILE * __attribute__((__cdecl__)) fdopen (int, const char *);

int __attribute__((__cdecl__)) fileno (FILE *);
int __attribute__((__cdecl__)) getw (FILE *);
int __attribute__((__cdecl__)) pclose (FILE *);
FILE * __attribute__((__cdecl__)) popen (const char *, const char *);
int __attribute__((__cdecl__)) putw (int, FILE *);
void __attribute__((__cdecl__)) setbuffer (FILE *, char *, int);
int __attribute__((__cdecl__)) setlinebuf (FILE *);
int __attribute__((__cdecl__)) getc_unlocked (FILE *);
int __attribute__((__cdecl__)) getchar_unlocked (void);
void __attribute__((__cdecl__)) flockfile (FILE *);
int __attribute__((__cdecl__)) ftrylockfile (FILE *);
void __attribute__((__cdecl__)) funlockfile (FILE *);
int __attribute__((__cdecl__)) putc_unlocked (int, FILE *);
int __attribute__((__cdecl__)) putchar_unlocked (int);






int __attribute__((__cdecl__)) _asiprintf_r (struct _reent *, char **, const char *, ...);
int __attribute__((__cdecl__)) _asprintf_r (struct _reent *, char **, const char *, ...);
int __attribute__((__cdecl__)) _fcloseall_r (struct _reent *);
FILE * __attribute__((__cdecl__)) _fdopen_r (struct _reent *, int, const char *);
FILE * __attribute__((__cdecl__)) _fopen_r (struct _reent *, const char *, const char *);
int __attribute__((__cdecl__)) _fclose_r (struct _reent *, FILE *);
int __attribute__((__cdecl__)) _fiscanf_r (struct _reent *, FILE *, const char *, ...);
int __attribute__((__cdecl__)) _fscanf_r (struct _reent *, FILE *, const char *, ...);
int __attribute__((__cdecl__)) _fseek_r (struct _reent *, FILE *, long, int);
long __attribute__((__cdecl__)) _ftell_r (struct _reent *, FILE *);
int __attribute__((__cdecl__)) _getchar_r (struct _reent *);
char * __attribute__((__cdecl__)) _gets_r (struct _reent *, char *);
int __attribute__((__cdecl__)) _iprintf_r (struct _reent *, const char *, ...);
int __attribute__((__cdecl__)) _iscanf_r (struct _reent *, const char *, ...);
int __attribute__((__cdecl__)) _mkstemp_r (struct _reent *, char *);
char * __attribute__((__cdecl__)) _mktemp_r (struct _reent *, char *);
void __attribute__((__cdecl__)) _perror_r (struct _reent *, const char *);
int __attribute__((__cdecl__)) _printf_r (struct _reent *, const char *, ...);
int __attribute__((__cdecl__)) _putchar_r (struct _reent *, int);
int __attribute__((__cdecl__)) _puts_r (struct _reent *, const char *);
int __attribute__((__cdecl__)) _remove_r (struct _reent *, const char *);
int __attribute__((__cdecl__)) _rename_r (struct _reent *, const char *_old, const char *_new);

int __attribute__((__cdecl__)) _scanf_r (struct _reent *, const char *, ...);
int __attribute__((__cdecl__)) _siprintf_r (struct _reent *, char *, const char *, ...);
int __attribute__((__cdecl__)) _siscanf_r (struct _reent *, const char *, const char *, ...);
int __attribute__((__cdecl__)) _sniprintf_r (struct _reent *, char *, size_t, const char *, ...);
int __attribute__((__cdecl__)) _snprintf_r (struct _reent *, char *, size_t, const char *, ...);
int __attribute__((__cdecl__)) _sprintf_r (struct _reent *, char *, const char *, ...);
int __attribute__((__cdecl__)) _sscanf_r (struct _reent *, const char *, const char *, ...);
char * __attribute__((__cdecl__)) _tempnam_r (struct _reent *, const char *, const char *);
FILE * __attribute__((__cdecl__)) _tmpfile_r (struct _reent *);
char * __attribute__((__cdecl__)) _tmpnam_r (struct _reent *, char *);
int __attribute__((__cdecl__)) _ungetc_r (struct _reent *, int, FILE *);
int __attribute__((__cdecl__)) _vasiprintf_r (struct _reent *, char **, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vasprintf_r (struct _reent *, char **, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vfiprintf_r (struct _reent *, FILE *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vfprintf_r (struct _reent *, FILE *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _viprintf_r (struct _reent *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vprintf_r (struct _reent *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vsiprintf_r (struct _reent *, char *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vsprintf_r (struct _reent *, char *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vsniprintf_r (struct _reent *, char *, size_t, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vsnprintf_r (struct _reent *, char *, size_t, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vfiscanf_r (struct _reent *, FILE *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vfscanf_r (struct _reent *, FILE *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _viscanf_r (struct _reent *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vscanf_r (struct _reent *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vsscanf_r (struct _reent *, const char *, const char *, __gnuc_va_list);
int __attribute__((__cdecl__)) _vsiscanf_r (struct _reent *, const char *, const char *, __gnuc_va_list);

ssize_t __attribute__((__cdecl__)) __getdelim (char **, size_t *, int, FILE *);
ssize_t __attribute__((__cdecl__)) __getline (char **, size_t *, FILE *);
# 359 "/usr/include/stdio.h" 3 4
int __attribute__((__cdecl__)) __srget (FILE *);
int __attribute__((__cdecl__)) __swbuf (int, FILE *);






FILE *__attribute__((__cdecl__)) funopen (const void * _cookie, int (*readfn)(void * _cookie, char *_buf, int _n), int (*writefn)(void * _cookie, const char *_buf, int _n), fpos_t (*seekfn)(void * _cookie, fpos_t _off, int _whence), int (*closefn)(void * _cookie));
# 384 "/usr/include/stdio.h" 3 4
static __inline__ int __sgetc(FILE *__p)
  {
    int __c = (--(__p)->_r < 0 ? __srget(__p) : (int)(*(__p)->_p++));
    if ((__p->_flags & 0x4000) && (__c == '\r'))
      {
      int __c2 = (--(__p)->_r < 0 ? __srget(__p) : (int)(*(__p)->_p++));
      if (__c2 == '\n')
        __c = __c2;
      else
        ungetc(__c2, __p);
      }
    return __c;
  }
# 466 "/usr/include/stdio.h" 3 4

# 66 "/usr/lib/perl5/5.8/cygwin/CORE/perlio.h" 2
# 99 "/usr/lib/perl5/5.8/cygwin/CORE/perlio.h"
typedef struct _PerlIO PerlIOl;
typedef struct _PerlIO_funcs PerlIO_funcs;
typedef PerlIOl *PerlIO;



extern void PerlIO_define_layer(register PerlInterpreter *my_perl __attribute__((unused)), PerlIO_funcs *tab);
extern PerlIO_funcs *PerlIO_find_layer(register PerlInterpreter *my_perl __attribute__((unused)), const char *name, STRLEN len,
                                       int load);
extern PerlIO *PerlIO_push(register PerlInterpreter *my_perl __attribute__((unused)), PerlIO *f, PerlIO_funcs *tab,
                           const char *mode, SV *arg);
extern void PerlIO_pop(register PerlInterpreter *my_perl __attribute__((unused)), PerlIO *f);
extern AV* PerlIO_get_layers(register PerlInterpreter *my_perl __attribute__((unused)), PerlIO *f);
extern void PerlIO_clone(register PerlInterpreter *my_perl __attribute__((unused)), PerlInterpreter *proto, CLONE_PARAMS *param);
# 197 "/usr/lib/perl5/5.8/cygwin/CORE/perlio.h"

# 214 "/usr/lib/perl5/5.8/cygwin/CORE/perlio.h"
extern void PerlIO_init(register PerlInterpreter *my_perl __attribute__((unused)));


extern int PerlIO_stdoutf(const char *, ...)
    ;


extern int PerlIO_puts(PerlIO *, const char *);


extern PerlIO *PerlIO_open(const char *, const char *);


extern PerlIO *PerlIO_openn(register PerlInterpreter *my_perl __attribute__((unused)), const char *layers, const char *mode,
                            int fd, int imode, int perm, PerlIO *old,
                            int narg, SV **arg);
# 241 "/usr/lib/perl5/5.8/cygwin/CORE/perlio.h"
extern int PerlIO_getc(PerlIO *);


extern int PerlIO_putc(PerlIO *, int);


extern int PerlIO_ungetc(PerlIO *, int);


extern PerlIO *PerlIO_fdopen(int, const char *);


extern PerlIO *PerlIO_importFILE(FILE *, const char *);


extern FILE *PerlIO_exportFILE(PerlIO *, const char *);


extern FILE *PerlIO_findFILE(PerlIO *);


extern void PerlIO_releaseFILE(PerlIO *, FILE *);
# 277 "/usr/lib/perl5/5.8/cygwin/CORE/perlio.h"
extern int PerlIO_printf(PerlIO *, const char *, ...)
    ;


extern int PerlIO_sprintf(char *, int, const char *, ...)
    ;


extern int PerlIO_vprintf(PerlIO *, const char *, va_list);
# 294 "/usr/lib/perl5/5.8/cygwin/CORE/perlio.h"
extern void PerlIO_rewind(PerlIO *);


extern int PerlIO_has_base(PerlIO *);


extern int PerlIO_has_cntptr(PerlIO *);


extern int PerlIO_fast_gets(PerlIO *);


extern int PerlIO_canset_cnt(PerlIO *);
# 327 "/usr/lib/perl5/5.8/cygwin/CORE/perlio.h"
extern PerlIO *PerlIO_tmpfile(void);
# 339 "/usr/lib/perl5/5.8/cygwin/CORE/perlio.h"
extern int PerlIO_getpos(PerlIO *, SV *);


extern int PerlIO_setpos(PerlIO *, SV *);


extern PerlIO *PerlIO_fdupopen(register PerlInterpreter *my_perl __attribute__((unused)), PerlIO *, CLONE_PARAMS *, int);


extern char *PerlIO_modestr(PerlIO *, char *buf);


extern int PerlIO_isutf8(PerlIO *);


extern int PerlIO_apply_layers(register PerlInterpreter *my_perl __attribute__((unused)), PerlIO *f, const char *mode,
                               const char *names);


extern int PerlIO_binmode(register PerlInterpreter *my_perl __attribute__((unused)), PerlIO *f, int iotype, int omode,
                          const char *names);


extern char *PerlIO_getname(PerlIO *, char *);


extern void PerlIO_destruct(register PerlInterpreter *my_perl __attribute__((unused)));

extern int PerlIO_intmode2str(int rawmode, char *mode, int *writing);


extern void PerlIO_cleanup(register PerlInterpreter *my_perl __attribute__((unused)));

extern void PerlIO_debug(const char *fmt, ...);
typedef struct PerlIO_list_s PerlIO_list_t;





# 52 "/usr/lib/perl5/5.8/cygwin/CORE/iperlsys.h" 2


typedef void (*Sighandler_t) (int);
# 2325 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 2337 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/regexp.h" 1
# 19 "/usr/lib/perl5/5.8/cygwin/CORE/regexp.h"
struct regnode {
    U8 flags;
    U8 type;
    U16 next_off;
};

typedef struct regnode regnode;

struct reg_substr_data;

struct reg_data;

typedef struct regexp {
        I32 *startp;
        I32 *endp;
        regnode *regstclass;
        struct reg_substr_data *substrs;
        char *precomp;
        struct reg_data *data;
        char *subbeg;

        U32 *offsets;
        I32 sublen;
        I32 refcnt;
        I32 minlen;
        I32 prelen;
        U32 nparens;
        U32 lastparen;
        U32 lastcloseparen;
        U32 reganch;

        regnode program[1];
} regexp;
# 129 "/usr/lib/perl5/5.8/cygwin/CORE/regexp.h"
struct re_scream_pos_data_s;
# 2338 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/sv.h" 1
# 46 "/usr/lib/perl5/5.8/cygwin/CORE/sv.h"
typedef enum {
        SVt_NULL,
        SVt_IV,
        SVt_NV,
        SVt_RV,
        SVt_PV,
        SVt_PVIV,
        SVt_PVNV,
        SVt_PVMG,
        SVt_PVBM,
        SVt_PVLV,
        SVt_PVAV,
        SVt_PVHV,
        SVt_PVCV,
        SVt_PVGV,
        SVt_PVFM,
        SVt_PVIO
} svtype;



struct sv {
    void* sv_any;
    U32 sv_refcnt;
    U32 sv_flags;
};

struct gv {
    XPVGV* sv_any;
    U32 sv_refcnt;
    U32 sv_flags;
};

struct cv {
    XPVCV* sv_any;
    U32 sv_refcnt;
    U32 sv_flags;
};

struct av {
    XPVAV* sv_any;
    U32 sv_refcnt;
    U32 sv_flags;
};

struct hv {
    XPVHV* sv_any;
    U32 sv_refcnt;
    U32 sv_flags;
};

struct io {
    XPVIO* sv_any;
    U32 sv_refcnt;
    U32 sv_flags;
};
# 244 "/usr/lib/perl5/5.8/cygwin/CORE/sv.h"
struct xrv {
    SV * xrv_rv;
};

struct xpv {
    char * xpv_pv;
    STRLEN xpv_cur;
    STRLEN xpv_len;
};

struct xpviv {
    char * xpv_pv;
    STRLEN xpv_cur;
    STRLEN xpv_len;
    IV xiv_iv;
};

struct xpvuv {
    char * xpv_pv;
    STRLEN xpv_cur;
    STRLEN xpv_len;
    UV xuv_uv;
};

struct xpvnv {
    char * xpv_pv;
    STRLEN xpv_cur;
    STRLEN xpv_len;
    IV xiv_iv;
    NV xnv_nv;
};


struct xpvmg {
    char * xpv_pv;
    STRLEN xpv_cur;
    STRLEN xpv_len;
    IV xiv_iv;
    NV xnv_nv;
    MAGIC* xmg_magic;
    HV* xmg_stash;
};

struct xpvlv {
    char * xpv_pv;
    STRLEN xpv_cur;
    STRLEN xpv_len;
    IV xiv_iv;
    NV xnv_nv;
    MAGIC* xmg_magic;
    HV* xmg_stash;

    STRLEN xlv_targoff;
    STRLEN xlv_targlen;
    SV* xlv_targ;
    char xlv_type;

};

struct xpvgv {
    char * xpv_pv;
    STRLEN xpv_cur;
    STRLEN xpv_len;
    IV xiv_iv;
    NV xnv_nv;
    MAGIC* xmg_magic;
    HV* xmg_stash;

    GP* xgv_gp;
    char* xgv_name;
    STRLEN xgv_namelen;
    HV* xgv_stash;
    U8 xgv_flags;
};

struct xpvbm {
    char * xpv_pv;
    STRLEN xpv_cur;
    STRLEN xpv_len;
    IV xiv_iv;
    NV xnv_nv;
    MAGIC* xmg_magic;
    HV* xmg_stash;

    I32 xbm_useful;
    U16 xbm_previous;
    U8 xbm_rare;
};



typedef U16 cv_flags_t;

struct xpvfm {
    char * xpv_pv;
    STRLEN xpv_cur;
    STRLEN xpv_len;
    IV xiv_iv;
    NV xnv_nv;
    MAGIC* xmg_magic;
    HV* xmg_stash;

    HV * xcv_stash;
    OP * xcv_start;
    OP * xcv_root;
    void (*xcv_xsub)(register PerlInterpreter *my_perl __attribute__((unused)), CV*);
    ANY xcv_xsubany;
    GV * xcv_gv;
    char * xcv_file;
    long xcv_depth;
    AV * xcv_padlist;
    CV * xcv_outside;




    cv_flags_t xcv_flags;
    U32 xcv_outside_seq;


    IV xfm_lines;
};

struct xpvio {
    char * xpv_pv;
    STRLEN xpv_cur;
    STRLEN xpv_len;
    IV xiv_iv;
    NV xnv_nv;
    MAGIC* xmg_magic;
    HV* xmg_stash;

    PerlIO * xio_ifp;
    PerlIO * xio_ofp;
# 387 "/usr/lib/perl5/5.8/cygwin/CORE/sv.h"
    union {
        DIR * xiou_dirp;
        void * xiou_any;
    } xio_dirpu;
    IV xio_lines;
    IV xio_page;
    IV xio_page_len;
    IV xio_lines_left;
    char * xio_top_name;
    GV * xio_top_gv;
    char * xio_fmt_name;
    GV * xio_fmt_gv;
    char * xio_bottom_name;
    GV * xio_bottom_gv;
    short xio_subprocess;
    char xio_type;
    char xio_flags;
};
# 1260 "/usr/lib/perl5/5.8/cygwin/CORE/sv.h"
struct clone_params {
  AV* stashes;
  UV flags;
  PerlInterpreter *proto_perl;
};
# 2339 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/util.h" 1
# 2340 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/form.h" 1
# 2341 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/gv.h" 1
# 11 "/usr/lib/perl5/5.8/cygwin/CORE/gv.h"
struct gp {
    SV * gp_sv;
    U32 gp_refcnt;
    struct io * gp_io;
    CV * gp_form;
    AV * gp_av;
    HV * gp_hv;
    GV * gp_egv;
    CV * gp_cv;
    U32 gp_cvgen;
    U32 gp_flags;
    line_t gp_line;
    char * gp_file;
};
# 2342 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/pad.h" 1
# 19 "/usr/lib/perl5/5.8/cygwin/CORE/pad.h"
typedef AV PADLIST;
typedef AV PAD;





typedef unsigned long PADOFFSET;
# 43 "/usr/lib/perl5/5.8/cygwin/CORE/pad.h"
typedef enum {
        padtidy_SUB,
        padtidy_SUBCLONE,
        padtidy_FORMAT
} padtidy_type;
# 2343 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/cv.h" 1
# 14 "/usr/lib/perl5/5.8/cygwin/CORE/cv.h"
struct xpvcv {
    char * xpv_pv;
    STRLEN xpv_cur;
    STRLEN xpv_len;
    IV xof_off;
    NV xnv_nv;
    MAGIC* xmg_magic;
    HV* xmg_stash;

    HV * xcv_stash;
    OP * xcv_start;
    OP * xcv_root;
    void (*xcv_xsub) (register PerlInterpreter *my_perl __attribute__((unused)), CV*);
    ANY xcv_xsubany;
    GV * xcv_gv;
    char * xcv_file;
    long xcv_depth;
    PADLIST * xcv_padlist;
    CV * xcv_outside;




    cv_flags_t xcv_flags;
    U32 xcv_outside_seq;


};
# 2344 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/opnames.h" 1
# 15 "/usr/lib/perl5/5.8/cygwin/CORE/opnames.h"
typedef enum opcode {
        OP_NULL,
        OP_STUB,
        OP_SCALAR,
        OP_PUSHMARK,
        OP_WANTARRAY,
        OP_CONST,
        OP_GVSV,
        OP_GV,
        OP_GELEM,
        OP_PADSV,
        OP_PADAV,
        OP_PADHV,
        OP_PADANY,
        OP_PUSHRE,
        OP_RV2GV,
        OP_RV2SV,
        OP_AV2ARYLEN,
        OP_RV2CV,
        OP_ANONCODE,
        OP_PROTOTYPE,
        OP_REFGEN,
        OP_SREFGEN,
        OP_REF,
        OP_BLESS,
        OP_BACKTICK,
        OP_GLOB,
        OP_READLINE,
        OP_RCATLINE,
        OP_REGCMAYBE,
        OP_REGCRESET,
        OP_REGCOMP,
        OP_MATCH,
        OP_QR,
        OP_SUBST,
        OP_SUBSTCONT,
        OP_TRANS,
        OP_SASSIGN,
        OP_AASSIGN,
        OP_CHOP,
        OP_SCHOP,
        OP_CHOMP,
        OP_SCHOMP,
        OP_DEFINED,
        OP_UNDEF,
        OP_STUDY,
        OP_POS,
        OP_PREINC,
        OP_I_PREINC,
        OP_PREDEC,
        OP_I_PREDEC,
        OP_POSTINC,
        OP_I_POSTINC,
        OP_POSTDEC,
        OP_I_POSTDEC,
        OP_POW,
        OP_MULTIPLY,
        OP_I_MULTIPLY,
        OP_DIVIDE,
        OP_I_DIVIDE,
        OP_MODULO,
        OP_I_MODULO,
        OP_REPEAT,
        OP_ADD,
        OP_I_ADD,
        OP_SUBTRACT,
        OP_I_SUBTRACT,
        OP_CONCAT,
        OP_STRINGIFY,
        OP_LEFT_SHIFT,
        OP_RIGHT_SHIFT,
        OP_LT,
        OP_I_LT,
        OP_GT,
        OP_I_GT,
        OP_LE,
        OP_I_LE,
        OP_GE,
        OP_I_GE,
        OP_EQ,
        OP_I_EQ,
        OP_NE,
        OP_I_NE,
        OP_NCMP,
        OP_I_NCMP,
        OP_SLT,
        OP_SGT,
        OP_SLE,
        OP_SGE,
        OP_SEQ,
        OP_SNE,
        OP_SCMP,
        OP_BIT_AND,
        OP_BIT_XOR,
        OP_BIT_OR,
        OP_NEGATE,
        OP_I_NEGATE,
        OP_NOT,
        OP_COMPLEMENT,
        OP_ATAN2,
        OP_SIN,
        OP_COS,
        OP_RAND,
        OP_SRAND,
        OP_EXP,
        OP_LOG,
        OP_SQRT,
        OP_INT,
        OP_HEX,
        OP_OCT,
        OP_ABS,
        OP_LENGTH,
        OP_SUBSTR,
        OP_VEC,
        OP_INDEX,
        OP_RINDEX,
        OP_SPRINTF,
        OP_FORMLINE,
        OP_ORD,
        OP_CHR,
        OP_CRYPT,
        OP_UCFIRST,
        OP_LCFIRST,
        OP_UC,
        OP_LC,
        OP_QUOTEMETA,
        OP_RV2AV,
        OP_AELEMFAST,
        OP_AELEM,
        OP_ASLICE,
        OP_EACH,
        OP_VALUES,
        OP_KEYS,
        OP_DELETE,
        OP_EXISTS,
        OP_RV2HV,
        OP_HELEM,
        OP_HSLICE,
        OP_UNPACK,
        OP_PACK,
        OP_SPLIT,
        OP_JOIN,
        OP_LIST,
        OP_LSLICE,
        OP_ANONLIST,
        OP_ANONHASH,
        OP_SPLICE,
        OP_PUSH,
        OP_POP,
        OP_SHIFT,
        OP_UNSHIFT,
        OP_SORT,
        OP_REVERSE,
        OP_GREPSTART,
        OP_GREPWHILE,
        OP_MAPSTART,
        OP_MAPWHILE,
        OP_RANGE,
        OP_FLIP,
        OP_FLOP,
        OP_AND,
        OP_OR,
        OP_XOR,
        OP_COND_EXPR,
        OP_ANDASSIGN,
        OP_ORASSIGN,
        OP_METHOD,
        OP_ENTERSUB,
        OP_LEAVESUB,
        OP_LEAVESUBLV,
        OP_CALLER,
        OP_WARN,
        OP_DIE,
        OP_RESET,
        OP_LINESEQ,
        OP_NEXTSTATE,
        OP_DBSTATE,
        OP_UNSTACK,
        OP_ENTER,
        OP_LEAVE,
        OP_SCOPE,
        OP_ENTERITER,
        OP_ITER,
        OP_ENTERLOOP,
        OP_LEAVELOOP,
        OP_RETURN,
        OP_LAST,
        OP_NEXT,
        OP_REDO,
        OP_DUMP,
        OP_GOTO,
        OP_EXIT,
        OP_OPEN,
        OP_CLOSE,
        OP_PIPE_OP,
        OP_FILENO,
        OP_UMASK,
        OP_BINMODE,
        OP_TIE,
        OP_UNTIE,
        OP_TIED,
        OP_DBMOPEN,
        OP_DBMCLOSE,
        OP_SSELECT,
        OP_SELECT,
        OP_GETC,
        OP_READ,
        OP_ENTERWRITE,
        OP_LEAVEWRITE,
        OP_PRTF,
        OP_PRINT,
        OP_SYSOPEN,
        OP_SYSSEEK,
        OP_SYSREAD,
        OP_SYSWRITE,
        OP_SEND,
        OP_RECV,
        OP_EOF,
        OP_TELL,
        OP_SEEK,
        OP_TRUNCATE,
        OP_FCNTL,
        OP_IOCTL,
        OP_FLOCK,
        OP_SOCKET,
        OP_SOCKPAIR,
        OP_BIND,
        OP_CONNECT,
        OP_LISTEN,
        OP_ACCEPT,
        OP_SHUTDOWN,
        OP_GSOCKOPT,
        OP_SSOCKOPT,
        OP_GETSOCKNAME,
        OP_GETPEERNAME,
        OP_LSTAT,
        OP_STAT,
        OP_FTRREAD,
        OP_FTRWRITE,
        OP_FTREXEC,
        OP_FTEREAD,
        OP_FTEWRITE,
        OP_FTEEXEC,
        OP_FTIS,
        OP_FTEOWNED,
        OP_FTROWNED,
        OP_FTZERO,
        OP_FTSIZE,
        OP_FTMTIME,
        OP_FTATIME,
        OP_FTCTIME,
        OP_FTSOCK,
        OP_FTCHR,
        OP_FTBLK,
        OP_FTFILE,
        OP_FTDIR,
        OP_FTPIPE,
        OP_FTLINK,
        OP_FTSUID,
        OP_FTSGID,
        OP_FTSVTX,
        OP_FTTTY,
        OP_FTTEXT,
        OP_FTBINARY,
        OP_CHDIR,
        OP_CHOWN,
        OP_CHROOT,
        OP_UNLINK,
        OP_CHMOD,
        OP_UTIME,
        OP_RENAME,
        OP_LINK,
        OP_SYMLINK,
        OP_READLINK,
        OP_MKDIR,
        OP_RMDIR,
        OP_OPEN_DIR,
        OP_READDIR,
        OP_TELLDIR,
        OP_SEEKDIR,
        OP_REWINDDIR,
        OP_CLOSEDIR,
        OP_FORK,
        OP_WAIT,
        OP_WAITPID,
        OP_SYSTEM,
        OP_EXEC,
        OP_KILL,
        OP_GETPPID,
        OP_GETPGRP,
        OP_SETPGRP,
        OP_GETPRIORITY,
        OP_SETPRIORITY,
        OP_TIME,
        OP_TMS,
        OP_LOCALTIME,
        OP_GMTIME,
        OP_ALARM,
        OP_SLEEP,
        OP_SHMGET,
        OP_SHMCTL,
        OP_SHMREAD,
        OP_SHMWRITE,
        OP_MSGGET,
        OP_MSGCTL,
        OP_MSGSND,
        OP_MSGRCV,
        OP_SEMGET,
        OP_SEMCTL,
        OP_SEMOP,
        OP_REQUIRE,
        OP_DOFILE,
        OP_ENTEREVAL,
        OP_LEAVEEVAL,
        OP_ENTERTRY,
        OP_LEAVETRY,
        OP_GHBYNAME,
        OP_GHBYADDR,
        OP_GHOSTENT,
        OP_GNBYNAME,
        OP_GNBYADDR,
        OP_GNETENT,
        OP_GPBYNAME,
        OP_GPBYNUMBER,
        OP_GPROTOENT,
        OP_GSBYNAME,
        OP_GSBYPORT,
        OP_GSERVENT,
        OP_SHOSTENT,
        OP_SNETENT,
        OP_SPROTOENT,
        OP_SSERVENT,
        OP_EHOSTENT,
        OP_ENETENT,
        OP_EPROTOENT,
        OP_ESERVENT,
        OP_GPWNAM,
        OP_GPWUID,
        OP_GPWENT,
        OP_SPWENT,
        OP_EPWENT,
        OP_GGRNAM,
        OP_GGRGID,
        OP_GGRENT,
        OP_SGRENT,
        OP_EGRENT,
        OP_GETLOGIN,
        OP_SYSCALL,
        OP_LOCK,
        OP_THREADSV,
        OP_SETSTATE,
        OP_METHOD_NAMED,
        OP_CUSTOM,
        OP_max
} opcode;
# 2345 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/op.h" 1
# 226 "/usr/lib/perl5/5.8/cygwin/CORE/op.h"
struct op {
    OP* op_next; OP* op_sibling; OP* (*op_ppaddr)(register PerlInterpreter *my_perl __attribute__((unused))); PADOFFSET op_targ; U16 op_type; U16 op_seq; U8 op_flags; U8 op_private;
};

struct unop {
    OP* op_next; OP* op_sibling; OP* (*op_ppaddr)(register PerlInterpreter *my_perl __attribute__((unused))); PADOFFSET op_targ; U16 op_type; U16 op_seq; U8 op_flags; U8 op_private;
    OP * op_first;
};

struct binop {
    OP* op_next; OP* op_sibling; OP* (*op_ppaddr)(register PerlInterpreter *my_perl __attribute__((unused))); PADOFFSET op_targ; U16 op_type; U16 op_seq; U8 op_flags; U8 op_private;
    OP * op_first;
    OP * op_last;
};

struct logop {
    OP* op_next; OP* op_sibling; OP* (*op_ppaddr)(register PerlInterpreter *my_perl __attribute__((unused))); PADOFFSET op_targ; U16 op_type; U16 op_seq; U8 op_flags; U8 op_private;
    OP * op_first;
    OP * op_other;
};

struct listop {
    OP* op_next; OP* op_sibling; OP* (*op_ppaddr)(register PerlInterpreter *my_perl __attribute__((unused))); PADOFFSET op_targ; U16 op_type; U16 op_seq; U8 op_flags; U8 op_private;
    OP * op_first;
    OP * op_last;
};

struct pmop {
    OP* op_next; OP* op_sibling; OP* (*op_ppaddr)(register PerlInterpreter *my_perl __attribute__((unused))); PADOFFSET op_targ; U16 op_type; U16 op_seq; U8 op_flags; U8 op_private;
    OP * op_first;
    OP * op_last;
    OP * op_pmreplroot;
    OP * op_pmreplstart;
    PMOP * op_pmnext;

    IV op_pmoffset;



    U32 op_pmflags;
    U32 op_pmpermflags;
    U8 op_pmdynflags;

    char * op_pmstashpv;



};
# 332 "/usr/lib/perl5/5.8/cygwin/CORE/op.h"
struct svop {
    OP* op_next; OP* op_sibling; OP* (*op_ppaddr)(register PerlInterpreter *my_perl __attribute__((unused))); PADOFFSET op_targ; U16 op_type; U16 op_seq; U8 op_flags; U8 op_private;
    SV * op_sv;
};

struct padop {
    OP* op_next; OP* op_sibling; OP* (*op_ppaddr)(register PerlInterpreter *my_perl __attribute__((unused))); PADOFFSET op_targ; U16 op_type; U16 op_seq; U8 op_flags; U8 op_private;
    PADOFFSET op_padix;
};

struct pvop {
    OP* op_next; OP* op_sibling; OP* (*op_ppaddr)(register PerlInterpreter *my_perl __attribute__((unused))); PADOFFSET op_targ; U16 op_type; U16 op_seq; U8 op_flags; U8 op_private;
    char * op_pv;
};

struct loop {
    OP* op_next; OP* op_sibling; OP* (*op_ppaddr)(register PerlInterpreter *my_perl __attribute__((unused))); PADOFFSET op_targ; U16 op_type; U16 op_seq; U8 op_flags; U8 op_private;
    OP * op_first;
    OP * op_last;
    OP * op_redoop;
    OP * op_nextop;
    OP * op_lastop;
};
# 491 "/usr/lib/perl5/5.8/cygwin/CORE/op.h"
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h" 1
# 71 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h"
# 1 "/usr/include/pwd.h" 1 3 4
# 50 "/usr/include/pwd.h" 3 4
struct passwd {
        char *pw_name;
        char *pw_passwd;
        uid_t pw_uid;
        gid_t pw_gid;
        char *pw_comment;
        char *pw_gecos;
        char *pw_dir;
        char *pw_shell;
};


struct passwd *getpwuid (uid_t);
struct passwd *getpwnam (const char *);
int getpwnam_r (const char *, struct passwd *,
                        char *, size_t , struct passwd **);
int getpwuid_r (uid_t, struct passwd *, char *,
                        size_t, struct passwd **);

struct passwd *getpwent (void);
void setpwent (void);
void endpwent (void);
# 72 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h" 2


# 1 "/usr/include/grp.h" 1 3 4
# 48 "/usr/include/grp.h" 3 4
# 1 "/usr/include/cygwin/grp.h" 1 3 4
# 49 "/usr/include/grp.h" 2 3 4






struct group {
        char *gr_name;
        char *gr_passwd;
        gid_t gr_gid;
        char **gr_mem;
};






struct group *getgrgid (gid_t);
struct group *getgrnam (const char *);
int getgrnam_r (const char *, struct group *,
                        char *, size_t, struct group **);
int getgrgid_r (gid_t, struct group *,
                        char *, size_t, struct group **);

struct group *getgrent (void);
void setgrent (void);
void endgrent (void);
# 85 "/usr/include/grp.h" 3 4
int initgroups (const char *, gid_t);
# 75 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h" 2
# 84 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h"
# 1 "/usr/include/crypt.h" 1 3 4
# 29 "/usr/include/crypt.h" 3 4
void __attribute__((__cdecl__)) encrypt (char *block, int edflag);
void __attribute__((__cdecl__)) setkey (char *key);
char * __attribute__((__cdecl__)) crypt (const char *key, const char *salt);
# 85 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h" 2
# 602 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h"
typedef struct {

        char* _asctime_buffer;
        size_t _asctime_size;
# 615 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h"
        char* _ctime_buffer;
        size_t _ctime_size;






        struct group _grent_struct;
        char* _grent_buffer;
        size_t _grent_size;

        struct group* _grent_ptr;
# 649 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h"
        char* _getlogin_buffer;
        size_t _getlogin_size;
# 683 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h"
        struct passwd _pwent_struct;
        char* _pwent_buffer;
        size_t _pwent_size;

        struct passwd* _pwent_ptr;
# 720 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h"
        struct tm _gmtime_struct;


        struct tm _localtime_struct;
# 749 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h"
        char* _strerror_buffer;
        size_t _strerror_size;


        char* _ttyname_buffer;
        size_t _ttyname_size;
# 778 "/usr/lib/perl5/5.8/cygwin/CORE/reentr.h"
    int dummy;
} REENTR;
# 492 "/usr/lib/perl5/5.8/cygwin/CORE/op.h" 2
# 2346 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/cop.h" 1
# 16 "/usr/lib/perl5/5.8/cygwin/CORE/cop.h"
struct cop {
    OP* op_next; OP* op_sibling; OP* (*op_ppaddr)(register PerlInterpreter *my_perl __attribute__((unused))); PADOFFSET op_targ; U16 op_type; U16 op_seq; U8 op_flags; U8 op_private;
    char * cop_label;

    char * cop_stashpv;
    char * cop_file;




    U32 cop_seq;
    I32 cop_arybase;
    line_t cop_line;
    SV * cop_warnings;
    SV * cop_io;
};
# 112 "/usr/lib/perl5/5.8/cygwin/CORE/cop.h"
struct block_sub {
    CV * cv;
    GV * gv;
    GV * dfoutgv;

    AV * savearray;

    AV * argarray;
    long olddepth;
    U8 hasargs;
    U8 lval;
    PAD *oldcomppad;
};
# 211 "/usr/lib/perl5/5.8/cygwin/CORE/cop.h"
struct block_eval {
    I32 old_in_eval;
    I32 old_op_type;
    SV * old_namesv;
    OP * old_eval_root;
    SV * cur_text;
    CV * cv;
};
# 240 "/usr/lib/perl5/5.8/cygwin/CORE/cop.h"
struct block_loop {
    char * label;
    I32 resetsp;
    OP * redo_op;
    OP * next_op;
    OP * last_op;

    void * iterdata;
    PAD *oldcomppad;



    SV * itersave;
    SV * iterlval;
    AV * iterary;
    IV iterix;
    IV itermax;
};
# 304 "/usr/lib/perl5/5.8/cygwin/CORE/cop.h"
struct block {
    I32 blku_oldsp;
    COP * blku_oldcop;
    I32 blku_oldretsp;
    I32 blku_oldmarksp;
    I32 blku_oldscopesp;
    PMOP * blku_oldpm;
    U8 blku_gimme;

    union {
        struct block_sub blku_sub;
        struct block_eval blku_eval;
        struct block_loop blku_loop;
    } blk_u;
};
# 366 "/usr/lib/perl5/5.8/cygwin/CORE/cop.h"
struct subst {
    I32 sbu_iters;
    I32 sbu_maxiters;
    I32 sbu_rflags;
    I32 sbu_oldsave;
    char sbu_once;
    char sbu_rxtainted;
    char * sbu_orig;
    SV * sbu_dstr;
    SV * sbu_targ;
    char * sbu_s;
    char * sbu_m;
    char * sbu_strend;
    void * sbu_rxres;
    REGEXP * sbu_rx;
};
# 418 "/usr/lib/perl5/5.8/cygwin/CORE/cop.h"
struct context {
    U32 cx_type;
    union {
        struct block cx_blk;
        struct subst cx_subst;
    } cx_u;
};
# 524 "/usr/lib/perl5/5.8/cygwin/CORE/cop.h"
struct stackinfo {
    AV * si_stack;
    PERL_CONTEXT * si_cxstack;
    I32 si_cxix;
    I32 si_cxmax;
    I32 si_type;
    struct stackinfo * si_prev;
    struct stackinfo * si_next;
    I32 si_markoff;


};

typedef struct stackinfo PERL_SI;
# 2347 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/av.h" 1
# 11 "/usr/lib/perl5/5.8/cygwin/CORE/av.h"
struct xpvav {
    char* xav_array;
    ssize_t xav_fill;
    ssize_t xav_max;
    IV xof_off;
    NV xnv_nv;
    MAGIC* xmg_magic;
    HV* xmg_stash;

    SV** xav_alloc;
    SV* xav_arylen;
    U8 xav_flags;
};
# 2348 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/hv.h" 1
# 12 "/usr/lib/perl5/5.8/cygwin/CORE/hv.h"
typedef struct he HE;
typedef struct hek HEK;


struct he {
    HE *hent_next;
    HEK *hent_hek;
    SV *hent_val;
};


struct hek {
    U32 hek_hash;
    I32 hek_len;
    char hek_key[1];



};



struct xpvhv {
    char * xhv_array;
    STRLEN xhv_fill;
    STRLEN xhv_max;
    IV xhv_keys;
    NV xnv_nv;

    MAGIC* xmg_magic;
    HV* xmg_stash;

    I32 xhv_riter;
    HE *xhv_eiter;
    PMOP *xhv_pmroot;
    char *xhv_name;
};
# 2349 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/mg.h" 1
# 14 "/usr/lib/perl5/5.8/cygwin/CORE/mg.h"
struct mgvtbl {
    int (*svt_get) (register PerlInterpreter *my_perl __attribute__((unused)), SV *sv, MAGIC* mg);
    int (*svt_set) (register PerlInterpreter *my_perl __attribute__((unused)), SV *sv, MAGIC* mg);
    U32 (*svt_len) (register PerlInterpreter *my_perl __attribute__((unused)), SV *sv, MAGIC* mg);
    int (*svt_clear)(register PerlInterpreter *my_perl __attribute__((unused)), SV *sv, MAGIC* mg);
    int (*svt_free) (register PerlInterpreter *my_perl __attribute__((unused)), SV *sv, MAGIC* mg);
    int (*svt_copy) (register PerlInterpreter *my_perl __attribute__((unused)), SV *sv, MAGIC* mg,
                                        SV *nsv, const char *name, int namlen);
    int (*svt_dup) (register PerlInterpreter *my_perl __attribute__((unused)), MAGIC *mg, CLONE_PARAMS *param);
};


struct magic {
    MAGIC* mg_moremagic;
    MGVTBL* mg_virtual;
    U16 mg_private;
    char mg_type;
    U8 mg_flags;
    SV* mg_obj;
    char* mg_ptr;
    I32 mg_len;
};
# 2350 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/scope.h" 1
# 230 "/usr/lib/perl5/5.8/cygwin/CORE/scope.h"
struct jmpenv {
    struct jmpenv * je_prev;
    sigjmp_buf je_buf;
    int je_ret;
    char je_mustcatch;




};

typedef struct jmpenv JMPENV;
# 2351 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/warnings.h" 1
# 2352 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/utf8.h" 1
# 26 "/usr/lib/perl5/5.8/cygwin/CORE/utf8.h"

# 41 "/usr/lib/perl5/5.8/cygwin/CORE/utf8.h"
extern __attribute__((dllimport)) const unsigned char PL_utf8skip[];



# 2353 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2


typedef struct curcur CURCUR;
struct curcur {
    int parenfloor;
    int cur;
    int min;
    int max;
    int minmod;
    regnode * scan;
    regnode * next;
    char * lastloc;
    CURCUR * oldcc;
};

typedef struct _sublex_info SUBLEXINFO;
struct _sublex_info {
    I32 super_state;
    I32 sub_inwhat;
    OP *sub_op;
    char *super_bufptr;
    char *super_bufend;
};

typedef struct magic_state MGS;

struct scan_data_t;
struct regnode_charclass_class;

typedef I32 CHECKPOINT;

struct ptr_tbl_ent {
    struct ptr_tbl_ent* next;
    void* oldval;
    void* newval;
};

struct ptr_tbl {
    struct ptr_tbl_ent** tbl_ary;
    UV tbl_max;
    UV tbl_items;
};
# 2453 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
short htovs(short n);
short vtohs(short n);
long htovl(long n);
long vtohl(long n);
# 2522 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
uid_t getuid (void);
uid_t geteuid (void);
gid_t getgid (void);
gid_t getegid (void);
# 2787 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
struct ufuncs {
    I32 (*uf_val)(register PerlInterpreter *my_perl __attribute__((unused)), IV, SV*);
    I32 (*uf_set)(register PerlInterpreter *my_perl __attribute__((unused)), IV, SV*);
    IV uf_index;
};
# 2817 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
char *mktemp (char*);

double atof (const char*);
# 2838 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/include/math.h" 1 3 4






# 1 "/usr/include/machine/ieeefp.h" 1 3 4
# 8 "/usr/include/math.h" 2 3 4









union __dmath
{
  __ULong i[2];
  double d;
};




extern __attribute__((dllimport)) const union __dmath __infinity[];
# 35 "/usr/include/math.h" 3 4
extern double atan (double);
extern double cos (double);
extern double sin (double);
extern double tan (double);
extern double tanh (double);
extern double frexp (double, int *);
extern double modf (double, double *);
extern double ceil (double);
extern double fabs (double);
extern double floor (double);






extern double acos (double);
extern double asin (double);
extern double atan2 (double, double);
extern double cosh (double);
extern double sinh (double);
extern double exp (double);
extern double ldexp (double, int);
extern double log (double);
extern double log10 (double);
extern double pow (double, double);
extern double sqrt (double);
extern double fmod (double, double);
# 72 "/usr/include/math.h" 3 4
typedef float float_t;
typedef double double_t;
# 82 "/usr/include/math.h" 3 4
extern int __fpclassifyf (float x);
extern int __fpclassifyd (double x);
extern int __signbitf (float x);
extern int __signbitd (double x);
# 123 "/usr/include/math.h" 3 4
extern double infinity (void);
extern double nan (const char *);
extern int isnan (double);
extern int isinf (double);
extern int finite (double);
extern double copysign (double, double);
extern int ilogb (double);

extern double asinh (double);
extern double cbrt (double);
extern double nextafter (double, double);
extern double rint (double);
extern double scalbn (double, int);

extern double exp2 (double);
extern double scalbln (double, long int);
extern double tgamma (double);
extern double nearbyint (double);
extern long int lrint (double);
extern double round (double);
extern long int lround (double);
extern double trunc (double);
extern double remquo (double, double, int *);
extern double copysign (double, double);
extern double fdim (double, double);
extern double fmax (double, double);
extern double fmin (double, double);
extern double fma (double, double, double);
extern void sincos (double, double *, double *);


extern double log1p (double);
extern double expm1 (double);



extern double acosh (double);
extern double atanh (double);
extern double remainder (double, double);
extern double gamma (double);
extern double gamma_r (double, int *);
extern double lgamma (double);
extern double lgamma_r (double, int *);
extern double erf (double);
extern double erfc (double);
extern double y0 (double);
extern double y1 (double);
extern double yn (int, double);
extern double j0 (double);
extern double j1 (double);
extern double jn (int, double);



extern double hypot (double, double);


extern double cabs();
extern double drem (double, double);
# 191 "/usr/include/math.h" 3 4
extern float atanf (float);
extern float cosf (float);
extern float sinf (float);
extern float tanf (float);
extern float tanhf (float);
extern float frexpf (float, int *);
extern float modff (float, float *);
extern float ceilf (float);
extern float fabsf (float);
extern float floorf (float);


extern float acosf (float);
extern float asinf (float);
extern float atan2f (float, float);
extern float coshf (float);
extern float sinhf (float);
extern float expf (float);
extern float ldexpf (float, int);
extern float logf (float);
extern float log10f (float);
extern float powf (float, float);
extern float sqrtf (float);
extern float fmodf (float, float);
# 223 "/usr/include/math.h" 3 4
extern float exp2f (float);
extern float scalblnf (float, long int);
extern float tgammaf (float);
extern float nearbyintf (float);
extern long int lrintf (float);
extern float roundf (float);
extern long int lroundf (float);
extern float truncf (float);
extern float remquof (float, float, int *);
extern float copysignf (float, float);
extern float fdimf (float, float);
extern float fmaxf (float, float);
extern float fminf (float, float);
extern float fmaf (float, float, float);

extern float infinityf (void);
extern float nanf (const char *);
extern int isnanf (float);
extern int isinff (float);
extern int finitef (float);
extern float copysignf (float, float);
extern int ilogbf (float);

extern float asinhf (float);
extern float cbrtf (float);
extern float nextafterf (float, float);
extern float rintf (float);
extern float scalbnf (float, int);
extern float log1pf (float);
extern float expm1f (float);
extern void sincosf (float, float *, float *);


extern float acoshf (float);
extern float atanhf (float);
extern float remainderf (float, float);
extern float gammaf (float);
extern float gammaf_r (float, int *);
extern float lgammaf (float);
extern float lgammaf_r (float, int *);
extern float erff (float);
extern float erfcf (float);
extern float y0f (float);
extern float y1f (float);
extern float ynf (int, float);
extern float j0f (float);
extern float j1f (float);
extern float jnf (int, float);

extern float hypotf (float, float);

extern float cabsf();
extern float dremf (float, float);






extern int *__signgam (void);
# 292 "/usr/include/math.h" 3 4
struct exception

{
  int type;
  char *name;
  double arg1;
  double arg2;
  double retval;
  int err;
};




extern int matherr (struct exception *e);
# 347 "/usr/include/math.h" 3 4
enum __fdlibm_version
{
  __fdlibm_ieee = -1,
  __fdlibm_svid,
  __fdlibm_xopen,
  __fdlibm_posix
};




extern __attribute__((dllimport)) const enum __fdlibm_version __fdlib_version;
# 367 "/usr/include/math.h" 3 4

# 2839 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2
# 2910 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
char *crypt (const char*, const char*);





char *getenv (const char*);
# 2927 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
char *getlogin (void);
# 2963 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
typedef struct sigaction Sigsave_t;
# 3004 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
typedef int (*runops_proc_t) (register PerlInterpreter *my_perl __attribute__((unused)));
typedef void (*share_proc_t) (register PerlInterpreter *my_perl __attribute__((unused)), SV *sv);
typedef int (*thrhook_proc_t) (register PerlInterpreter *my_perl __attribute__((unused)));
typedef OP* (*PPADDR_t[]) (register PerlInterpreter *my_perl __attribute__((unused)));
# 3032 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
extern char ** environ;







extern __attribute__((dllimport)) const char PL_warn_uninit[]
  ;
extern __attribute__((dllimport)) const char PL_warn_nosemi[]
  ;
extern __attribute__((dllimport)) const char PL_warn_reserved[]
  ;
extern __attribute__((dllimport)) const char PL_warn_nl[]
  ;
extern __attribute__((dllimport)) const char PL_no_wrongref[]
  ;
extern __attribute__((dllimport)) const char PL_no_symref[]
  ;
extern __attribute__((dllimport)) const char PL_no_usym[]
  ;
extern __attribute__((dllimport)) const char PL_no_aelem[]
  ;
extern __attribute__((dllimport)) const char PL_no_helem[]
  ;
extern __attribute__((dllimport)) const char PL_no_modify[]
  ;
extern __attribute__((dllimport)) const char PL_no_mem[]
  ;
extern __attribute__((dllimport)) const char PL_no_security[]
  ;
extern __attribute__((dllimport)) const char PL_no_sock_func[]
  ;
extern __attribute__((dllimport)) const char PL_no_dir_func[]
  ;
extern __attribute__((dllimport)) const char PL_no_func[]
  ;
extern __attribute__((dllimport)) const char PL_no_myglob[]
  ;
extern __attribute__((dllimport)) const char PL_no_localize_ref[]
  ;





extern __attribute__((dllimport)) const char PL_uuemap[65]
  ;






extern __attribute__((dllimport)) char *PL_sig_name[];
extern __attribute__((dllimport)) int PL_sig_num[];
# 3166 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
extern __attribute__((dllimport)) const unsigned char PL_fold[];
# 3205 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
extern __attribute__((dllimport)) unsigned char PL_fold_locale[];
# 3281 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
extern __attribute__((dllimport)) const unsigned char PL_freq[];
# 3299 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"

# 3316 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
# 1 "/usr/lib/perl5/5.8/cygwin/CORE/perly.h" 1
# 65 "/usr/lib/perl5/5.8/cygwin/CORE/perly.h"
typedef union {
    I32 ival;
    char *pval;
    OP *opval;
    GV *gvval;
} YYSTYPE;
# 3317 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2



typedef enum {
    XOPERATOR,
    XTERM,
    XREF,
    XSTATE,
    XBLOCK,
    XATTRBLOCK,
    XATTRTERM,
    XTERMBLOCK
} expectation;

enum {
    want_vtbl_sv,
    want_vtbl_env,
    want_vtbl_envelem,
    want_vtbl_sig,
    want_vtbl_sigelem,
    want_vtbl_pack,
    want_vtbl_packelem,
    want_vtbl_dbline,
    want_vtbl_isa,
    want_vtbl_isaelem,
    want_vtbl_arylen,
    want_vtbl_glob,
    want_vtbl_mglob,
    want_vtbl_nkeys,
    want_vtbl_taint,
    want_vtbl_substr,
    want_vtbl_vec,
    want_vtbl_pos,
    want_vtbl_bm,
    want_vtbl_fm,
    want_vtbl_uvar,
    want_vtbl_defelem,
    want_vtbl_regexp,
    want_vtbl_collxfrm,
    want_vtbl_amagic,
    want_vtbl_amagicelem,



    want_vtbl_regdata,
    want_vtbl_regdatum,
    want_vtbl_backref,
    want_vtbl_utf8
};
# 3412 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
struct perl_debug_pad {
  SV pad[3];
};





typedef void (*peep_t)(register PerlInterpreter *my_perl __attribute__((unused)), OP* o);
typedef regexp*(*regcomp_t) (register PerlInterpreter *my_perl __attribute__((unused)), char* exp, char* xend, PMOP* pm);
typedef I32 (*regexec_t) (register PerlInterpreter *my_perl __attribute__((unused)), regexp* prog, char* stringarg,
                                      char* strend, char* strbeg, I32 minend,
                                      SV* screamer, void* data, U32 flags);
typedef char* (*re_intuit_start_t) (register PerlInterpreter *my_perl __attribute__((unused)), regexp *prog, SV *sv,
                                                char *strpos, char *strend,
                                                U32 flags,
                                                struct re_scream_pos_data_s *d);
typedef SV* (*re_intuit_string_t) (register PerlInterpreter *my_perl __attribute__((unused)), regexp *prog);
typedef void (*regfree_t) (register PerlInterpreter *my_perl __attribute__((unused)), struct regexp* r);

typedef void (*DESTRUCTORFUNC_NOCONTEXT_t) (void*);
typedef void (*DESTRUCTORFUNC_t) (register PerlInterpreter *my_perl __attribute__((unused)), void*);
typedef void (*SVFUNC_t) (register PerlInterpreter *my_perl __attribute__((unused)), SV*);
typedef I32 (*SVCOMPARE_t) (register PerlInterpreter *my_perl __attribute__((unused)), SV*, SV*);
typedef void (*XSINIT_t) (register PerlInterpreter *my_perl __attribute__((unused)));
typedef void (*ATEXIT_t) (register PerlInterpreter *my_perl __attribute__((unused)), void*);
typedef void (*XSUBADDR_t) (register PerlInterpreter *my_perl __attribute__((unused)), CV *);
# 3447 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
typedef struct exitlistentry {
    void (*fn) (register PerlInterpreter *my_perl __attribute__((unused)), void*);
    void *ptr;
} PerlExitListEntry;
# 3477 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h"
struct interpreter {

# 1 "/usr/lib/perl5/5.8/cygwin/CORE/thrdvar.h" 1
# 34 "/usr/lib/perl5/5.8/cygwin/CORE/thrdvar.h"
SV ** Tstack_sp;



OP * Top;

SV ** Tcurpad;

SV ** Tstack_base;
SV ** Tstack_max;

I32 * Tscopestack;
I32 Tscopestack_ix;
I32 Tscopestack_max;

ANY * Tsavestack;

I32 Tsavestack_ix;
I32 Tsavestack_max;

SV ** Ttmps_stack;
I32 Ttmps_ix;
I32 Ttmps_floor;
I32 Ttmps_max;

I32 * Tmarkstack;
I32 * Tmarkstack_ptr;
I32 * Tmarkstack_max;

OP ** Tretstack;
I32 Tretstack_ix;
I32 Tretstack_max;

SV * TSv;
XPV * TXpv;
# 81 "/usr/lib/perl5/5.8/cygwin/CORE/thrdvar.h"
STRLEN Tna;



struct stat Tstatbuf;
struct stat Tstatcache;
GV * Tstatgv;
SV * Tstatname;


struct tms Ttimesbuf;



char Ttainted;
PMOP * Tcurpm;
SV * Tnrs;
# 115 "/usr/lib/perl5/5.8/cygwin/CORE/thrdvar.h"
SV * Trs;
GV * Tlast_in_gv;
SV * Tofs_sv;
GV * Tdefoutgv;
char * Tchopset;
SV * Tformtarget;
SV * Tbodytarget;
SV * Ttoptarget;


HV * Tdefstash;
HV * Tcurstash;

OP * Trestartop;
COP * volatile Tcurcop;
volatile int Tin_eval;
int Tdelaymagic;
char Tdirty;
int Tlocalizing;

AV * Tcurstack;
PERL_SI * Tcurstackinfo;
AV * Tmainstack;

JMPENV * Ttop_env;
JMPENV Tstart_env;



SV * Terrors;


SV * Tav_fetch_sv;
SV * Thv_fetch_sv;
HE* Thv_fetch_ent_mh;

I32 Tmodcount;

OP* Tlastgotoprobe;
I32 Tdumpindent;


OP * Tsortcop;
HV * Tsortstash;
GV * Tfirstgv;
GV * Tsecondgv;
I32 Tsortcxix;


char* Tefloatbuf;
STRLEN Tefloatsize;



I32 * Tscreamfirst;
I32 * Tscreamnext;
I32 Tmaxscream;
SV * Tlastscream;

regnode Tregdummy;
char* Tregcomp_parse;
char* Tregxend;
regnode* Tregcode;
I32 Tregnaughty;
I32 Tregsawback;
char * Tregprecomp;
I32 Tregnpar;
I32 Tregsize;
U32 Tregflags;
U32 Tregseen;
I32 Tseen_zerolen;
I32 Tseen_evals;
regexp * Tregcomp_rx;
I32 Textralen;
int Tcolorset;
char * Tcolors[6];
I32 Treg_whilem_seen;
char * Treginput;
char * Tregbol;
char * Tregeol;
I32 * Tregstartp;
I32 * Tregendp;
U32 * Treglastparen;
U32 * Treglastcloseparen;
char * Tregtill;
char Tregcompat1;
char ** Treg_start_tmp;
U32 Treg_start_tmpl;
struct reg_data * Tregdata;

char * Tbostr;
U32 Treg_flags;
I32 Treg_eval_set;
I32 Tregnarrate;
regnode * Tregprogram;
int Tregindent;
CURCUR * Tregcc;
struct re_cc_state * Treg_call_cc;
regexp * Treg_re;
char * Treg_ganch;
SV * Treg_sv;
MAGIC * Treg_magic;
I32 Treg_oldpos;
PMOP* Treg_oldcurpm;
PMOP* Treg_curpm;
char* Treg_oldsaved;
STRLEN Treg_oldsavedlen;
I32 Treg_maxiter;
I32 Treg_leftiter;
char * Treg_poscache;
STRLEN Treg_poscache_size;

peep_t Tpeepp;

regcomp_t Tregcompp;

regexec_t Tregexecp;

re_intuit_start_t Tregint_start;

re_intuit_string_t Tregint_string;

regfree_t Tregfree;


int Treginterp_cnt;

char * Treg_starttry;
char ** Twatchaddr;
char * Twatchok;
# 275 "/usr/lib/perl5/5.8/cygwin/CORE/thrdvar.h"
char Treg_match_utf8;

AV * Tcomppad;
# 3480 "/usr/lib/perl5/5.8/cygwin/CORE/perl.h" 2

# 1 "/usr/lib/perl5/5.8/cygwin/CORE/intrpvar.h" 1
# 20 "/usr/lib/perl5/5.8/cygwin/CORE/intrpvar.h"
int Iorigargc;
char ** Iorigargv;
GV * Ienvgv;
GV * Iincgv;
GV * Ihintgv;
char * Iorigfilename;
SV * Idiehook;
SV * Iwarnhook;


char Iminus_c;
SV * Ipatchlevel;
char ** Ilocalpatches;
char * Isplitstr;
char Ipreprocess;
char Iminus_n;
char Iminus_p;
char Iminus_l;
char Iminus_a;
char Iminus_F;
char Idoswitches;
# 52 "/usr/lib/perl5/5.8/cygwin/CORE/intrpvar.h"
U8 Idowarn;
char Iwidesyscalls;
char Idoextract;
char Isawampersand;
char Iunsafe;
char * Iinplace;
SV * Ie_script;
U32 Iperldb;



int Iperl_destruct_level;


time_t Ibasetime;
SV * Iformfeed;


I32 Imaxsysfd;

int Imultiline;
I32 Istatusvalue;
U8 Iexit_flags;





GV * Istdingv;
GV * Istderrgv;
GV * Idefgv;
GV * Iargvgv;
GV * Iargvoutgv;
AV * Iargvout_stack;




GV * Ireplgv;


GV * Ierrgv;


GV * IDBgv;
GV * IDBline;
# 121 "/usr/lib/perl5/5.8/cygwin/CORE/intrpvar.h"
GV * IDBsub;
SV * IDBsingle;
SV * IDBtrace;
SV * IDBsignal;
AV * Ilineary;
AV * Idbargs;


HV * Idebstash;
HV * Iglobalstash;
SV * Icurstname;
AV * Ibeginav;
AV * Iendav;
AV * Icheckav;
AV * Iinitav;
HV * Istrtab;
U32 Isub_generation;


I32 Isv_count;
I32 Isv_objcount;
SV* Isv_root;
SV* Isv_arenaroot;


int Iforkprocess;


AV * Ifdpid;


char Itainting;
char * Iop_mask;


CV * Imain_cv;
OP * Imain_root;
OP * Imain_start;
OP * Ieval_root;
OP * Ieval_start;


COP * Icurcopdb;
line_t Icopline;


int Ifilemode;
int Ilastfd;
char * Ioldname;
char ** IArgv;
char * ICmd;
I32 Igensym;
char Ipreambled;
AV * Ipreambleav;
int Ilaststatval;
I32 Ilaststype;
SV * Imess_sv;


SV * Iors_sv;
char * Iofmt;


PerlExitListEntry * Iexitlist;

I32 Iexitlistlen;
# 200 "/usr/lib/perl5/5.8/cygwin/CORE/intrpvar.h"
HV * Imodglobal;


U32 * Iprofiledata;
PerlIO * volatile Irsfp;
AV * Irsfp_filters;

COP Icompiling;

CV * Icompcv;
AV * IBINCOMPAT0;
AV * Icomppad_name;
I32 Icomppad_name_fill;
I32 Icomppad_name_floor;







int Igeneration;
CV * IDBcv;

char Iin_clean_objs;
char Iin_clean_all;

char * Ilinestart;
char Ipending_ident;
SUBLEXINFO Isublex_info;







uid_t Iuid;
uid_t Ieuid;
gid_t Igid;
gid_t Iegid;
char Inomemok;
U32 Ian;
U32 Icop_seqmax;
U16 Iop_seqmax;
U32 Ievalseq;
char ** Iorigenviron;
U32 Iorigalen;
HV * Ipidstatus;
int Imaxo;
char * Iosname;


char * Ish_path_compat;

Sighandler_t Isighandlerp;

XPV* Ixiv_arenaroot;
IV * Ixiv_root;
NV * Ixnv_root;
XRV * Ixrv_root;
XPV * Ixpv_root;
XPVIV * Ixpviv_root;
XPV