summaryrefslogtreecommitdiff
path: root/perl.h
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>2002-04-21 01:55:35 +0000
committerGurusamy Sarathy <gsar@cpan.org>2002-04-21 01:55:35 +0000
commitc623ac675720b3145d48cc2ea9474a0f3e0cbbca (patch)
tree72f97c16f706a1538dd9a5726323e59d251c8c53 /perl.h
parent6d1c0808b641926567cd16e07679f427c5fedc61 (diff)
downloadperl-c623ac675720b3145d48cc2ea9474a0f3e0cbbca.tar.gz
Windows 64-bit support:
* support for building it in the regular makefiles * large files support via the _*i64() functions (this should be portable to the 32-bit universe too, but quite untested and and binary-incompatible, therefore not enabled there) * three additional test failures in addition to the t/end.t one (see README.win32) * sprintf() on Windows gets %I{32,64,}[xoud] format that parallel the ones available from the CRT (needed because Perl uses the UVxf macros in both sprintf() *and* in sv_catpvf() et al.) * add a few 64-bit notes to README.win32 The following general problems were also fixed: * s/struct stat/Stat_t/g * Data::Dumper had some naughty 'long' typecasts * Errno_pm.PL didn't work safe when winsock.h was not in the same directory as errno.h * various tell/seek things were incorrectly prototyped * squelch ugly looking noise when running tests * Embed.t wasn't linking in all the libraries * perl57.dll is now perl58.dll (anticipating 5.8.0-RC1) * re-enable all the disabled warnings (additional fixes may be needed for the warnings uncovered by this) p4raw-id: //depot/perl@16033
Diffstat (limited to 'perl.h')
-rw-r--r--perl.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/perl.h b/perl.h
index 023b90b7ea..59a21faecd 100644
--- a/perl.h
+++ b/perl.h
@@ -2279,6 +2279,10 @@ struct ptr_tbl {
# define htovs(x) vtohs(x)
# endif
/* otherwise default to functions in util.c */
+short htovs(short n);
+short vtohs(short n);
+long htovl(long n);
+long vtohl(long n);
#endif
/* *MAX Plus 1. A floating point value.
@@ -3742,6 +3746,9 @@ typedef struct am_table_short AMTS;
# ifdef __hpux
# define strtoll __strtoll /* secret handshake */
# endif
+# ifdef WIN64
+# define strtoll _strtoi64 /* secret handshake */
+# endif
# if !defined(Strtol) && defined(HAS_STRTOLL)
# define Strtol strtoll
# endif
@@ -3758,6 +3765,9 @@ typedef struct am_table_short AMTS;
* (as is done for Atoul(), see below) but for backward compatibility
* we just assume atol(). */
# if defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG && defined(HAS_ATOLL)
+# ifdef WIN64
+# define atoll _atoi64 /* secret handshake */
+# endif
# define Atol atoll
# else
# define Atol atol
@@ -3768,6 +3778,9 @@ typedef struct am_table_short AMTS;
# ifdef __hpux
# define strtoull __strtoull /* secret handshake */
# endif
+# ifdef WIN64
+# define strtoull _strtoui64 /* secret handshake */
+# endif
# if !defined(Strtoul) && defined(HAS_STRTOULL)
# define Strtoul strtoull
# endif