diff options
author | Daniel Dragan <bulk88@hotmail.com> | 2014-01-08 23:44:16 -0500 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2014-01-09 21:37:17 +0000 |
commit | 8961ec415a480cac831348374bfebace980b0a81 (patch) | |
tree | e1ec70d9d1102467878ab8f16d928b650f87d39c /win32/win32.h | |
parent | 1a8709f4ae348ec199d2eb28be5d03138c391e47 (diff) | |
download | perl-8961ec415a480cac831348374bfebace980b0a81.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].
Diffstat (limited to 'win32/win32.h')
-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 a521a41a2d..3d1655a929 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -256,6 +256,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 */ |