Problem: On 32 bit MS-Windows :perldo does not work.
Solution: Make sure time_t uses 32 bits. (Ken Takata)
#define _memory_h /* avoid memset redeclaration */
#define IN_PERL_FILE /* don't include if_perl.pro from proto.h */
+/*
+ * Currently 32-bit version of ActivePerl is built with VC6.
+ * (http://community.activestate.com/faq/windows-compilers-perl-modules)
+ * It means that time_t should be 32-bit. However the default size of
+ * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T.
+ */
+#if defined(WIN32) && !defined(_WIN64)
+# define _USE_32BIT_TIME_T
+#endif
+
#include "vim.h"
+#include <EXTERN.h>
+#include <perl.h>
+#include <XSUB.h>
+
/*
* Work around clashes between Perl and Vim namespace. proto.h doesn't
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 7,
/**/
6,
/**/
/* Borland has the structure stati64 but not _stati64 */
# define _stati64 stati64
# endif
-
-# include <EXTERN.h>
-# include <perl.h>
-# include <XSUB.h>
#endif
/* values for vim_handle_signal() that are not a signal */