[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value)
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value) |
Date: |
Fri, 28 Oct 2011 09:40:06 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) |
Stefan Hajnoczi <address@hidden> writes:
> On Mon, Oct 24, 2011 at 10:18:43PM +0200, Stefan Weil wrote:
>> For compilations with -DNDEBUG, the default case did not return
>> a value which caused a compiler warning.
>>
>> Signed-off-by: Stefan Weil <address@hidden>
>> ---
>> hw/ppce500_spin.c | 11 ++++++++---
>> 1 files changed, 8 insertions(+), 3 deletions(-)
>>
>> diff --git a/hw/ppce500_spin.c b/hw/ppce500_spin.c
>> index cccd940..5b5ffe0 100644
>> --- a/hw/ppce500_spin.c
>> +++ b/hw/ppce500_spin.c
>> @@ -168,17 +168,22 @@ static uint64_t spin_read(void *opaque,
>> target_phys_addr_t addr, unsigned len)
>> {
>> SpinState *s = opaque;
>> uint8_t *spin_p = &((uint8_t*)s->spin)[addr];
>> + uint64_t result = 0;
>>
>> switch (len) {
>> case 1:
>> - return ldub_p(spin_p);
>> + result = ldub_p(spin_p);
>> + break;
>> case 2:
>> - return lduw_p(spin_p);
>> + result = lduw_p(spin_p);
>> + break;
>> case 4:
>> - return ldl_p(spin_p);
>> + result = ldl_p(spin_p);
>> + break;
>> default:
>> assert(0);
>
> I would replace assert(3) with abort(3). If this ever happens the
> program is broken - returning 0 instead of an undefined value doesn't
> help.
Why is it useful to make failed assertions stop the program regardless
of NDEBUG only when the assertion happens to be "can't reach"?
If you worry about assertions failing, don't compile with -DNDEBUG.
"Doctor, it hurts when I disable assertions!"
"Don't disable them, then."
;-P
- [Qemu-devel] [PATCH] Fix compiler warning (always return a value), Stefan Weil, 2011/10/24
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), Stefan Hajnoczi, 2011/10/26
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), introduce qemu_abort?, Stefan Weil, 2011/10/26
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), introduce qemu_abort?, Blue Swirl, 2011/10/26
- [Qemu-devel] [RFC] Introduce qemu_abort? (was: Fix compiler warning (always return a value)), Stefan Weil, 2011/10/26
- Re: [Qemu-devel] [RFC] Introduce qemu_abort? (was: Fix compiler warning (always return a value)), Blue Swirl, 2011/10/26
- Re: [Qemu-devel] [RFC] Introduce qemu_abort? (was: Fix compiler warning (always return a value)), Peter Maydell, 2011/10/26
- Re: [Qemu-devel] [RFC] Introduce qemu_abort?, Markus Armbruster, 2011/10/28
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), introduce qemu_abort?, Stefan Hajnoczi, 2011/10/27
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), introduce qemu_abort?, Alexander Graf, 2011/10/27
Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value),
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), Stefan Hajnoczi, 2011/10/28
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), Markus Armbruster, 2011/10/28
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), Stefan Hajnoczi, 2011/10/28
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), Markus Armbruster, 2011/10/28
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), Stefan Hajnoczi, 2011/10/28
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), Markus Armbruster, 2011/10/28
- Re: [Qemu-devel] [PATCH] Fix compiler warning (always return a value), Paolo Bonzini, 2011/10/28