Re: [PATCH] Cygwin: cygserver: build with -Wimplicit-fallthrough=5

2020-08-07 Thread Corinna Vinschen
On Aug  7 09:51, Ken Brown via Cygwin-patches wrote:
> Define the pseudo keyword 'fallthrough' in woutsup.h to support this.
> ---
>  winsup/cygserver/Makefile.in   | 2 +-
>  winsup/cygserver/bsd_helper.cc | 2 +-
>  winsup/cygserver/bsd_mutex.cc  | 2 +-
>  winsup/cygserver/woutsup.h | 2 ++
>  4 files changed, 5 insertions(+), 3 deletions(-)

:+1:


Corinna


[PATCH] Cygwin: cygserver: build with -Wimplicit-fallthrough=5

2020-08-07 Thread Ken Brown via Cygwin-patches
Define the pseudo keyword 'fallthrough' in woutsup.h to support this.
---
 winsup/cygserver/Makefile.in   | 2 +-
 winsup/cygserver/bsd_helper.cc | 2 +-
 winsup/cygserver/bsd_mutex.cc  | 2 +-
 winsup/cygserver/woutsup.h | 2 ++
 4 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/winsup/cygserver/Makefile.in b/winsup/cygserver/Makefile.in
index bbdfc25fb..70f38233c 100644
--- a/winsup/cygserver/Makefile.in
+++ b/winsup/cygserver/Makefile.in
@@ -16,7 +16,7 @@ export CXX:=@CXX@
 
 CFLAGS:=@CFLAGS@
 override CXXFLAGS=@CXXFLAGS@
-override CXXFLAGS+=-MMD -Wimplicit-fallthrough=4 -Werror -D__OUTSIDE_CYGWIN__ 
-DSYSCONFDIR="\"$(sysconfdir)\""
+override CXXFLAGS+=-MMD -Wimplicit-fallthrough=5 -Werror -D__OUTSIDE_CYGWIN__ 
-DSYSCONFDIR="\"$(sysconfdir)\""
 
 include ${srcdir}/../Makefile.common
 
diff --git a/winsup/cygserver/bsd_helper.cc b/winsup/cygserver/bsd_helper.cc
index ecc90e117..38639647e 100644
--- a/winsup/cygserver/bsd_helper.cc
+++ b/winsup/cygserver/bsd_helper.cc
@@ -120,7 +120,7 @@ ipcexit_hookthread (const LPVOID param)
 {
   case WAIT_OBJECT_0:
 /* Cygserver shutdown. */
-   /*FALLTHRU*/
+   fallthrough;
   case WAIT_OBJECT_0 + 1:
 /* Process exited.  Call semexit_myhook to handle SEM_UNDOs for the
   exiting process and shmexit_myhook to keep track of shared
diff --git a/winsup/cygserver/bsd_mutex.cc b/winsup/cygserver/bsd_mutex.cc
index 13c5f90e8..0cda87a5b 100644
--- a/winsup/cygserver/bsd_mutex.cc
+++ b/winsup/cygserver/bsd_mutex.cc
@@ -326,7 +326,7 @@ _msleep (void *ident, struct mtx *mtx, int priority,
 break;
   case WAIT_OBJECT_0 + 1:  /* Shutdown event (triggered by wakeup_all). */
 priority |= PDROP;
-   /*FALLTHRU*/
+   fallthrough;
   case WAIT_OBJECT_0 + 2:  /* The dependent process has exited. */
debug ("msleep process exit or shutdown for %d", td->td_proc->winpid);
ret = EIDRM;
diff --git a/winsup/cygserver/woutsup.h b/winsup/cygserver/woutsup.h
index 272f978c0..7b799f156 100644
--- a/winsup/cygserver/woutsup.h
+++ b/winsup/cygserver/woutsup.h
@@ -12,6 +12,8 @@ details. */
 #error "woutsup.h is not for code being compiled inside the dll"
 #endif
 
+#define fallthrough__attribute__((__fallthrough__))
+
 #ifndef _WIN32_WINNT
 #define _WIN32_WINNT 0x0500
 #endif
-- 
2.28.0