From 28465e160f242e39e6008e6de674e7c2360cf7df Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 13 Sep 2022 17:29:36 -0500 Subject: =?UTF-8?q?assert-h:=20prefer=20to=20=E2=80=98verify=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Where it’s easy, prefer ‘static_assert’ to ‘verify’, as this simplifies the source by removing the need to include verify.h. Keep using ‘verify’ if verify.h is used for other reasons, or if code is shared with glibc. * lib/alignalloc.c, lib/argmatch.h, lib/c32is-impl.h: * lib/c32snrtombs.c, lib/c32srtombs.c, lib/exclude.c: * lib/filevercmp.c, lib/fma.c, lib/i-ring.h, lib/ino-map.c: * lib/localeinfo.c, lib/malloca.c, lib/mbrtoc32.c, lib/mbrtowc.c: * lib/mbsinit.c, lib/mbsnrtoc32s.c, lib/mbsrtoc32s.c: * lib/nanosleep.c, lib/parse-datetime.y, lib/pipe2.c: * lib/rawmemchr.c, lib/relocwrapper.c, lib/sleep.c: * lib/stat-w32.c, lib/strerror.c, lib/strtoimax.c: * lib/utimecmp.c, lib/vasnprintf.c, tests/test-alignof.c: * tests/test-intprops.c, tests/test-libgmp.c: * tests/test-limits-h.c, tests/test-locale.c: * tests/test-pthread.c, tests/test-round2.c: * tests/test-stdalign.c, tests/test-stddef.c, tests/test-stdio.c: * tests/test-stdlib.c, tests/test-string.c, tests/test-sys_stat.c: * tests/test-time.c, tests/test-uchar.c, tests/test-unistd.c: * tests/test-wchar.c: Prefer static_assert to verify, and stop including verify.h. * lib/stat.c: Don’t include verify.h (this include was unnecessary). * modules/alignalloc, modules/alignof-tests, modules/argmatch: * modules/c-vasnprintf, modules/c32isalnum, modules/c32isalpha: * modules/c32isblank, modules/c32iscntrl, modules/c32isdigit: * modules/c32isgraph, modules/c32islower, modules/c32isprint: * modules/c32ispunct, modules/c32isspace, modules/c32isupper: * modules/c32isxdigit, modules/c32snrtombs, modules/c32srtombs: * modules/exclude, modules/filevercmp, modules/fma, modules/fmaf: * modules/fmal, modules/fstat, modules/i-ring, modules/ino-map: * modules/intprops-tests, modules/libgmp-tests: * modules/limits-h-tests, modules/locale-tests, modules/malloca: * modules/mbrtoc32, modules/mbrtowc, modules/mbsinit: * modules/mbsnrtoc32s, modules/mbsrtoc32s, modules/nanosleep: * modules/parse-datetime, modules/pipe2, modules/pthread-h-tests: * modules/rawmemchr, modules/relocatable-prog-wrapper: * modules/round-tests, modules/roundf-tests, modules/sleep: * modules/stat, modules/stdalign-tests, modules/stdckdint-tests: * modules/stddef-tests, modules/stdio-tests, modules/stdlib-tests: * modules/strerror, modules/string-tests, modules/strtoimax: * modules/strtoumax, modules/sys_stat-tests, modules/time-tests: * modules/uchar-tests, modules/unistd-tests: * modules/unistdio/u16-u16-vasnprintf: * modules/unistdio/u16-vasnprintf: * modules/unistdio/u32-u32-vasnprintf: * modules/unistdio/u32-vasnprintf: * modules/unistdio/u8-u8-vasnprintf: * modules/unistdio/u8-vasnprintf, modules/unistdio/ulc-vasnprintf: * modules/utimecmp, modules/vasnprintf, modules/wchar-tests: Depend on assert-h, not verify. --- tests/test-limits-h.c | 50 ++++++++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 26 deletions(-) (limited to 'tests/test-limits-h.c') diff --git a/tests/test-limits-h.c b/tests/test-limits-h.c index 5da02f0575..ddcb5d5648 100644 --- a/tests/test-limits-h.c +++ b/tests/test-limits-h.c @@ -20,14 +20,12 @@ #include -#include "verify.h" - #if 4 < __GNUC__ + (3 <= __GNUC_MINOR__) # pragma GCC diagnostic ignored "-Woverlength-strings" #endif #define verify_width(width, min, max) \ - verify ((max) >> ((width) - 1 - ((min) < 0)) == 1) + static_assert ((max) >> ((width) - 1 - ((min) < 0)) == 1) /* Macros borrowed from intprops.h. */ #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) @@ -53,48 +51,48 @@ verify_width (LONG_BIT, LONG_MIN, LONG_MAX); /* Numerical limit macros. */ char limits1[] = { CHAR_MIN, CHAR_MAX }; -verify (TYPE_MINIMUM (char) == CHAR_MIN); -verify (TYPE_MAXIMUM (char) == CHAR_MAX); +static_assert (TYPE_MINIMUM (char) == CHAR_MIN); +static_assert (TYPE_MAXIMUM (char) == CHAR_MAX); signed char limits2[] = { SCHAR_MIN, SCHAR_MAX }; -verify (TYPE_MINIMUM (signed char) == SCHAR_MIN); -verify (TYPE_MAXIMUM (signed char) == SCHAR_MAX); +static_assert (TYPE_MINIMUM (signed char) == SCHAR_MIN); +static_assert (TYPE_MAXIMUM (signed char) == SCHAR_MAX); unsigned char limits3[] = { UCHAR_MAX }; -verify (TYPE_MINIMUM (unsigned char) == 0); -verify (TYPE_MAXIMUM (unsigned char) == UCHAR_MAX); +static_assert (TYPE_MINIMUM (unsigned char) == 0); +static_assert (TYPE_MAXIMUM (unsigned char) == UCHAR_MAX); short limits4[] = { SHRT_MIN, SHRT_MAX }; -verify (TYPE_MINIMUM (short int) == SHRT_MIN); -verify (TYPE_MAXIMUM (short int) == SHRT_MAX); +static_assert (TYPE_MINIMUM (short int) == SHRT_MIN); +static_assert (TYPE_MAXIMUM (short int) == SHRT_MAX); unsigned short limits5[] = { USHRT_MAX }; -verify (TYPE_MINIMUM (unsigned short int) == 0); -verify (TYPE_MAXIMUM (unsigned short int) == USHRT_MAX); +static_assert (TYPE_MINIMUM (unsigned short int) == 0); +static_assert (TYPE_MAXIMUM (unsigned short int) == USHRT_MAX); int limits6[] = { INT_MIN, INT_MAX }; -verify (TYPE_MINIMUM (int) == INT_MIN); -verify (TYPE_MAXIMUM (int) == INT_MAX); +static_assert (TYPE_MINIMUM (int) == INT_MIN); +static_assert (TYPE_MAXIMUM (int) == INT_MAX); unsigned int limits7[] = { UINT_MAX }; -verify (TYPE_MINIMUM (unsigned int) == 0); -verify (TYPE_MAXIMUM (unsigned int) == UINT_MAX); +static_assert (TYPE_MINIMUM (unsigned int) == 0); +static_assert (TYPE_MAXIMUM (unsigned int) == UINT_MAX); long limits8[] = { LONG_MIN, LONG_MAX }; -verify (TYPE_MINIMUM (long int) == LONG_MIN); -verify (TYPE_MAXIMUM (long int) == LONG_MAX); +static_assert (TYPE_MINIMUM (long int) == LONG_MIN); +static_assert (TYPE_MAXIMUM (long int) == LONG_MAX); unsigned long limits9[] = { ULONG_MAX }; -verify (TYPE_MINIMUM (unsigned long int) == 0); -verify (TYPE_MAXIMUM (unsigned long int) == ULONG_MAX); +static_assert (TYPE_MINIMUM (unsigned long int) == 0); +static_assert (TYPE_MAXIMUM (unsigned long int) == ULONG_MAX); long long limits10[] = { LLONG_MIN, LLONG_MAX }; -verify (TYPE_MINIMUM (long long int) == LLONG_MIN); -verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); +static_assert (TYPE_MINIMUM (long long int) == LLONG_MIN); +static_assert (TYPE_MAXIMUM (long long int) == LLONG_MAX); unsigned long long limits11[] = { ULLONG_MAX }; -verify (TYPE_MINIMUM (unsigned long long int) == 0); -verify (TYPE_MAXIMUM (unsigned long long int) == ULLONG_MAX); +static_assert (TYPE_MINIMUM (unsigned long long int) == 0); +static_assert (TYPE_MAXIMUM (unsigned long long int) == ULLONG_MAX); /* Macros specified by ISO/IEC TS 18661-1:2014. */ @@ -113,7 +111,7 @@ verify_width (ULLONG_WIDTH, 0, ULLONG_MAX); /* Macros specified by C2x. */ int bool_attrs[] = { BOOL_MAX, BOOL_WIDTH }; -verify (BOOL_MAX == (((1U << (BOOL_WIDTH - 1)) - 1) * 2) + 1); +static_assert (BOOL_MAX == (((1U << (BOOL_WIDTH - 1)) - 1) * 2) + 1); int main (void) -- cgit v1.2.1