A fallthrough statement may only appear within
an enclosing switch statement.
The next statement that would be executed after a fallthrough statement
shall be a labeled statement whose label is a case label or
default label for the same switch statement.
The program is ill-formed if there is no such statement.
The use of a fallthrough statement is intended to suppress
a warning that an implementation might otherwise issue
for a case or default label that is reachable
from another case or default label along some path of execution.
Implementations should issue a warning
if a fallthrough statement is not dynamically reachable.