aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2012-05-09 16:47:57 +0200
committerAndreas Jaeger <aj@suse.de>2012-05-09 16:47:57 +0200
commit1a4b75a190006bb013a61f2031a4de86e93a629f (patch)
tree124161c731370e44a7acf1ff86b95ba9d85fa17f
parentb1cc2472d26084ec88b53606baabb82ec6b80db2 (diff)
downloadglibc-1a4b75a190006bb013a61f2031a4de86e93a629f.zip
glibc-1a4b75a190006bb013a61f2031a4de86e93a629f.tar.gz
glibc-1a4b75a190006bb013a61f2031a4de86e93a629f.tar.bz2
Fix strspn warning with -Wconversion
[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]
-rw-r--r--ChangeLog9
-rw-r--r--NEWS2
-rw-r--r--string/bits/string2.h4
3 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 80651f1..99283e2 100644
--- 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
--- 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:
diff --git a/string/bits/string2.h b/string/bits/string2.h
index af5c88c..bbf05a3 100644
--- a/string/bits/string2.h
+++ b/string/bits/string2.h
@@ -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') \