From 1a4b75a190006bb013a61f2031a4de86e93a629f Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Wed, 9 May 2012 16:47:57 +0200 Subject: [PATCH] Fix strspn warning with -Wconversion MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 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 80651f1..99283e2 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 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') \ -- 2.7.4