Cygwin: Add 'fallthrough' pseudo keyword for switch/case use
This patch has been inspired by the Linux kernel patch 294f69e662d1 compiler_attributes.h: Add 'fallthrough' pseudo keyword for switch/case use written by Joe Perches <joe AT perches DOT com> based on an idea from Dan Carpenter <dan DOT carpenter AT oracle DOT com>. The following text is from the original log message: Reserve the pseudo keyword 'fallthrough' for the ability to convert the various case block /* fallthrough */ style comments to appear to be an actual reserved word with the same gcc case block missing fallthrough warning capability. All switch/case blocks now should end in one of: break; fallthrough; goto <label>; return [expression]; continue; In C mode, GCC supports the __fallthrough__ attribute since 7.1, the same time the warning and the comment parsing were introduced. Cygwin-only: add an explicit -Wimplicit-fallthrough=5 to the build flags.
This commit is contained in:
@ -205,7 +205,7 @@ proc_subproc (DWORD what, uintptr_t val)
|
||||
set_errno (EAGAIN);
|
||||
break;
|
||||
}
|
||||
/* fall through intentionally */
|
||||
fallthrough;
|
||||
|
||||
case PROC_DETACHED_CHILD:
|
||||
if (vchild != myself)
|
||||
@ -1078,7 +1078,7 @@ child_info::proc_retry (HANDLE h)
|
||||
case STATUS_CONTROL_C_EXIT:
|
||||
if (saw_ctrl_c ())
|
||||
return EXITCODE_OK;
|
||||
/* fall through intentionally */
|
||||
fallthrough;
|
||||
case STATUS_DLL_INIT_FAILED:
|
||||
case STATUS_DLL_INIT_FAILED_LOGOFF:
|
||||
case EXITCODE_RETRY:
|
||||
@ -1387,10 +1387,10 @@ wait_sig (VOID *)
|
||||
sig_clear (-pack.si.si_signo);
|
||||
else
|
||||
sigq.add (pack);
|
||||
/*FALLTHRU*/
|
||||
fallthrough;
|
||||
case __SIGNOHOLD:
|
||||
sig_held = false;
|
||||
/*FALLTHRU*/
|
||||
fallthrough;
|
||||
case __SIGFLUSH:
|
||||
case __SIGFLUSHFAST:
|
||||
if (!sig_held)
|
||||
|
Reference in New Issue
Block a user