[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH 7/9] openpic: avoid a warning from clang analyzer
From: |
Alexander Graf |
Subject: |
Re: [Qemu-ppc] [PATCH 7/9] openpic: avoid a warning from clang analyzer |
Date: |
Wed, 7 Sep 2011 13:38:29 +0200 |
On 05.09.2011, at 20:41, Blue Swirl wrote:
> On Mon, Sep 5, 2011 at 6:48 AM, Paolo Bonzini <address@hidden> wrote:
>> On 09/04/2011 05:52 PM, Blue Swirl wrote:
>>>
>>> Avoid this warning by clang analyzer by defining a default case:
>>> /src/qemu/hw/openpic.c:477:5: warning: Undefined or garbage value
>>> returned to caller
>>> return retval;
>>>
>>> Signed-off-by: Blue Swirl<address@hidden>
>>> ---
>>> hw/openpic.c | 1 +
>>> 1 files changed, 1 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/hw/openpic.c b/hw/openpic.c
>>> index 26c96e2..4b883ac 100644
>>> --- a/hw/openpic.c
>>> +++ b/hw/openpic.c
>>> @@ -469,6 +469,7 @@ static inline uint32_t read_IRQreg (openpic_t
>>> *opp, int n_IRQ, uint32_t reg)
>>> case IRQ_IPVP:
>>> retval = opp->src[n_IRQ].ipvp;
>>> break;
>>> + default:
>>> case IRQ_IDE:
>>> retval = opp->src[n_IRQ].ide;
>>> break;
>>
>> Looks wrong, perhaps it should return 0?
>
> The only possible values are IRQ_IDE and IRQ_IPVP.
>
> The function is actually baroque, it's as easy to use
> read_IRQreg(opp, IRQ_DBL0 + n_dbl, IRQ_IPVP);
> as the shorter
> opp->src[IRQ_DBL0 + n_dbl].ipvp;
>
> The reason seems to be that write_IRQreg is more complex. I'd replace
> both with {read,write}_{ide,ipvp} without the switch.
I agree. Let me assemble a patch.
Alex