FYI, I was not happy to see the 10 new warnings like this one: test-inttostr.c:66:3: warning: string length '5001' is greater than the length '4095' ISO C99 compilers are required to support [-Woverlength-strings]
>From 560b837a96eee265a5d7f20da2277f2fdc2b6562 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyer...@redhat.com> Date: Fri, 11 Jun 2010 17:31:04 +0200 Subject: [PATCH] test-inttostr: avoid warnings about 4-6KB literal strings * tests/test-inttostr.c: Don't use <assert.h>. Instead, ... (ASSERT): Define. (CK): Replace all uses. --- ChangeLog | 5 +++++ tests/test-inttostr.c | 27 +++++++++++++++++++-------- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5f93588..32f148f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2010-06-11 Jim Meyering <meyer...@redhat.com> + test-inttostr: avoid warnings about 4-6KB literal strings + * tests/test-inttostr.c: Don't use <assert.h>. Instead, ... + (ASSERT): Define. + (CK): Replace all uses. + init.sh: don't use $ME_ or skip_ before they are defined * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede their first uses. Also hoist their companions: warn_, fail_, diff --git a/tests/test-inttostr.c b/tests/test-inttostr.c index 123aca4..141473f 100644 --- a/tests/test-inttostr.c +++ b/tests/test-inttostr.c @@ -24,7 +24,18 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <assert.h> + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) #define STREQ(a, b) (strcmp (a, b) == 0) #define FMT(T) (TYPE_SIGNED (T) ? "%jd" : "%ju") @@ -46,16 +57,16 @@ char ref[100]; \ char *buf = malloc (INT_BUFSIZE_BOUND (T)); \ char const *p; \ - assert (buf); \ + ASSERT (buf); \ *buf = '\0'; \ - assert (snprintf (ref, sizeof ref, FMT (T), V_min (T)) < sizeof ref); \ - assert (STREQ ((p = Fn (TYPE_MINIMUM (T), buf)), ref)); \ + ASSERT (snprintf (ref, sizeof ref, FMT (T), V_min (T)) < sizeof ref); \ + ASSERT (STREQ ((p = Fn (TYPE_MINIMUM (T), buf)), ref)); \ /* Ensure that INT_BUFSIZE_BOUND is tight for signed types. */ \ - assert (! TYPE_SIGNED (T) || (p == buf && *p == '-')); \ - assert (snprintf (ref, sizeof ref, FMT (T), V_max (T)) < sizeof ref); \ - assert (STREQ ((p = Fn (TYPE_MAXIMUM (T), buf)), ref)); \ + ASSERT (! TYPE_SIGNED (T) || (p == buf && *p == '-')); \ + ASSERT (snprintf (ref, sizeof ref, FMT (T), V_max (T)) < sizeof ref); \ + ASSERT (STREQ ((p = Fn (TYPE_MAXIMUM (T), buf)), ref)); \ /* For unsigned types, the bound is not always tight. */ \ - assert (! IS_TIGHT (T) || TYPE_SIGNED (T) \ + ASSERT (! IS_TIGHT (T) || TYPE_SIGNED (T) \ || (p == buf && ISDIGIT (*p))); \ free (buf); \ } \ -- 1.7.1.501.g23b46