Skip Menu |

This queue is for tickets about the List-MoreUtils-XS CPAN distribution.

Report information
The Basics
Id: 122829
Status: resolved
Priority: 0/
Queue: List-MoreUtils-XS

People
Owner: Nobody in particular
Requestors: ZHENYZ [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.422
Fixed in: 0.423



Subject: Cannot build on MSVC
There are at least a couple of issues: 1. "inline" is not well supported by MSVC. At this line https://metacpan.org/source/REHSACK/List-MoreUtils-XS-0.422/XS.xs#L599 it would report error like "C2054: expected '(' to follow 'inline'" The solution can be using __inline for MSVC, like #ifdef _MSC_VER # define inline __inline #endif 2. "Statement Expression" is an extension of gcc, and is not supported by MSVC. At this line https://metacpan.org/source/REHSACK/List-MoreUtils-XS-0.422/XS.xs#L646 I get error like "C2059: syntax error: '{'" btw, I don't know very much perlapi, but why is the CMP macro defined in this way and how does it compare x and y? See https://metacpan.org/source/REHSACK/List-MoreUtils-XS-0.422/XS.xs#L621
On Thu Aug 17 02:44:00 2017, ZHENYZ wrote: Show quoted text
> There are at least a couple of issues: > > 1. "inline" is not well supported by MSVC. At this line > https://metacpan.org/source/REHSACK/List-MoreUtils-XS-0.422/XS.xs#L599 > it would report error like "C2054: expected '(' to follow 'inline'" > > The solution can be using __inline for MSVC, like > > #ifdef _MSC_VER > # define inline __inline > #endif
This will be easy :) Show quoted text
> 2. "Statement Expression" is an extension of gcc, and is not supported > by MSVC. At this line https://metacpan.org/source/REHSACK/List- > MoreUtils-XS-0.422/XS.xs#L646 I get error like "C2059: syntax error: > '{'"
List::MoreUtils::XS uses "Statement Expression" since 4.000 - it a bit weird that they're now a problem. Can you prove how previous versions behave? Show quoted text
> btw, I don't know very much perlapi, but why is the CMP macro defined > in this way and how does it compare x and y? See > https://metacpan.org/source/REHSACK/List-MoreUtils-XS-0.422/XS.xs#L621
This is the way how MULTICALL works. Best regards, Jens
Please prove whether https://github.com/perl5-utils/List-MoreUtils-XS master builds for you. When I don't hear something more broken soon - I ship it to progress further.
I just tried the 0.423 version. It's good. Thanks for the quick fix!
It's a shame that testing on Windows using MSVC is such a barrier that I decided to skip. I apologize for not being systematic enough there :(