> -----Original Message----- > From: Philippe Mathieu-Daudé [mailto:philippe.mathieu.da...@gmail.com] > On Behalf Of Philippe Mathieu-Daudé > Sent: Wednesday, October 28, 2020 6:00 PM > To: Chenqun (kuhn) <kuhn.chen...@huawei.com>; qemu-devel@nongnu.org; > qemu-triv...@nongnu.org > Cc: Zhanghailiang <zhang.zhanghaili...@huawei.com>; Yoshinori Sato > <ys...@users.sourceforge.jp>; Magnus Damm <magnus.d...@gmail.com>; > ganqixin <ganqi...@huawei.com>; Euler Robot <euler.ro...@huawei.com> > Subject: Re: [PATCH 9/9] hw/timer/renesas_tmr: silence the compiler warnings > > On 10/28/20 5:18 AM, Chen Qun wrote: > > When using -Wimplicit-fallthrough in our CFLAGS, the compiler showed > warning: > > ../hw/timer/renesas_tmr.c: In function ‘tmr_read’: > > ../hw/timer/renesas_tmr.c:221:19: warning: this statement may fall through > [-Wimplicit-fallthrough=] > > 221 | } else if (ch == 0) {i > > | ^ > > ../hw/timer/renesas_tmr.c:224:5: note: here > > 224 | case A_TCORB: > > | ^~~~ > > > > Add the corresponding "fall through" comment to fix it. > > > > Reported-by: Euler Robot <euler.ro...@huawei.com> > > Signed-off-by: Chen Qun <kuhn.chen...@huawei.com> > > --- > > Cc: Yoshinori Sato <ys...@users.sourceforge.jp> > > Cc: Magnus Damm <magnus.d...@gmail.com> > > --- > > hw/timer/renesas_tmr.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/hw/timer/renesas_tmr.c b/hw/timer/renesas_tmr.c index > > 446f2eacdd..e03a8155b2 100644 > > --- a/hw/timer/renesas_tmr.c > > +++ b/hw/timer/renesas_tmr.c > > @@ -221,6 +221,7 @@ static uint64_t tmr_read(void *opaque, hwaddr addr, > unsigned size) > > } else if (ch == 0) { > > return concat_reg(tmr->tcora); > > } > > + /* fall through */ > > case A_TCORB: > > if (size == 1) { > > return tmr->tcorb[ch]; > > > > You fixed A_TCORA but not A_TCORB... > Hi Philippe, My first feeling is the same as you when this warning found. But, the number of branches for A_TCORA and A_TCORB is different.
In A_TCORA case:"} else if (ch == 0) {" In A_TCORB case:"} else {" Obviously, A_TCOB have all return values. But A_TCOA is not, it need to fall through or break. > How the Euler Robot works? Like Coverity? No, unlike Coverity, Coverity is essentially a good discovery bug tool. But EulerRobot is a virtualization software quality automation project that integrates some tools and test suites such as gcc/clang make test, qemu ut, qtest, coccinelle scripts and avocado-vt. Thanks, Chen Qun