This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
handy.h: Avoid compiler warnings for withinCOUNT()
authorKarl Williamson <khw@cpan.org>
Thu, 26 Sep 2019 04:23:55 +0000 (22:23 -0600)
committerKarl Williamson <khw@cpan.org>
Thu, 26 Sep 2019 04:30:43 +0000 (22:30 -0600)
commit76d3ad4c2443f94d2d636a40a01762c27bbf1c10
tree94354a2b40c5327d6f340401700da66f30c661b8
parent1eaefa6ebf606d54de28b69d64510e8179c754ef
handy.h: Avoid compiler warnings for withinCOUNT()

If a parameter to this function is unsigned, gcc, at least, generates a
comparison-always-true warning for the asserts on the parameters.
Silence these by casting to an NV.  Any extra machine instructions will
be gone from non-DEBUGGING builds.  The value in an NV won't necessarily
be exact, but all the assertions care about is the sign, which is
guaranteed by C11 standard 6.3.1.4 item 2.

This technique was the idea of Tomasz Konojacki.
handy.h