[hurd,commited] hurd: Silence warning

Message ID 20180404000648.3145-1-samuel.thibault@ens-lyon.org
State Committed, archived
Headers

Commit Message

Samuel Thibault April 4, 2018, 12:06 a.m. UTC
  * hurd/hurdsig.c (interrupted_reply_port_location): Use
	DIAG_IGNORE_NEEDS_COMMENT to silence warning with GCC 6 and before.
---
 ChangeLog      | 2 ++
 hurd/hurdsig.c | 8 ++++++++
 2 files changed, 10 insertions(+)
  

Patch

diff --git a/ChangeLog b/ChangeLog
index cc9613239d..cbe62ee88d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -37,6 +37,8 @@ 
 
 	* sysdeps/mach/hurd/if_index.c (__if_nametoindex): Return ENODEV if
 	ifname is too long.
+	* hurd/hurdsig.c (interrupted_reply_port_location): Use
+	DIAG_IGNORE_NEEDS_COMMENT to silence warning with GCC 6 and before.
 
 2018-04-03  Wilco Dijkstra  <wdijkstr@arm.com>
 
diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c
index 31e8d336e3..6b73dcdbf3 100644
--- a/hurd/hurdsig.c
+++ b/hurd/hurdsig.c
@@ -33,6 +33,8 @@ 
 #include "hurdmalloc.h"		/* XXX */
 #include "../locale/localeinfo.h"
 
+#include <libc-diag.h>
+
 const char *_hurdsig_getenv (const char *);
 
 struct mutex _hurd_siglock;
@@ -246,8 +248,14 @@  interrupted_reply_port_location (thread_t thread,
     /* Faulted trying to read the TCB.  */
     return NULL;
 
+  DIAG_PUSH_NEEDS_COMMENT;
+  /* GCC 6 and before seem to be confused by the setjmp call inside
+     _hurdsig_catch_memory_fault and think that we may be returning a second
+     time to here with portloc uninitialized (but we never do). */
+  DIAG_IGNORE_NEEDS_COMMENT (6, "-Wmaybe-uninitialized");
   /* Fault now if this pointer is bogus.  */
   *(volatile mach_port_t *) portloc = *portloc;
+  DIAG_POP_NEEDS_COMMENT;
 
   if (sigthread)
     _hurdsig_end_catch_fault ();