From a5865b6ed2fe6810ec1f557e79794ce525fcb935 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 21 May 2023 14:42:27 +0200 Subject: [PATCH] limits-h tests: Check the value of SSIZE_MAX. * tests/test-limits-h.c (limits12): New variable. Include and check the value of SSIZE_MAX. * modules/limits-h-tests (Depends-on): Add sys_types. --- ChangeLog | 7 +++++++ modules/limits-h-tests | 1 + tests/test-limits-h.c | 11 +++++++++++ 3 files changed, 19 insertions(+) diff --git a/ChangeLog b/ChangeLog index e205c02f43..9cdb603b9b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2023-05-21 Bruno Haible + + limits-h tests: Check the value of SSIZE_MAX. + * tests/test-limits-h.c (limits12): New variable. + Include and check the value of SSIZE_MAX. + * modules/limits-h-tests (Depends-on): Add sys_types. + 2023-05-21 Bruno Haible ssize_t: Fix replacement on 64-bit Windows. diff --git a/modules/limits-h-tests b/modules/limits-h-tests index 2cf0a41f5d..51919ad1a1 100644 --- a/modules/limits-h-tests +++ b/modules/limits-h-tests @@ -4,6 +4,7 @@ tests/test-limits-h.c Depends-on: assert-h extensions +sys_types limits-h-c++-tests configure.ac: diff --git a/tests/test-limits-h.c b/tests/test-limits-h.c index d7cfba7131..253d2362e7 100644 --- a/tests/test-limits-h.c +++ b/tests/test-limits-h.c @@ -94,6 +94,10 @@ unsigned long long limits11[] = { ULLONG_MAX }; static_assert (TYPE_MINIMUM (unsigned long long int) == 0); static_assert (TYPE_MAXIMUM (unsigned long long int) == ULLONG_MAX); +/* Specified by POSIX, not by ISO C. */ + +long long limits12[] = { SSIZE_MAX }; + /* Macros specified by C23 and by ISO/IEC TS 18661-1:2014. */ verify_width (CHAR_WIDTH, CHAR_MIN, CHAR_MAX); @@ -115,6 +119,13 @@ static_assert (BOOL_MAX == (((1U << (BOOL_WIDTH - 1)) - 1) * 2) + 1); static_assert (0 < MB_LEN_MAX); +/* Get ssize_t, size_t. */ +#include + +static_assert (TYPE_MAXIMUM (ssize_t) == SSIZE_MAX); +/* Verify that ssize_t has the same width as size_t. */ +static_assert (TYPE_MAXIMUM (size_t) / 2 == SSIZE_MAX); + int main (void) { -- 2.39.5