perl5.004 on AIX: Patches
[p5sagit/p5-mst-13.2.git] / perl.h
diff --git a/perl.h b/perl.h
index 6651ddf..77ffb53 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -37,7 +37,7 @@
  * Trying to select a version that gives no warnings...
  */
 #if !(defined(STMT_START) && defined(STMT_END))
-# if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(__cplusplus)
 #   define STMT_START  (void)( /* gcc supports ``({ STATEMENTS; })'' */
 #   define STMT_END    )
 # else
        extern char *memset _((char*, int, int));
 #    endif
 #  endif
-#  define memzero(d,l) memset(d,0,l)
 #else
-#   ifndef memzero
-#      ifdef HAS_BZERO
-#          define memzero(d,l) bzero(d,l)
-#      else
-#          define memzero(d,l) my_bzero(d,l)
-#      endif
-#   endif
+#  define memset(d,c,l) my_memset(d,c,l)
 #endif /* HAS_MEMSET */
 
 #if !defined(HAS_MEMMOVE) && !defined(memmove)
 #   endif
 #endif /* HAS_MEMCMP && HAS_SANE_MEMCMP */
 
+#ifndef memzero
+#   ifdef HAS_MEMSET
+#      define memzero(d,l) memset(d,0,l)
+#   else
+#      ifdef HAS_BZERO
+#          define memzero(d,l) bzero(d,l)
+#      else
+#          define memzero(d,l) my_bzero(d,l)
+#      endif
+#   endif
+#endif
+
 #ifndef HAS_BCMP
 #   ifndef bcmp
 #      define bcmp(s1,s2,l) memcmp(s1,s2,l)
@@ -983,6 +988,11 @@ union any {
     void       (*any_dptr) _((void*));
 };
 
+/* Work around some cygwin32 problems with importing global symbols */
+#if defined(CYGWIN32) && defined(DLLIMPORT) 
+#   include "cw32imp.h"
+#endif
+
 #include "regexp.h"
 #include "sv.h"
 #include "util.h"
@@ -1200,7 +1210,10 @@ char *strcpy(), *strcat();
 #   endif
            double exp _((double));
            double log _((double));
+           double log10 _((double));
            double sqrt _((double));
+           double frexp _((double,int*));
+           double ldexp _((double,int));
            double modf _((double,double*));
            double sin _((double));
            double cos _((double));
@@ -1349,7 +1362,6 @@ EXT SV ** curpad;
 /* temp space */
 EXT SV *       Sv;
 EXT XPV *      Xpv;
-EXT char       buf[2048];      /* should be longer than PATH_MAX */
 EXT char       tokenbuf[256];
 EXT struct stat        statbuf;
 #ifdef HAS_TIMES
@@ -1874,6 +1886,7 @@ IEXT bool Ipreambled;
 IEXT AV *      Ipreambleav;
 IEXT int       Ilaststatval IINIT(-1);
 IEXT I32       Ilaststype IINIT(OP_STAT);
+IEXT SV *      Imess_sv;
 
 #undef IEXT
 #undef IINIT