[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] checkpatch: Disallow glib asserts in main code
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH] checkpatch: Disallow glib asserts in main code |
Date: |
Fri, 28 Apr 2017 10:27:26 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.0 |
On 04/28/2017 10:10 AM, Daniel P. Berrange wrote:
>>> Or could we perhaps instead undo the damage via a hack like
>>>
>>> #define g_assert_cmpint g_assert_cmpint_orig
>>> #define g_assert_cmpint(x, y, z) \
>>> g_assert_cmpint_orig(x, y,x); \
>>> abort()
Not quite the right hack (we don't want to unconditionally abort, but
only when the condition fails).
>>
>> I'd be kind of OK adding a q_assert_cmpint if you wanted,
>> but I think we shouldn't change the semantics of a public
>> name.
I tend to agree there; having our own distinct name means that we can
see at a glance that our version will quit, no matter what the glib
version does.
>
> Personally I think it would be worth having them - the whole point of
> these more specific g_assert_* macros is that they provide clearer
> error messages when they're triggered, so I prefer their use generally
I agree that the improved error messages part is worthwhile. So maybe
we want:
#define q_assert_cmpint(x, y, z) \
do { \
g_assert_cmpint(x, y, z); \
assert(x y z); \
} while (0)
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature