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


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

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


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.

--- 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)


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