develooper Front page | perl.perl5.porters | Postings from August 2021

MSVC 2005 (8.0) build broken

Thread Next
From:
George Greer
Date:
August 8, 2021 22:54
Subject:
MSVC 2005 (8.0) build broken
Message ID:
793383b9-b3ef-ecd9-b46-c6911ce5d6fa@greerga.m-l.org
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

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About