The code in inline.h needs to use the same test to use '_BitScanForward64'
as it does to include it; which is to say:
- - - 8< - - - 8< - - -
diff --git a/inline.h b/inline.h
index 7b13be02b68..0f29822a2d8 100644
--- a/inline.h
+++ b/inline.h
@@ -761,3 +761,3 @@ Perl_lsbit_pos64(U64 word)
-# elif U64SIZE == 8 && defined(_MSC_VER) && _MSC_VER >= 1400
+# elif U64SIZE == 8 && defined(_WIN64) && defined(_MSC_VER) && _MSC_VER >= 1400
# define PERL_HAS_FAST_GET_LSB_POS64
- - - 8< - - - 8< - - -
However, if that is fixed then `intrin.h` somehow includes `ivec.h`, which
shouldn't happen because it is guarded by "#ifdef __cplusplus", which
causes multiple copies of C++-only features to be included and fails the
linking.
If the version test is increased to `_MSV_VER >= 1500` instead then the
build fails at linkage because `PL_lc_numeric_mutex` variable isn't
defined.
Given all that and Nicholas Clark intending to use C99 features in the new
hashing, I think MSVC 8.0 support is done as far as even building. As a
result, I've shutdown my Windows 2000 VM for smoking. The Windows 10
64-bit smoker will continue.
--
George Greer
as it does to include it; which is to say:
- - - 8< - - - 8< - - -
diff --git a/inline.h b/inline.h
index 7b13be02b68..0f29822a2d8 100644
--- a/inline.h
+++ b/inline.h
@@ -761,3 +761,3 @@ Perl_lsbit_pos64(U64 word)
-# elif U64SIZE == 8 && defined(_MSC_VER) && _MSC_VER >= 1400
+# elif U64SIZE == 8 && defined(_WIN64) && defined(_MSC_VER) && _MSC_VER >= 1400
# define PERL_HAS_FAST_GET_LSB_POS64
- - - 8< - - - 8< - - -
However, if that is fixed then `intrin.h` somehow includes `ivec.h`, which
shouldn't happen because it is guarded by "#ifdef __cplusplus", which
causes multiple copies of C++-only features to be included and fails the
linking.
If the version test is increased to `_MSV_VER >= 1500` instead then the
build fails at linkage because `PL_lc_numeric_mutex` variable isn't
defined.
Given all that and Nicholas Clark intending to use C99 features in the new
hashing, I think MSVC 8.0 support is done as far as even building. As a
result, I've shutdown my Windows 2000 VM for smoking. The Windows 10
64-bit smoker will continue.
--
George Greer