From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14161 invoked by alias); 26 Jul 2007 21:46:47 -0000 Received: (qmail 14145 invoked by uid 22791); 26 Jul 2007 21:46:46 -0000 X-Spam-Check-By: sourceware.org Received: from sunsite.ms.mff.cuni.cz (HELO sunsite.mff.cuni.cz) (195.113.15.26) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 26 Jul 2007 21:46:42 +0000 Received: from sunsite.mff.cuni.cz (localhost.localdomain [127.0.0.1]) by sunsite.mff.cuni.cz (8.13.8/8.13.8) with ESMTP id l6QLoslF027123; Thu, 26 Jul 2007 23:50:54 +0200 Received: (from jakub@localhost) by sunsite.mff.cuni.cz (8.13.8/8.13.8/Submit) id l6QLosJf027119; Thu, 26 Jul 2007 23:50:54 +0200 Date: Thu, 26 Jul 2007 21:46:00 -0000 From: Jakub Jelinek To: Ulrich Drepper Cc: Glibc hackers Subject: [PATCH] Warning patrol - noncontroversial fixes Message-ID: <20070726215053.GL4603@sunsite.mff.cuni.cz> Reply-To: Jakub Jelinek Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.2i Mailing-List: contact libc-hacker-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sourceware.org X-SW-Source: 2007-07/txt/msg00046.txt.bz2 Hi! Here is a bunch of hopefully non-controversial warning fixes of various kinds. In fnmatch.c the warnings are gcc's fault, but rearranging the code like done in the patch might even improve the most common case and shuts the warning up. zdump.c apparently relies on signed overflows, so I have added -fwrapv instead of making the code conformant. 2007-07-26 Jakub Jelinek * nss/nsswitch.c (__nss_lookup_function): Don't cast &ni->known to void **. * nss/nsswitch.h (service_user): Use void * type for KNOWN field. * nss/nss_files/files-hosts.c (LINE_PARSER): Cast host_addr to char * to avoid warning. * nis/nss_nis/nis-hosts.c (LINE_PARSER): Likewise. * timezone/Makefile (CFLAGS-zdump.c): Add -fwrapv. * locale/programs/ld-ctype.c (ctype_finish, set_class_defaults, allocate_arrays): Cast second argument to charmap_find_symbol to char * to avoid warnings. * locale/programs/repertoire.c (repertoire_new_char): Change from_nr, to_nr and cnt to unsigned long, adjust printf format string. * locale/programs/ld-collate.c (insert_value, handle_ellipsis): Cast second argument to new_element to char * to avoid warnings. * locale/weightwc.h (findidx): Cast &extra[-i] to const int32_t *. * io/tst-posix_fallocate.c: Include fcntl.h. * intl/gettextP.h (struct loaded_domain): Change plural to const struct expression *. * intl/plural-eval.c (plural_eval): Change first argument to const struct expression *. * intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Change first argument to const struct expression **. * intl/plural-exp.h (EXTRACT_PLURAL_EXPRESSION, plural_eval): Adjust prototypes. * intl/loadmsgcat (_nl_unload_domain): Cast away const in call to __gettext_free_exp. * posix/fnmatch.c (fnmatch): Rearrange code to avoid maybe unitialized wstring/wpattern var warnings. * posix/runtests.c (struct a_test): Make data field const char *. * stdio-common/tst-sprintf2.c (main): Don't declere u, v and buf vars if not LDBL_MANT_DIG >= 106. * stdio-common/Makefile (CFLAGS-vfwprintf.c): Add -Wno-unitialized. * stdio-common/vfprintf.c (vfprintf): Cast first arugment to __find_specmb to avoid warning. * rt/tst-mqueue1.c (do_one_test): Add casts to avoid warnings. * debug/test-strcpy_chk.c (do_tests, do_random_tests): Add casts to avoid warnings. * sysdeps/ieee754/ldbl-96/s_roundl.c (huge): Add L suffix to initializer. * sysdeps/unix/clock_gettime.c (clock_gettime): Only define tv var when it will be actually used. * sunrpc/rpc_cmsg.c (xdr_callmsg): Cast IXDR_PUT_* to void to avoid warnings. nptl/ * tst-locale2.c (useless): Add return statement. --- libc/nss/nsswitch.c.jj 2007-01-15 23:25:28.000000000 +0100 +++ libc/nss/nsswitch.c 2007-07-26 13:17:14.000000000 +0200 @@ -281,7 +281,7 @@ __nss_lookup_function (service_user *ni, enough to a pointer to our structure to use as a lookup key that will be passed to `known_compare' (above). */ - found = __tsearch (&fct_name, (void **) &ni->known, &known_compare); + found = __tsearch (&fct_name, &ni->known, &known_compare); if (*found != &fct_name) /* The search found an existing structure in the tree. */ result = ((known_function *) *found)->fct_ptr; @@ -298,7 +298,7 @@ __nss_lookup_function (service_user *ni, remove_from_tree: /* Oops. We can't instantiate this node properly. Remove it from the tree. */ - __tdelete (&fct_name, (void **) &ni->known, &known_compare); + __tdelete (&fct_name, &ni->known, &known_compare); result = NULL; } else --- libc/nss/nsswitch.h.jj 2004-05-26 08:40:24.000000000 +0200 +++ libc/nss/nsswitch.h 2007-07-26 13:17:14.000000000 +0200 @@ -1,4 +1,5 @@ -/* Copyright (C) 1996-1999,2001,2002,2003,2004 Free Software Foundation, Inc. +/* Copyright (C) 1996-1999,2001,2002,2003,2004,2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -66,7 +67,7 @@ typedef struct service_user /* Link to the underlying library object. */ service_library *library; /* Collection of known functions. */ - struct entry *known; + void *known; /* Name of the service (`files', `dns', `nis', ...). */ char name[0]; } service_user; --- libc/nss/nss_files/files-hosts.c.jj 2007-05-04 11:38:29.000000000 +0200 +++ libc/nss/nss_files/files-hosts.c 2007-07-26 13:17:14.000000000 +0200 @@ -86,7 +86,7 @@ LINE_PARSER result->h_length = af == AF_INET ? INADDRSZ : IN6ADDRSZ; /* Store a pointer to the address in the expected form. */ - entdata->h_addr_ptrs[0] = entdata->host_addr; + entdata->h_addr_ptrs[0] = (char *) entdata->host_addr; entdata->h_addr_ptrs[1] = NULL; result->h_addr_list = entdata->h_addr_ptrs; --- libc/nis/nss_nis/nis-hosts.c.jj 2007-05-04 11:38:29.000000000 +0200 +++ libc/nis/nss_nis/nis-hosts.c 2007-07-26 13:43:49.000000000 +0200 @@ -88,7 +88,7 @@ LINE_PARSER return 0; /* Store a pointer to the address in the expected form. */ - entdata->h_addr_ptrs[0] = entdata->host_addr; + entdata->h_addr_ptrs[0] = (char *) entdata->host_addr; entdata->h_addr_ptrs[1] = NULL; result->h_addr_list = entdata->h_addr_ptrs; --- libc/nptl/tst-locale2.c.jj 2007-04-23 10:54:02.000000000 +0200 +++ libc/nptl/tst-locale2.c 2007-07-26 19:24:40.000000000 +0200 @@ -11,4 +11,5 @@ useless (void *a) { pthread_t th; pthread_create (&th, 0, useless, a); + return NULL; } --- libc/timezone/Makefile.jj 2005-04-15 22:09:08.000000000 +0200 +++ libc/timezone/Makefile 2007-07-26 13:40:46.000000000 +0200 @@ -1,4 +1,4 @@ -# Copyright (C) 1998,1999,2000,2002,2005 Free Software Foundation, Inc. +# Copyright (C) 1998,1999,2000,2002,2005,2007 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -166,7 +166,8 @@ tz-cflags = -DTZDIR='"$(zonedir)"' \ -DTZDEFRULES='"$(posixrules-file)"' \ -DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone -CFLAGS-zdump.c = -Wno-strict-prototypes -DNOID $(tz-cflags) -DHAVE_GETTEXT +CFLAGS-zdump.c = -fwrapv -Wno-strict-prototypes -DNOID $(tz-cflags) \ + -DHAVE_GETTEXT CFLAGS-zic.c = -Wno-strict-prototypes -DNOID $(tz-cflags) -DHAVE_GETTEXT CFLAGS-ialloc.c = -Wno-strict-prototypes -DNOID -DHAVE_GETTEXT CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID -DHAVE_GETTEXT --- libc/locale/programs/ld-ctype.c.jj 2007-07-16 09:58:46.000000000 +0200 +++ libc/locale/programs/ld-ctype.c 2007-07-26 13:36:02.000000000 +0200 @@ -649,7 +649,8 @@ character not defined in character /* Find the UCS value for `bytes'. */ int inner; uint32_t wch; - struct charseq *seq = charmap_find_symbol (charmap, bytes, nbytes); + struct charseq *seq + = charmap_find_symbol (charmap, (char *) bytes, nbytes); if (seq == NULL) wch = ILLEGAL_CHAR_VALUE; @@ -750,7 +751,7 @@ character not defined in character for (cnt = 0; cnt < 10; ++cnt) { ctype->mbdigits[cnt] = charmap_find_symbol (charmap, - digits + cnt, 1); + (char *) digits + cnt, 1); if (ctype->mbdigits[cnt] == NULL) { ctype->mbdigits[cnt] = charmap_find_symbol (charmap, @@ -3470,7 +3471,8 @@ set_class_defaults (struct locale_ctype_ for (cnt = ctype->outdigits_act; cnt < 10; ++cnt) { ctype->mboutdigits[cnt] = charmap_find_symbol (charmap, - digits + cnt, 1); + (char *) digits + cnt, + 1); if (ctype->mboutdigits[cnt] == NULL) ctype->mboutdigits[cnt] = charmap_find_symbol (charmap, @@ -4025,7 +4027,7 @@ allocate_arrays (struct locale_ctype_t * int inner; uint32_t wch; struct charseq *seq = - charmap_find_symbol (charmap, bytes, nbytes); + charmap_find_symbol (charmap, (char *) bytes, nbytes); if (seq == NULL) wch = ILLEGAL_CHAR_VALUE; --- libc/locale/programs/repertoire.c.jj 2007-07-16 09:58:46.000000000 +0200 +++ libc/locale/programs/repertoire.c 2007-07-26 13:34:24.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2002,2004,2005 Free Software Foundation, Inc. +/* Copyright (C) 1998-2002,2004,2005,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -393,7 +393,7 @@ repertoire_new_char (struct linereader * const char *cp; char *buf = NULL; int prefix_len, len1, len2; - unsigned int from_nr, to_nr, cnt; + unsigned long int from_nr, to_nr, cnt; if (to == NULL) { @@ -462,7 +462,7 @@ hexadecimal range format should use only { uint32_t this_value = value + (cnt - from_nr); - obstack_printf (ob, decimal_ellipsis ? "%.*s%0*d" : "%.*s%0*X", + obstack_printf (ob, decimal_ellipsis ? "%.*s%0*ld" : "%.*s%0*lX", prefix_len, from, len1 - prefix_len, cnt); obstack_1grow (ob, '\0'); --- libc/locale/programs/ld-collate.c.jj 2007-07-24 10:50:54.000000000 +0200 +++ libc/locale/programs/ld-collate.c 2007-07-26 13:17:14.000000000 +0200 @@ -990,7 +990,8 @@ insert_value (struct linereader *ldfile, uint32_t wcs[2] = { wc, 0 }; /* We have to allocate an entry. */ - elem = new_element (collate, seq != NULL ? seq->bytes : NULL, + elem = new_element (collate, + seq != NULL ? (char *) seq->bytes : NULL, seq != NULL ? seq->nbytes : 0, wc == ILLEGAL_CHAR_VALUE ? NULL : wcs, symstr, symlen, 1); @@ -1385,7 +1386,8 @@ order for `%.*s' already defined at %s:% /* We have to allocate an entry. */ elem = new_element (collate, - seq != NULL ? seq->bytes : NULL, + seq != NULL + ? (char *) seq->bytes : NULL, seq != NULL ? seq->nbytes : 0, wc == ILLEGAL_CHAR_VALUE ? NULL : wcs, buf, lenfrom, 1); --- libc/locale/weightwc.h.jj 2005-03-06 08:15:49.000000000 +0100 +++ libc/locale/weightwc.h 2007-07-26 13:17:14.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2001,2003,2004,2005 Free Software Foundation, Inc. +/* Copyright (C) 1996-2001,2003,2004,2005,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Ulrich Drepper, . @@ -31,7 +31,7 @@ findidx (const wint_t **cpp) /* Oh well, more than one sequence starting with this byte. Search for the correct one. */ - const int32_t *cp = &extra[-i]; + const int32_t *cp = (const int32_t *) &extra[-i]; while (1) { size_t nhere; --- libc/io/tst-posix_fallocate.c.jj 2007-07-23 19:46:03.000000000 +0200 +++ libc/io/tst-posix_fallocate.c 2007-07-26 19:23:47.000000000 +0200 @@ -1,3 +1,4 @@ +#include #include static void do_prepare (void); --- libc/intl/gettextP.h.jj 2005-04-05 00:29:14.000000000 +0200 +++ libc/intl/gettextP.h 2007-07-26 13:17:14.000000000 +0200 @@ -1,5 +1,6 @@ /* Header describing internals of libintl library. - Copyright (C) 1995-1999, 2000, 2001, 2004-2005 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000, 2001, 2004-2005, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Ulrich Drepper , 1995. @@ -147,7 +148,7 @@ struct loaded_domain struct converted_domain *conversions; size_t nconversions; - struct expression *plural; + const struct expression *plural; unsigned long int nplurals; }; --- libc/intl/plural-eval.c.jj 2001-11-27 23:52:33.000000000 +0100 +++ libc/intl/plural-eval.c 2007-07-26 13:17:14.000000000 +0200 @@ -1,5 +1,5 @@ /* Plural expression evaluation. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -17,14 +17,14 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -static unsigned long int plural_eval (struct expression *pexp, +static unsigned long int plural_eval (const struct expression *pexp, unsigned long int n) internal_function; static unsigned long int internal_function plural_eval (pexp, n) - struct expression *pexp; + const struct expression *pexp; unsigned long int n; { switch (pexp->nargs) --- libc/intl/plural-exp.c.jj 2005-12-21 05:17:04.000000000 +0100 +++ libc/intl/plural-exp.c 2007-07-26 13:17:14.000000000 +0200 @@ -1,5 +1,5 @@ /* Expression parsing for plural form selection. - Copyright (C) 2000, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2005, 2007 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This file is part of the GNU C Library. @@ -99,7 +99,7 @@ void internal_function EXTRACT_PLURAL_EXPRESSION (nullentry, pluralp, npluralsp) const char *nullentry; - struct expression **pluralp; + const struct expression **pluralp; unsigned long int *npluralsp; { if (nullentry != NULL) --- libc/intl/loadmsgcat.c.jj 2005-04-05 00:33:01.000000000 +0200 +++ libc/intl/loadmsgcat.c 2007-07-26 13:17:14.000000000 +0200 @@ -1276,7 +1276,7 @@ _nl_unload_domain (domain) size_t i; if (domain->plural != &__gettext_germanic_plural) - __gettext_free_exp (domain->plural); + __gettext_free_exp ((struct expression *) domain->plural); for (i = 0; i < domain->nconversions; i++) { --- libc/intl/plural-exp.h.jj 2005-12-21 05:20:42.000000000 +0100 +++ libc/intl/plural-exp.h 2007-07-26 13:17:14.000000000 +0200 @@ -1,5 +1,5 @@ /* Expression parsing and evaluation for plural form selection. - Copyright (C) 2000, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2002, 2005, 2007 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This file is part of the GNU C Library. @@ -114,13 +114,12 @@ extern void FREE_EXPRESSION PARAMS ((str internal_function; extern int PLURAL_PARSE PARAMS ((void *arg)); extern const struct expression GERMANIC_PLURAL attribute_hidden; -extern void EXTRACT_PLURAL_EXPRESSION PARAMS ((const char *nullentry, - struct expression **pluralp, - unsigned long int *npluralsp)) - internal_function; +extern void EXTRACT_PLURAL_EXPRESSION PARAMS + ((const char *nullentry, const struct expression **pluralp, + unsigned long int *npluralsp)) internal_function; #if !defined (_LIBC) && !defined (IN_LIBINTL) -extern unsigned long int plural_eval PARAMS ((struct expression *pexp, +extern unsigned long int plural_eval PARAMS ((const struct expression *pexp, unsigned long int n)); #endif --- libc/posix/fnmatch.c.jj 2007-04-04 20:30:46.000000000 +0200 +++ libc/posix/fnmatch.c 2007-07-26 13:17:14.000000000 +0200 @@ -351,10 +351,14 @@ fnmatch (pattern, string, flags) already done? */ return -1; if (p) - memset (&ps, '\0', sizeof (ps)); + { + memset (&ps, '\0', sizeof (ps)); + goto prepare_wpattern; + } } - if (__builtin_expect (p != NULL, 0)) + else { + prepare_wpattern: n = mbsrtowcs (NULL, &pattern, 0, &ps); if (__builtin_expect (n == (size_t) -1, 0)) /* Something wrong. @@ -383,10 +387,14 @@ fnmatch (pattern, string, flags) already done? */ return -1; if (p) - memset (&ps, '\0', sizeof (ps)); + { + memset (&ps, '\0', sizeof (ps)); + goto prepare_wstring; + } } - if (__builtin_expect (p != NULL, 0)) + else { + prepare_wstring: n = mbsrtowcs (NULL, &string, 0, &ps); if (__builtin_expect (n == (size_t) -1, 0)) /* Something wrong. --- libc/posix/runtests.c.jj 2003-11-13 19:38:32.000000000 +0100 +++ libc/posix/runtests.c 2007-07-26 19:22:12.000000000 +0200 @@ -36,7 +36,7 @@ struct a_test { int expected; const char * pattern; - const unsigned char * data; + const char * data; }; static const struct a_test the_tests[] = --- libc/stdio-common/tst-sprintf2.c.jj 2007-06-08 09:13:56.000000000 +0200 +++ libc/stdio-common/tst-sprintf2.c 2007-07-26 19:19:09.000000000 +0200 @@ -6,8 +6,10 @@ int main (void) { +#if LDBL_MANT_DIG >= 106 volatile union { long double l; long long x[2]; } u, v; char buf[64]; +#endif int result = 0; #if LDBL_MANT_DIG == 106 || LDBL_MANT_DIG == 113 --- libc/stdio-common/Makefile.jj 2007-07-19 19:46:48.000000000 +0200 +++ libc/stdio-common/Makefile 2007-07-26 13:58:43.000000000 +0200 @@ -78,6 +78,7 @@ $(objpfx)tst-printf.out: $(objpfx)tst-pr endif CFLAGS-vfprintf.c = -Wno-uninitialized +CFLAGS-vfwprintf.c = -Wno-uninitialized CFLAGS-tst-printf.c = -Wno-format CFLAGS-tstdiomisc.c = -Wno-format CFLAGS-scanf4.c = -Wno-format --- libc/stdio-common/vfprintf.c.jj 2007-05-21 23:33:53.000000000 +0200 +++ libc/stdio-common/vfprintf.c 2007-07-26 13:17:14.000000000 +0200 @@ -1298,7 +1298,7 @@ vfprintf (FILE *s, const CHAR_T *format, memset (&mbstate, '\0', sizeof (mbstate_t)); /* Find the first format specifier. */ - f = lead_str_end = __find_specmb (format, &mbstate); + f = lead_str_end = __find_specmb ((const UCHAR_T *) format, &mbstate); #endif /* Lock stream. */ --- libc/rt/tst-mqueue1.c.jj 2004-04-16 21:36:42.000000000 +0200 +++ libc/rt/tst-mqueue1.c 2007-07-26 19:27:01.000000000 +0200 @@ -1,5 +1,5 @@ /* Test message queue passing. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2004. @@ -85,7 +85,7 @@ do_one_test (mqd_t q, const char *name, else result |= check_attrs (&attr, nonblock, 0); - if (mq_receive (q, &v[0], 1, NULL) != -1) + if (mq_receive (q, (char *) &v[0], 1, NULL) != -1) { puts ("mq_receive on O_WRONLY mqd_t unexpectedly succeeded"); result = 1; @@ -109,9 +109,9 @@ do_one_test (mqd_t q, const char *name, for (int i = 0; i < 10; ++i) { if (i & 1) - ret = mq_send (q, &v[i], 1, v[i] >> 4); + ret = mq_send (q, (char *) &v[i], 1, v[i] >> 4); else - ret = mq_timedsend (q, &v[i], 1, v[i] >> 4, &ts); + ret = mq_timedsend (q, (char *) &v[i], 1, v[i] >> 4, &ts); if (ret) { @@ -120,7 +120,7 @@ do_one_test (mqd_t q, const char *name, } } - ret = mq_timedsend (q, &v[10], 1, 8, &ts); + ret = mq_timedsend (q, (char *) &v[10], 1, 8, &ts); if (ret != -1) { puts ("mq_timedsend on full queue did not fail"); @@ -135,7 +135,7 @@ do_one_test (mqd_t q, const char *name, if (nonblock) { - ret = mq_send (q, &v[10], 1, 8); + ret = mq_send (q, (char *) &v[10], 1, 8); if (ret != -1) { puts ("mq_send on full non-blocking queue did not fail"); @@ -194,7 +194,7 @@ do_one_test (mqd_t q, const char *name, unsigned int prio; ssize_t rets; - if (mq_send (q, &v[0], 1, 1) != -1) + if (mq_send (q, (char *) &v[0], 1, 1) != -1) { puts ("mq_send on O_RDONLY mqd_t unexpectedly succeeded"); result = 1; @@ -208,9 +208,9 @@ do_one_test (mqd_t q, const char *name, for (int i = 0; i < 10; ++i) { if (i & 1) - rets = mq_receive (q, &vr[i], 1, &prio); + rets = mq_receive (q, (char *) &vr[i], 1, &prio); else - rets = mq_timedreceive (q, &vr[i], 1, &prio, &ts); + rets = mq_timedreceive (q, (char *) &vr[i], 1, &prio, &ts); if (rets != 1) { @@ -236,7 +236,7 @@ do_one_test (mqd_t q, const char *name, result = 1; } - rets = mq_timedreceive (q, &vr[10], 1, &prio, &ts); + rets = mq_timedreceive (q, (char *) &vr[10], 1, &prio, &ts); if (rets != -1) { puts ("mq_timedreceive on empty queue did not fail"); @@ -251,7 +251,7 @@ do_one_test (mqd_t q, const char *name, if (nonblock) { - ret = mq_receive (q, &vr[10], 1, &prio); + ret = mq_receive (q, (char *) &vr[10], 1, &prio); if (ret != -1) { puts ("mq_receive on empty non-blocking queue did not fail"); --- libc/debug/test-strcpy_chk.c.jj 2004-11-13 04:12:23.000000000 +0100 +++ libc/debug/test-strcpy_chk.c 2007-07-26 19:33:23.000000000 +0200 @@ -141,8 +141,8 @@ do_test (size_t align1, size_t align2, s if (align2 + len >= page_size) return; - s1 = buf1 + align1; - s2 = buf2 + align2; + s1 = (char *) buf1 + align1; + s2 = (char *) buf2 + align2; for (i = 0; i < len; i++) s1[i] = 32 + 23 * i % (max_char - 32); @@ -233,7 +233,9 @@ do_random_tests (void) chk_fail_ok = 1; if (setjmp (chk_fail_buf) == 0) { - res = CALL (impl, p2 + align2, p1 + align1, dlen); + res = (unsigned char *) + CALL (impl, (char *) p2 + align2, + (char *) p1 + align1, dlen); printf ("Iteration %zd - did not __chk_fail\n", n); chk_fail_ok = 0; ret = 1; @@ -242,7 +244,8 @@ do_random_tests (void) continue; } memset (p2 - 64, '\1', 512 + 64); - res = CALL (impl, p2 + align2, p1 + align1, dlen); + res = (unsigned char *) + CALL (impl, (char *) p2 + align2, (char *) p1 + align1, dlen); if (res != STRCPY_RESULT (p2 + align2, len)) { printf ("\ --- libc/sysdeps/ieee754/ldbl-96/s_roundl.c.jj 2001-07-06 06:55:55.000000000 +0200 +++ libc/sysdeps/ieee754/ldbl-96/s_roundl.c 2007-07-26 13:37:05.000000000 +0200 @@ -1,5 +1,5 @@ /* Round long double to integer away from zero. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -23,7 +23,7 @@ #include "math_private.h" -static const long double huge = 1.0e4930; +static const long double huge = 1.0e4930L; long double --- libc/sysdeps/unix/clock_gettime.c.jj 2005-07-13 08:25:07.000000000 +0200 +++ libc/sysdeps/unix/clock_gettime.c 2007-07-26 13:17:14.000000000 +0200 @@ -1,5 +1,5 @@ /* clock_gettime -- Get the current time from a POSIX clockid_t. Unix version. - Copyright (C) 1999-2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1999-2004, 2005, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -93,7 +93,6 @@ int clock_gettime (clockid_t clock_id, struct timespec *tp) { int retval = -1; - struct timeval tv; switch (clock_id) { @@ -103,9 +102,12 @@ clock_gettime (clockid_t clock_id, struc #ifndef HANDLED_REALTIME case CLOCK_REALTIME: - retval = gettimeofday (&tv, NULL); - if (retval == 0) - TIMEVAL_TO_TIMESPEC (&tv, tp); + { + struct timeval tv; + retval = gettimeofday (&tv, NULL); + if (retval == 0) + TIMEVAL_TO_TIMESPEC (&tv, tp); + } break; #endif --- libc/sunrpc/rpc_cmsg.c.jj 2002-02-26 02:43:56.000000000 +0100 +++ libc/sunrpc/rpc_cmsg.c 2007-07-26 13:17:14.000000000 +0200 @@ -67,27 +67,27 @@ xdr_callmsg (XDR *xdrs, struct rpc_msg * + RNDUP (cmsg->rm_call.cb_verf.oa_length)); if (buf != NULL) { - IXDR_PUT_LONG (buf, cmsg->rm_xid); - IXDR_PUT_ENUM (buf, cmsg->rm_direction); + (void) IXDR_PUT_LONG (buf, cmsg->rm_xid); + (void) IXDR_PUT_ENUM (buf, cmsg->rm_direction); if (cmsg->rm_direction != CALL) return FALSE; - IXDR_PUT_LONG (buf, cmsg->rm_call.cb_rpcvers); + (void) IXDR_PUT_LONG (buf, cmsg->rm_call.cb_rpcvers); if (cmsg->rm_call.cb_rpcvers != RPC_MSG_VERSION) return FALSE; - IXDR_PUT_LONG (buf, cmsg->rm_call.cb_prog); - IXDR_PUT_LONG (buf, cmsg->rm_call.cb_vers); - IXDR_PUT_LONG (buf, cmsg->rm_call.cb_proc); + (void) IXDR_PUT_LONG (buf, cmsg->rm_call.cb_prog); + (void) IXDR_PUT_LONG (buf, cmsg->rm_call.cb_vers); + (void) IXDR_PUT_LONG (buf, cmsg->rm_call.cb_proc); oa = &cmsg->rm_call.cb_cred; - IXDR_PUT_ENUM (buf, oa->oa_flavor); - IXDR_PUT_INT32 (buf, oa->oa_length); + (void) IXDR_PUT_ENUM (buf, oa->oa_flavor); + (void) IXDR_PUT_INT32 (buf, oa->oa_length); if (oa->oa_length) { memcpy ((caddr_t) buf, oa->oa_base, oa->oa_length); buf = (int32_t *) ((char *) buf + RNDUP (oa->oa_length)); } oa = &cmsg->rm_call.cb_verf; - IXDR_PUT_ENUM (buf, oa->oa_flavor); - IXDR_PUT_INT32 (buf, oa->oa_length); + (void) IXDR_PUT_ENUM (buf, oa->oa_flavor); + (void) IXDR_PUT_INT32 (buf, oa->oa_length); if (oa->oa_length) { memcpy ((caddr_t) buf, oa->oa_base, oa->oa_length); Jakub