about summary refs log tree commit diff
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.tar.gz
glibc-1a4b75a190006bb013a61f2031a4de86e93a629f.tar.xz
glibc-1a4b75a190006bb013a61f2031a4de86e93a629f.zip
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 80651f1e4b..99283e2f82 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 ca1f7535cc..a10e8868a7 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 af5c88ca75..bbf05a3df6 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')	      \