From 6d497f0c19fc62ec9601cd50f4319a823dcdf29b Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Sat, 18 Nov 2023 15:45:20 -0500 Subject: [PATCH] pack: Fix 64-bit tests on old HP cc. At least some versions of the HP compiler appear to require "ll" suffix, otherwise the decimal constants end up as a 32-bit type. --- t/packtests.c | 10 ++++++++++ t/packtests64.c | 22 ++++++++++++++++------ t/packtestu.c | 10 ++++++++++ t/packtestu64.c | 18 ++++++++++++++---- 4 files changed, 50 insertions(+), 10 deletions(-) diff --git a/t/packtests.c b/t/packtests.c index b3a7a8b..308acb3 100644 --- a/t/packtests.c +++ b/t/packtests.c @@ -1,3 +1,13 @@ +/* + * Copyright © 2015 Nick Bowler + * + * Test application to verify 16 and 32-bit signed unpacking functions. + * + * License WTFPL2: Do What The Fuck You Want To Public License, version 2. + * This is free software: you are free to do what the fuck you want to. + * There is NO WARRANTY, to the extent permitted by law. + */ + #include "pack.h" #include "tap.h" diff --git a/t/packtests64.c b/t/packtests64.c index a8fefe9..3a3f8e5 100644 --- a/t/packtests64.c +++ b/t/packtests64.c @@ -1,3 +1,13 @@ +/* + * Copyright © 2015, 2023 Nick Bowler + * + * Test application to verify 64-bit signed unpacking functions. + * + * License WTFPL2: Do What The Fuck You Want To Public License, version 2. + * This is free software: you are free to do what the fuck you want to. + * There is NO WARRANTY, to the extent permitted by law. + */ + #include "pack.h" #include "tap.h" @@ -17,8 +27,8 @@ static const unsigned char test_pattern[8] = { #define test(func, pattern, expected) do { \ long long result__ = (func)(pattern); \ if (!tap_result(result__ == (expected), "%s(%s)", #func, #expected)) { \ - tap_diag(" expected: %ld", (long long)(expected)); \ - tap_diag(" actual: %ld", result__); \ + tap_diag(" expected: %lld", (long long)(expected)); \ + tap_diag(" actual: %lld", result__); \ } \ } while (0) @@ -29,13 +39,13 @@ int main(void) test(unpack_s64_be, zero, 0); test(unpack_s64_be, minus_one, -1); - test(unpack_s64_be, test_pattern, -2401053088584709378); - test(unpack_s64_be, min, -9223372036854775807-1); + test(unpack_s64_be, test_pattern, -2401053088584709378ll); + test(unpack_s64_be, min, -9223372036854775807ll-1); test(unpack_s64_le, zero, 0); test(unpack_s64_le, minus_one, -1); - test(unpack_s64_le, test_pattern, -87241914314740258); - test(unpack_s64_le, min+1, -9223372036854775807-1); + test(unpack_s64_le, test_pattern, -87241914314740258ll); + test(unpack_s64_le, min+1, -9223372036854775807ll-1); #else tap_skip_all("no 64-bit support"); #endif diff --git a/t/packtestu.c b/t/packtestu.c index 5ae3af9..d2a2c44 100644 --- a/t/packtestu.c +++ b/t/packtestu.c @@ -1,3 +1,13 @@ +/* + * Copyright © 2015 Nick Bowler + * + * Test application to verify 16 and 32-bit unsigned unpacking functions. + * + * License WTFPL2: Do What The Fuck You Want To Public License, version 2. + * This is free software: you are free to do what the fuck you want to. + * There is NO WARRANTY, to the extent permitted by law. + */ + #include "pack.h" #include "tap.h" diff --git a/t/packtestu64.c b/t/packtestu64.c index 217404f..5620f34 100644 --- a/t/packtestu64.c +++ b/t/packtestu64.c @@ -1,3 +1,13 @@ +/* + * Copyright © 2015, 2023 Nick Bowler + * + * Test application to verify 64-bit unsigned unpacking functions. + * + * License WTFPL2: Do What The Fuck You Want To Public License, version 2. + * This is free software: you are free to do what the fuck you want to. + * There is NO WARRANTY, to the extent permitted by law. + */ + #include "pack.h" #include "tap.h" @@ -24,11 +34,11 @@ int main(void) tap_plan(6); test(unpack_64_be, zero, 0); - test(unpack_64_be, minus_one, 0xffffffffffffffff); - test(unpack_64_be, test_pattern, 0xdeadbeeff00dcafe); + test(unpack_64_be, minus_one, 0xffffffffffffffffll); + test(unpack_64_be, test_pattern, 0xdeadbeeff00dcafell); test(unpack_64_le, zero, 0); - test(unpack_64_le, minus_one, 0xffffffffffffffff); - test(unpack_64_le, test_pattern, 0xfeca0df0efbeadde); + test(unpack_64_le, minus_one, 0xffffffffffffffffll); + test(unpack_64_le, test_pattern, 0xfeca0df0efbeaddell); #else tap_skip_all("no 64-bit support"); #endif -- 2.43.2