[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 5/6] error: Link qemu-img, qemu-nbd, qemu-io wi
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 5/6] error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o |
Date: |
Thu, 18 Mar 2010 19:55:34 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Blue Swirl <address@hidden> writes:
> On 3/18/10, Markus Armbruster <address@hidden> wrote:
>> Blue Swirl <address@hidden> writes:
>>
>> > On 3/17/10, Markus Armbruster <address@hidden> wrote:
>> >> Blue Swirl <address@hidden> writes:
>> >>
>> >> > On 3/17/10, Markus Armbruster <address@hidden> wrote:
>>
>> [...]
>>
>> >> >> +void monitor_set_error(Monitor *mon, QError *qerror)
>> >> >> +{
>> >> >> + assert(0);
>> >> >
>> >> > Please use abort().
>> >>
>> >>
>> >> Why?
>> >
>> > Because assert(0) does not abort when compiled with -DNDEBUG.
>>
>>
>> Why is that a problem? And why isn't it a problem for the 300+ other
>> assertions in the code?
>
> We didn't support -DNDEBUG build until recently. Therefore it's safe
> to assume that also on production builds assert(0) was equal to
> abort(). If the default for production builds changes to -DNDEBUG, we
> want to retain the same abort() behaviour.
>
> The assertions which perform debugging checks aren't a problem. But
> assert(0) clearly isn't a debugging check, if you ever reach this line
> of code, it's abort() time.
I *know* that this line cannot be reached. That's why I asserted it
cannot be reached.
If you want "this can't ever happen" assertions to be checked, then you
shouldn't define NDEBUG.
Do you still want me to use abort() here?
By the way, a quick grep shows >50 uses of assert(0).
- [Qemu-devel] Re: [PATCH 1/6] error: Trim includes after "Move qemu_error & friends...", (continued)
[Qemu-devel] [PATCH 6/6] error: Move qerror_report() from qemu-error.[ch] to qerror.[ch], Markus Armbruster, 2010/03/17
[Qemu-devel] [PATCH 4/6] error: Make use of error_set_progname() optional, Markus Armbruster, 2010/03/17
[Qemu-devel] [PATCH 5/6] error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o, Markus Armbruster, 2010/03/17
- Re: [Qemu-devel] [PATCH 5/6] error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o, Blue Swirl, 2010/03/17
- Re: [Qemu-devel] [PATCH 5/6] error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o, Markus Armbruster, 2010/03/17
- Re: [Qemu-devel] [PATCH 5/6] error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o, Blue Swirl, 2010/03/18
- Re: [Qemu-devel] [PATCH 5/6] error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o, Markus Armbruster, 2010/03/18
- Re: [Qemu-devel] [PATCH 5/6] error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o, Blue Swirl, 2010/03/18
- Re: [Qemu-devel] [PATCH 5/6] error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o,
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH 5/6] error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o, Blue Swirl, 2010/03/18
- Re: [Qemu-devel] [PATCH 5/6] error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o, Markus Armbruster, 2010/03/22
[Qemu-devel] [PATCH 2/6] error: Trim includes in qerror.c, Markus Armbruster, 2010/03/17