Mailing List Archive

MSVC 2005 (8.0) build broken
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
Re: MSVC 2005 (8.0) build broken [ In reply to ]
On Sun, Aug 8, 2021, at 6:53 PM, George Greer wrote:
> The code in inline.h needs to use the same test to use '_BitScanForward64'
> as it does to include it; which is to say:
> […]

Earlier this year, we (PSC) said that we were not going to concern ourselves with any MSVC prior to v12.

--
rjbs
Re: MSVC 2005 (8.0) build broken [ In reply to ]
On Sat, 14 Aug 2021 21:15:48 -0400
"Ricardo Signes" <perl.p5p@rjbs.manxome.org> wrote:

> Earlier this year, we (PSC) said that we were not going to concern ourselves with any MSVC prior to v12.

Does that mean I can make a PR that removes support for them or is there
still a need for an RFC, discussion or something?
Re: MSVC 2005 (8.0) build broken [ In reply to ]
On Sun, 15 Aug 2021 07:01:47 +0200
Tomasz Konojacki <me@xenu.pl> wrote:

> On Sat, 14 Aug 2021 21:15:48 -0400
> "Ricardo Signes" <perl.p5p@rjbs.manxome.org> wrote:
>
> > Earlier this year, we (PSC) said that we were not going to concern
> > ourselves with any MSVC prior to v12.
>
> Does that mean I can make a PR that removes support for them or is
> there still a need for an RFC, discussion or something?

I'd say it's more that we're not going to bother doing *active* work to
keep supporting such old compilers. If things happen to currently
mostly work then fine. If code is sitting around just to support it but
isn't in the way of anything else, then don't bother disturbing it.

If you want to propose removing code that only exists to support old
compilers, you'll have to weigh up the relative cost of making that
disturbance, against the wider benefit of cleaning up the code.

--
Paul "LeoNerd" Evans

leonerd@leonerd.org.uk | https://metacpan.org/author/PEVANS
http://www.leonerd.org.uk/ | https://www.tindie.com/stores/leonerd/
Re: MSVC 2005 (8.0) build broken [ In reply to ]
On Sun, 15 Aug 2021 13:09:38 +0100
"Paul \"LeoNerd\" Evans" <leonerd@leonerd.org.uk> wrote:

> I'd say it's more that we're not going to bother doing *active* work to
> keep supporting such old compilers. If things happen to currently
> mostly work then fine. If code is sitting around just to support it but
> isn't in the way of anything else, then don't bother disturbing it.
>
> If you want to propose removing code that only exists to support old
> compilers, you'll have to weigh up the relative cost of making that
> disturbance, against the wider benefit of cleaning up the code.

Well, the ultimate goal is C99, Visual C++ 2012 and older are the main
blockers of that and currently we *explicitly* support them (see
README.win32 or the comments in win32/Makefile).
Re: MSVC 2005 (8.0) build broken [ In reply to ]
On Sun, Aug 08, 2021 at 06:53:49PM -0400, George Greer wrote:

> 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.

Thanks for running your Win32 smokers for all these years. I have found
them very useful.

Yes, I think that shutting down the Windows 2000 smoker is the right thing
to do, and I'm glad that you're continuing to run the Windows 10 smoker.


On Sun, Aug 15, 2021 at 07:01:47AM +0200, Tomasz Konojacki wrote:
> On Sat, 14 Aug 2021 21:15:48 -0400
> "Ricardo Signes" <perl.p5p@rjbs.manxome.org> wrote:
>
> > Earlier this year, we (PSC) said that we were not going to concern ourselves with any MSVC prior to v12.
>
> Does that mean I can make a PR that removes support for them or is there
> still a need for an RFC, discussion or something?

Making a PR to update that documentation would be very useful.

As to *using* C99, the PSC proposed that they aren't to be used until
someone documents them:

https://www.nntp.perl.org/group/perl.perl5.porters/2021/06/msg260331.html

(because it is frustrating when "everyone" assumes that someone else will
do it, and ultimately this ended up with the pumpking having to do it)

I am intending to comply with that resolution - I am not going to submit
anything in a PR until the documentation is done. It *might* be me doing
that documentation, if it blocks me. The "proof of concept" branch was
intended as just that, and only contained enough Configure/cflags hackery
to get it to work.

Nicholas Clark