Skip Menu |

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

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

People
Owner: Nobody in particular
Requestors: alexander.bluhm [...] gmx.net
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.423
Fixed in: (no value)



Subject: clang warning logical vs bitwise
When compiling List-MoreUtils-XS 0.423 with clang I get this warning: cc -c -I. -DNO_LOCALE_NUMERIC -DNO_LOCALE_COLLATE -fno-strict-aliasing -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I/usr/local/include -O2 -DVERSION=\"0.423\" -DXS_VERSION=\"0.423\" -DPIC -fPIC "-I/usr/libdata/perl5/amd64-openbsd/CORE" XS.c XS.xs:282:21: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses] if (!(PadnameFLAGS(name_sv)) & SVf_OK) ^ ~ XS.xs:282:21: note: add parentheses after the '!' to evaluate the bitwise operator first if (!(PadnameFLAGS(name_sv)) & SVf_OK) ^ ( ) XS.xs:282:21: note: add parentheses around left hand side expression to silence this warning if (!(PadnameFLAGS(name_sv)) & SVf_OK) ^ ( ) 1 warning generated. The code does not look correct. PadnameFLAGS is a bit field with presumably some bits set. After logical not the value is 0 and the condition is never true. This is a copy of github issue https://github.com/perl5-utils/List-MoreUtils-XS/issues/3
0.425_001 is on it's way to CPAN. Try it, send test reports and sooner or later a release for the masses will be out.
From: alexander.bluhm [...] gmx.net
On Wed Sep 27 11:07:26 2017, REHSACK wrote: Show quoted text
> 0.425_001 is on it's way to CPAN. Try it, send test reports
I have tested it with Perl 5.24.3 on amd64-openbsd. All tests of List-MoreUtils-XS and List-MoreUtils pass. All tests of the modules depending on these have no regression, everything that passed with 0.423 still passes with 0.425_001. The clang compiler does not warn any more. So this is an improvement, go for it.