IoDIRP may be fake when used in source filters, mark as such
[p5sagit/p5-mst-13.2.git] / perl.h
diff --git a/perl.h b/perl.h
index 0d5a613..7ec3750 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -470,7 +470,7 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
 #   include <stdlib.h>
 #endif
 
-#if !defined(PERL_FOR_X2P) && !defined(PERL_OBJECT)
+#if !defined(PERL_FOR_X2P) && !defined(WIN32)
 #  include "embed.h"
 #endif
 
@@ -904,7 +904,7 @@ Free_t   Perl_mfree (Malloc_t where);
 typedef IVTYPE IV;
 typedef UVTYPE UV;
 
-#ifdef USE_64_BITS
+#if defined(USE_64_BITS) && defined(HAS_QUAD)
 #  if QUADCASE == 4 && defined(INT64_MAX) /* quad is int64_t */
 #    define IV_MAX INT64_MAX
 #    define IV_MIN INT64_MIN
@@ -943,9 +943,13 @@ typedef UVTYPE UV;
 #  if IVSIZE == 8
 #    define IV_IS_QUAD
 #    define UV_IS_QUAD
+#    ifndef HAS_QUAD
+#      define HAS_QUAD
+#    endif
 #  else
 #    undef IV_IS_QUAD
 #    undef UV_IS_QUAD
+#    undef HAS_QUAD
 #  endif
 #endif
 
@@ -1322,6 +1326,8 @@ typedef struct xpvfm XPVFM;
 typedef struct xpvio XPVIO;
 typedef struct mgvtbl MGVTBL;
 typedef union any ANY;
+typedef struct svtblent SVTBLENT;
+typedef struct svtbl SVTBL;
 
 #include "handy.h"
 
@@ -1741,6 +1747,18 @@ struct scan_data_t;              /* Used in S_* functions in regcomp.c */
 
 typedef I32 CHECKPOINT;
 
+struct svtblent {
+    struct svtblent*   next;
+    SV*                        oldval;
+    SV*                        newval;
+};
+
+struct svtbl {
+    struct svtblent**  tbl_ary;
+    UV                 tbl_max;
+    UV                 tbl_items;
+};
+
 #if defined(iAPX286) || defined(M_I286) || defined(I80286)
 #   define I286
 #endif
@@ -1853,10 +1871,6 @@ typedef I32 CHECKPOINT;
 #   define MAXSYSFD 2
 #endif
 
-#ifndef TMPPATH
-#  define TMPPATH "/tmp/perl-eXXXXXX"
-#endif
-
 #ifndef __cplusplus
 Uid_t getuid (void);
 Uid_t geteuid (void);
@@ -2573,13 +2587,6 @@ typedef void *Thread;
 #  define PERL_CALLCONV
 #endif 
 
-#ifdef PERL_OBJECT
-#  define VIRTUAL virtual PERL_CALLCONV
-#else
-#  define VIRTUAL PERL_CALLCONV
-/*START_EXTERN_C*/
-#endif
-
 #ifndef NEXT30_NO_ATTRIBUTE
 #  ifndef HASATTRIBUTE       /* disable GNU-cc attribute checking? */
 #    ifdef  __attribute__      /* Avoid possible redefinition errors */
@@ -2607,10 +2614,8 @@ public:
 #include "pp_proto.h"
 
 #ifdef PERL_OBJECT
-VIRTUAL int CPerlObj::do_aspawn (void *vreally, void **vmark, void **vsp);
+int CPerlObj::do_aspawn (void *vreally, void **vmark, void **vsp);
 #undef PERL_DECL_PROT
-#else
-/*END_EXTERN_C*/
 #endif
 
 #ifndef PERL_OBJECT
@@ -2667,6 +2672,10 @@ PERLVARA(object_compatibility,30,        char)
 /* this has structure inits, so it cannot be included before here */
 #  include "opcode.h"
 
+#else
+#  if defined(WIN32)
+#    include "embed.h"
+#  endif
 #endif  /* PERL_OBJECT */
 
 #ifndef PERL_GLOBAL_STRUCT