On 18/12/2019 20.25, Philippe Mathieu-Daudé wrote:
> GCC9 is confused by this comment when building with CFLAG
> -Wimplicit-fallthrough=2:
>
> hw/net/imx_fec.c: In function ‘imx_eth_write’:
> hw/net/imx_fec.c:906:12: error: this statement may fall through
> [-Werror=implicit-fallthrough=]
> 906 | if (unlikely(single_tx_ring)) {
> | ^
> hw/net/imx_fec.c:912:5: note: here
> 912 | case ENET_TDAR: /* FALLTHROUGH */
> | ^~~~
> cc1: all warnings being treated as errors
>
> Rewrite the comments in the correct place, using 'fall through'
> which is recognized by GCC and static analyzers.
>
> Reviewed-by: Richard Henderson <[email protected]>
> Reviewed-by: Aleksandar Markovic <[email protected]>
> Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
> ---
> Cc: Peter Chubb <[email protected]>
> Cc: Peter Maydell <[email protected]>
> Cc: Jason Wang <[email protected]>
> Cc: [email protected]
> ---
> hw/net/imx_fec.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/hw/net/imx_fec.c b/hw/net/imx_fec.c
> index bd99236864..c01ce4f078 100644
> --- a/hw/net/imx_fec.c
> +++ b/hw/net/imx_fec.c
> @@ -909,7 +909,8 @@ static void imx_eth_write(void *opaque, hwaddr offset,
> uint64_t value,
> TYPE_IMX_FEC, __func__);
> return;
> }
> - case ENET_TDAR: /* FALLTHROUGH */
> + /* fall through */
> + case ENET_TDAR:
> if (s->regs[ENET_ECR] & ENET_ECR_ETHEREN) {
> s->regs[index] = ENET_TDAR_TDAR;
> imx_eth_do_tx(s, index);
>
Reviewed-by: Thomas Huth <[email protected]>