Use IVSIZE not HAS_QUAD to enable 'q' and 'Q' formats in pack.
authorNicholas Clark <nick@ccl4.org>
Wed, 11 Sep 2013 11:12:25 +0000 (12:12 +0100)
committerNicholas Clark <nick@ccl4.org>
Tue, 17 Sep 2013 11:57:52 +0000 (13:57 +0200)
commit1640b983ff7c1296873ae4dc0e2163160c853cb3
tree1f2a305a871cfb523c7d7c83a3e5875746a1ba1d
parentb002c7b1f7eb7c6fa27e84405047d34581195270
Use IVSIZE not HAS_QUAD to enable 'q' and 'Q' formats in pack.

Whilst the code for 'q' and 'Q' in pp_pack is itself well behaved if enabled
on a perl with 32 bit IVs (using SvNV instead of SvIV and SvUV), the
regression tests are not. Several tests use an eval of "pack 'q'" to
determine if 64 bit integer support is available (instead of
$Config{ivsize}), and t/op/pack.t fails many tests. While these could be
fixed (or skipped), unfortunately the approach of evaling "pack 'q'" is
fairly popular on CPAN, so the breakage isn't just in the perl core, and
might also be present in code we can't see or submit patches for.
packsizetables.c
pp_pack.c
regen/genpacksizetables.pl