Subject: | undefined macro and unpackbe fails undef -Duselongdouble (on HP-UX) |
This is perl 5, version 24, subversion 1 (v5.24.1) built for IA64.ARCHREV_0-thread-multi-LP64-ld
• HP-UX does not define LLONG_MAX using perl built with gcc-4.6.1 64bitall
• Longdouble need values that do not round
unpackeb...........not ok 10
changing the test to
Digging showed that the cause was
Expected Got
------------------ ------------------
98.79 98.7900000000000062527760746888816
So, choosing 98.25 instead of 98.79 fixes your tests
$ grep -P '98.?25' *
packtests:A1 B2 g en 9 -9 98.25 10234567.89
packtests:C1F10000C2F2406700656E000000009C009D09825C000001023456789C
unptests:0000FFFF0005FFFF00000000FFFFFFFEF0F0F0F0C1F1C2F34040325EF1405F009C009D09825CF0F9F5D800000002E65A9C7A
unptests:0 -1 5 65535 0 -2 4042322160 A1 B3 2^ 9 -9 98.25 -958 W! 9c7a
All tests successful
--8<--- patch
diff -pur a/d/IBM390lib.ccc b/d/IBM390lib.ccc
--- a/d/IBM390lib.ccc 2017-05-30 18:01:48 +0200
+++ b/d/IBM390lib.ccc 2017-11-30 16:53:25 +0100
@@ -13,6 +13,9 @@
The C functions defined here are faster than straight Perl code.
-------------------------------------------------------------------*/
+#ifndef LLONG_MAX
+#define LLONG_MAX 0x7FFFFFFFFFFFFFFFLL
+#endif
/* Powers of 10 */
static const double pows_of_10[32] = { 1.0, 10.0, 100.0, 1000.0,
Only in a/lib/Convert: IBM390.pm
diff -pur a/packtests b/packtests
--- a/packtests 2017-05-26 01:39:18 +0200
+++ b/packtests 2017-11-30 16:45:11 +0100
@@ -11,8 +11,8 @@ i2s2
2147483647 -2147483648 32767 -32768
7FFFFFFF800000007FFF8000
e3xE3c2C*x3p2 p2p3.2 p8.2
-A1 B2 g en 9 -9 98.79 10234567.89
-C1F10000C2F2406700656E000000009C009D09879C000001023456789C
+A1 B2 g en 9 -9 98.25 10234567.89
+C1F10000C2F2406700656E000000009C009D09825C000001023456789C
z4Z4P3h6
-958 273 869 0FE9FA
F0F9F5D8F0F2F7F300869F0FE9FA
diff -pur a/unptests b/unptests
--- a/unptests 2015-09-22 17:27:38 +0200
+++ b/unptests 2017-11-30 16:45:27 +0100
@@ -8,8 +8,8 @@ i2s2
7FFFFFFF800000007FFF8000
2147483647 -2147483648 32767 -32768
s3Si2I e2E4c2x3p2 p2p3.2z4v2h4
-0000FFFF0005FFFF00000000FFFFFFFEF0F0F0F0C1F1C2F34040325EF1405F009C009D09879CF0F9F5D800000002E65A9C7A
-0 -1 5 65535 0 -2 4042322160 A1 B3 2^ 9 -9 98.79 -958 W! 9c7a
+0000FFFF0005FFFF00000000FFFFFFFEF0F0F0F0C1F1C2F34040325EF1405F009C009D09825CF0F9F5D800000002E65A9C7A
+0 -1 5 65535 0 -2 4042322160 A1 B3 2^ 9 -9 98.25 -958 W! 9c7a
V20V6s
000FC1C2C3C4F2F3F4F56B6C6D6E5D4BF9000000000000000000000000000102
ABCD2345,%_>).9 258
-->8---