diff options
author | Daniel Dragan <bulk88@hotmail.com> | 2014-01-08 23:44:16 -0500 |
---|---|---|
committer | Ricardo Signes <rjbs@cpan.org> | 2014-07-11 21:20:13 -0400 |
commit | 2b76cf41a496dbb4d2b2ccf00c221463f3dbf5b7 (patch) | |
tree | 6b35e2c8018ca505662ee20b7fd82c678dede27c | |
parent | c38e89e4398a95d797a67f51dca97f55b285b9f6 (diff) | |
download | perl-2b76cf41a496dbb4d2b2ccf00c221463f3dbf5b7.tar.gz |
fix missing _rotl64 symbol on Visual C 2003
Due to a bug in the CRT (msvcr71.dll), these 2 functions are not defined
in any lib Perl can use (static link CRTs dont apply, Perl only uses DLL
CRTs), but they are available as intrinsics. This solves a link error
about missing symbol __rotl64 in hv.obj, from usage in hv_func.h, on 32 bit
USE_64_BIT_INT VC 2003 builds. _rotr64 is included for completeness. This
fix is filed as [perl #120925].
(cherry picked from commit 8961ec415a480cac831348374bfebace980b0a81)
-rw-r--r-- | win32/win32.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/win32/win32.h b/win32/win32.h index 3065867bd2..92f80910f2 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -251,6 +251,11 @@ typedef unsigned short mode_t; #define NAN_COMPARE_BROKEN 1 #endif +/* on VC2003, msvcrt.lib is missing these symbols */ +#if _MSC_VER >= 1300 && _MSC_VER < 1400 +# pragma intrinsic(_rotl64,_rotr64) +#endif + #endif /* _MSC_VER */ #ifdef __MINGW32__ /* Minimal Gnu-Win32 */ |