From 225d376b70f92bbb68b57b928a29044ab3c30acf Mon Sep 17 00:00:00 2001 From: Ken Brown Date: Fri, 7 Aug 2020 09:48:28 -0400 Subject: [PATCH] Cygwin: cygserver: build with -Wimplicit-fallthrough=5 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