Disable -Wmaybe-uninitialized for total_deadline in sunrpc/clnt_udp.c.

To work around <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91691>
for RV32, we recently disabled -Wmaybe-uninitialized for some inline
functions in inet/net-internal.h, as included by sunrpc/clnt_udp.c.

The same error has now appeared with current GCC trunk for MIPS, in a
form that is located at the definition of the variable in question and
so unaffected by the disabling in inet/net-internal.h.  Thus, this
patch adds the same disabling around the definition of that variable,
to cover the MIPS case.

Tested with build-many-glibcs.py (compilers and glibcs stages) for
mips64-linux-gnu with GCC mainline.

	* sunrpc/clnt_udp.c: Include <libc-diag.h>.
	(clntudp_call): Disable -Wmaybe-uninitialized around declaration
	of total_deadline.
This commit is contained in:
Joseph Myers 2019-10-02 21:12:17 +00:00
parent 0095a3e8d6
commit 2334a78a49
2 changed files with 17 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2019-10-02 Joseph Myers <joseph@codesourcery.com>
* sunrpc/clnt_udp.c: Include <libc-diag.h>.
(clntudp_call): Disable -Wmaybe-uninitialized around declaration
of total_deadline.
2019-10-02 Alistair Francis <alistair.francis@wdc.com>
* string/endian.h: Restore the __USE_MISC conditionals.

View File

@ -57,6 +57,7 @@
#include <kernel-features.h>
#include <inet/net-internal.h>
#include <shlib-compat.h>
#include <libc-diag.h>
extern u_long _create_xid (void);
@ -290,7 +291,17 @@ clntudp_call (/* client handle */
int anyup; /* any network interface up */
struct deadline_current_time current_time = __deadline_current_time ();
/* GCC 10 for MIPS reports total_deadline as possibly used
uninitialized; see
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91691>. In fact it
is initialized conditionally and only ever used under the same
condition. The same warning is also disabled in
inet/net-internal.h because in some other configurations GCC
gives the warning in an inline function. */
DIAG_PUSH_NEEDS_COMMENT;
DIAG_IGNORE_NEEDS_COMMENT (10, "-Wmaybe-uninitialized");
struct deadline total_deadline; /* Determined once by overall timeout. */
DIAG_POP_NEEDS_COMMENT;
struct deadline response_deadline; /* Determined anew for each query. */
/* Choose the timeout value. For non-sending usage (xargs == NULL),