Marc-André Lureau <marcandre.lur...@gmail.com> writes: > Hi > > On Tue, May 30, 2017 at 6:23 PM Markus Armbruster <arm...@redhat.com> wrote: > >> Marc-André Lureau <marcandre.lur...@gmail.com> writes: >> >> > Hi >> > >> > On Thu, May 11, 2017 at 6:30 PM Markus Armbruster <arm...@redhat.com> >> > wrote: [...] >> >> g_assert_not_reached() is problematic, see "[PATCH] checkpatch: Disallow >> >> glib asserts in main code". >> >> >> >> Message-Id: <20170427165526.19836-1-dgilb...@redhat.com> >> >> https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg05499.html >> >> >> >> >> > Actually g_assert() and g_assert_not_reached() are accepted. >> >> What exactly does g_assert() buy us over plain assert(), and >> g_assert_not_reached() over assert(0)? >> > > g_assert() brings a bit more context, afaik, can be trapped for error > testing, and error reporting can be handled by an handler. Not that useful > to qemu, but could be for the graphical UI though. > > g_assert_not_reached() is quite more readable than assert(0)
I'm all for making intent explicit, but what else could assert(0) possibly mean? >> qapi/ overwhelmingly uses assert(). >> > > ok, it's already a mix of assert & g_assert in qemu though True. In my opinion, we should use only one outside tests. g_assert() if it adds value, else plain assert(). "Outside tests", because g_assert() might add sufficient value in tests even when it doesn't elsewhere. Until then, I prefer to use only one *locally*. In qapi/, that's plain assert() now.