Il 24/06/2013 22:35, Stefan Weil ha scritto: > Am 24.06.2013 22:27, schrieb Paolo Bonzini: >> Il 24/06/2013 19:48, Stefan Weil ha scritto: >>> i686-w64-mingw32-gcc (GCC) 4.6.3 from Debian wheezy reports this warning: >>> >>> hw/ppc/spapr_hcall.c:188:1: warning: >>> control reaches end of non-void function [-Wreturn-type] >>> >>> Replacing the 4th case REMOVE_HW (which is currently unused) by the default >>> case fixes this warning. >>> >>> The assertion is dead code because all possible cases are handled in the >>> switch statements, so remove it. This avoids future warnings from static >>> code analyzers. >>> >>> Signed-off-by: Stefan Weil <s...@weilnetz.de> >>> --- >>> hw/ppc/spapr_hcall.c | 4 +--- >>> 1 file changed, 1 insertion(+), 3 deletions(-) >>> >>> diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c >>> index 00f21f5..d49ce53 100644 >>> --- a/hw/ppc/spapr_hcall.c >>> +++ b/hw/ppc/spapr_hcall.c >>> @@ -180,11 +180,9 @@ static target_ulong h_remove(PowerPCCPU *cpu, >>> sPAPREnvironment *spapr, >>> case REMOVE_PARM: >>> return H_PARAMETER; >>> >>> - case REMOVE_HW: >>> + default: /* REMOVE_HW */ >>> return H_HARDWARE; >>> } >>> - >>> - assert(0); >>> } >>> >>> #define H_BULK_REMOVE_TYPE 0xc000000000000000ULL >>> >> Does s/assert(0)/abort()/ fix the warning too? That's clearer. > > Yes, that also fixes this warning. A better compiler or a static > code checker might then complain about dead code because all > possible cases are handled in the switch statement.
We'll get there when we see it... and such a compiler can well learn to ignore a dead abort(). Paolo