From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57944) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VnoTa-0005qR-3y for qemu-devel@nongnu.org; Tue, 03 Dec 2013 06:49:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VnoTV-0006sP-3n for qemu-devel@nongnu.org; Tue, 03 Dec 2013 06:49:14 -0500 Received: from mx1.redhat.com ([209.132.183.28]:36313) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VnoTU-0006sL-Sc for qemu-devel@nongnu.org; Tue, 03 Dec 2013 06:49:09 -0500 Date: Tue, 3 Dec 2013 12:49:06 +0100 From: Igor Mammedov Message-ID: <20131203124906.203a0957@nial.usersys.redhat.com> In-Reply-To: <87a9ginu92.fsf@blackfin.pond.sub.org> References: <87a9ginu92.fsf@blackfin.pond.sub.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH v1 0/5] Add error_abort and associated cleanups List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: pbonzini@redhat.com, Peter Crosthwaite , qemu-devel@nongnu.org, afaerber@suse.de On Tue, 03 Dec 2013 10:44:57 +0100 Markus Armbruster wrote: > Peter Crosthwaite writes: > > > Following our discussion RE self asserting API calls, here is a spin of > > my proposal. This series obsoletes the need for _nofail variants for > > Error ** accepting APIs. Is also greately reduces the verbosity of calls > > sites that are currently asserting against errors. > > > > Patch 1 is the main event - addition of error_abort. The following > > patches then cleanup uses of _nofail and assert_no_error(). > > > > To give it a smoke test, I introduce a (critical) bug into QOM: > [...] > > 32 files changed, 100 insertions(+), 143 deletions(-) > > I like it. Nice diffstat, too. > > There are some _nofail functions left, but none of them can use > error_abort. > > If anything assigns to error_abort, we're probably screwed. No bright > idea how to prevent that at compile-time. Maybe Error * const error_abort;