[COMMITTED] Make internal lock-init macros return void.

Message ID 20141020211518.022202C3B05@topped-with-meat.com
State Committed
Headers

Commit Message

Roland McGrath Oct. 20, 2014, 9:15 p.m. UTC
  GCC 4.9 gives warnings about ", 0" expressions when the whole expression's
value is not used.  This hits in some of our lock-init macros.  But they
are already used as if they returned void, and some others actually do
(i.e. are statements, not expressions).

This has no effect on generated code.


Thanks,
Roland


2014-10-20  Roland McGrath  <roland@hack.frob.com>

	* sysdeps/nptl/bits/libc-lock.h
	[_LIBC && (!NOT_IN_libc || IS_IN_libpthread)]
	(__libc_lock_init_recursive): Return void, not 0.
	* sysdeps/nptl/bits/libc-lockP.h (__libc_lock_init): Likewise.
	(__libc_rwlock_init): Likewise.
	* sysdeps/nptl/bits/stdio-lock.h (_IO_lock_init): Likewise.
  

Patch

--- a/sysdeps/nptl/bits/libc-lock.h
+++ b/sysdeps/nptl/bits/libc-lock.h
@@ -62,7 +62,7 @@  typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
 /* Initialize a recursive mutex.  */
 #if defined _LIBC && (!defined NOT_IN_libc || defined IS_IN_libpthread)
 # define __libc_lock_init_recursive(NAME) \
-  ((NAME) = (__libc_lock_recursive_t) _LIBC_LOCK_RECURSIVE_INITIALIZER, 0)
+  ((void) ((NAME) = (__libc_lock_recursive_t) _LIBC_LOCK_RECURSIVE_INITIALIZER))
 #else
 # define __libc_lock_init_recursive(NAME) \
   do {									      \
--- a/sysdeps/nptl/bits/libc-lockP.h
+++ b/sysdeps/nptl/bits/libc-lockP.h
@@ -126,16 +126,16 @@  typedef pthread_key_t __libc_key_t;
 /* Initialize the named lock variable, leaving it in a consistent, unlocked
    state.  */
 #if !defined NOT_IN_libc || defined IS_IN_libpthread
-# define __libc_lock_init(NAME) ((NAME) = LLL_LOCK_INITIALIZER, 0)
+# define __libc_lock_init(NAME) \
+  ((void) ((NAME) = LLL_LOCK_INITIALIZER))
 #else
 # define __libc_lock_init(NAME) \
   __libc_maybe_call (__pthread_mutex_init, (&(NAME), NULL), 0)
 #endif
 #if defined SHARED && !defined NOT_IN_libc
-/* ((NAME) = (__libc_rwlock_t) PTHREAD_RWLOCK_INITIALIZER, 0) is
-   inefficient.  */
+/* ((NAME) = (__libc_rwlock_t) PTHREAD_RWLOCK_INITIALIZER) is inefficient.  */
 # define __libc_rwlock_init(NAME) \
-  (__builtin_memset (&(NAME), '\0', sizeof (NAME)), 0)
+  ((void) __builtin_memset (&(NAME), '\0', sizeof (NAME)))
 #else
 # define __libc_rwlock_init(NAME) \
   __libc_maybe_call (__pthread_rwlock_init, (&(NAME), NULL), 0)
--- a/sysdeps/nptl/bits/stdio-lock.h
+++ b/sysdeps/nptl/bits/stdio-lock.h
@@ -31,7 +31,7 @@  typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
 #define _IO_lock_initializer { LLL_LOCK_INITIALIZER, 0, NULL }
 
 #define _IO_lock_init(_name) \
-  ((_name) = (_IO_lock_t) _IO_lock_initializer , 0)
+  ((void) ((_name) = (_IO_lock_t) _IO_lock_initializer))
 
 #define _IO_lock_fini(_name) \
   ((void) 0)