This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Warning patrol - noncontroversial fixes


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  <jakub@redhat.com>

	* 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 <SP> 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 <SP> 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 <drepper@cygnus.com>, 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, <drepper@cygnus.com>.
 
@@ -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 <fcntl.h>
 #include <sys/stat.h>
 
 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 <drepper@cygnus.com>, 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 <drepper@cygnus.com>, 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 <drepper@cygnus.com>, 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 <jakub@redhat.com>, 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 <drepper@cygnus.com>, 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]