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