bug-gnulib
[Top][All Lists]
Advanced

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

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


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

Eric Blake wrote:

> On 06/11/2010 09:36 AM, Jim Meyering wrote:
>> 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.
>
> Rather than defining it, why not include macros.h from the test directory?

Here's an improved version.  Differences:
  - #include macros.h rather than defining ASSERT
  - add macros.h to modules file

>From 7178c963d36832db334a64ae7046fc43d037b879 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, ...
Include "macros.h", for its definition of ASSERT.
(CK): s/assert/ASSERT/
* modules/inttostr-tests (Files): Add macros.h.
---
 ChangeLog              |    6 ++++++
 modules/inttostr-tests |    1 +
 tests/test-inttostr.c  |   17 +++++++++--------
 3 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5f93588..6a366ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 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, ...
+       Include "macros.h", for its definition of ASSERT.
+       (CK): s/assert/ASSERT/
+       * modules/inttostr-tests (Files): Add macros.h.
+
        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/modules/inttostr-tests b/modules/inttostr-tests
index f935d90..48dbe50 100644
--- a/modules/inttostr-tests
+++ b/modules/inttostr-tests
@@ -1,4 +1,5 @@
 Files:
+tests/macros.h
 tests/test-inttostr.c

 Depends-on:
diff --git a/tests/test-inttostr.c b/tests/test-inttostr.c
index 123aca4..e53d22a 100644
--- a/tests/test-inttostr.c
+++ b/tests/test-inttostr.c
@@ -24,7 +24,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <assert.h>
+
+#include "macros.h"

 #define STREQ(a, b) (strcmp (a, b) == 0)
 #define FMT(T) (TYPE_SIGNED (T) ? "%jd" : "%ju")
@@ -46,16 +47,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]