Fix strspn warning with -Wconversion
authorAndreas Jaeger <aj@suse.de>
Wed, 9 May 2012 14:47:57 +0000 (16:47 +0200)
committerAndreas Jaeger <aj@suse.de>
Wed, 9 May 2012 14:47:57 +0000 (16:47 +0200)
[BZ #14083]
Fix warning when using strspn with -Wconversion:
$ gcc -Wconversion -O t.c
t.c: In function ‘main’:
t.c:8:7: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]

ChangeLog
NEWS
string/bits/string2.h

index 80651f1..99283e2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2012-05-09  Andreas Jaeger  <aj@suse.de>
+
+       [BZ #14083]
+       * string/bits/string2.h (strspn) [__GNUC_PREREQ(3, 2) &&
+       !_HAVE_STRING_ARCH_strspn]: Cast zero to size_t to avoid
+       -Wconversion warning.
+       (strspn) [!__GNUC_PREREQ(3, 2) && !_HAVE_STRING_ARCH_strspn]:
+       Likewise.
+
 2012-05-09  Joseph Myers  <joseph@codesourcery.com>
 
        * conform/data/locale.h-data (NULL): Use macro-constant.  Require
diff --git a/NEWS b/NEWS
index ca1f753..a10e886 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -24,7 +24,7 @@ Version 2.16
   13895, 13908, 13910, 13911, 13912, 13913, 13914, 13915, 13916, 13917,
   13918, 13919, 13920, 13921, 13922, 13923, 13924, 13926, 13927, 13928,
   13938, 13941, 13942, 13963, 13967, 13970, 13973, 13979, 13983, 14027,
-  14033, 14034, 14040, 14049, 14055, 14064, 14080
+  14033, 14034, 14040, 14049, 14055, 14064, 14080, 14083
 
 * ISO C11 support:
 
index af5c88c..bbf05a3 100644 (file)
@@ -1014,7 +1014,7 @@ __strcspn_c3 (const char *__s, int __reject1, int __reject2,
       ? ((__builtin_constant_p (s) && __string2_1bptr_p (s))                 \
         ? __builtin_strspn (s, accept)                                       \
         : ((__a0 = ((const char *) (accept))[0], __a0 == '\0')               \
-           ? ((void) (s), 0)                                                 \
+           ? ((void) (s), (size_t) 0)                                        \
            : ((__a1 = ((const char *) (accept))[1], __a1 == '\0')            \
               ? __strspn_c1 (s, __a0)                                        \
               : ((__a2 = ((const char *) (accept))[2], __a2 == '\0')         \
@@ -1029,7 +1029,7 @@ __strcspn_c3 (const char *__s, int __reject1, int __reject2,
   ({ char __a0, __a1, __a2;                                                  \
      (__builtin_constant_p (accept) && __string2_1bptr_p (accept)            \
       ? ((__a0 = ((const char *) (accept))[0], __a0 == '\0')                 \
-        ? ((void) (s), 0)                                                    \
+        ? ((void) (s), (size_t) 0)                                           \
         : ((__a1 = ((const char *) (accept))[1], __a1 == '\0')               \
            ? __strspn_c1 (s, __a0)                                           \
            : ((__a2 = ((const char *) (accept))[2], __a2 == '\0')            \