bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] test-inttostr: avoid warnings about 4-6KB literal strings


From: Jim Meyering
Subject: [PATCH] test-inttostr: avoid warnings about 4-6KB literal strings
Date: Fri, 11 Jun 2010 17:36:43 +0200

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 <address@hidden>
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  <address@hidden>

+       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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]