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]
This commit is contained in:
Andreas Jaeger 2012-05-09 16:47:57 +02:00
parent b1cc2472d2
commit 1a4b75a190
3 changed files with 12 additions and 3 deletions

View File

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

2
NEWS
View File

@ -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:

View 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') \