From 1a4b75a190006bb013a61f2031a4de86e93a629f Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Wed, 9 May 2012 16:47:57 +0200 Subject: Fix strspn warning with -Wconversion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [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 | 9 +++++++++ NEWS | 2 +- string/bits/string2.h | 4 ++-- 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 + + [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 * 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') \ -- cgit v1.2.3