From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36151) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VR0h9-0004Ix-P3 for qemu-devel@nongnu.org; Tue, 01 Oct 2013 10:13:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VR0h4-0000rQ-U8 for qemu-devel@nongnu.org; Tue, 01 Oct 2013 10:12:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:29743) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VR0h4-0000rF-Gn for qemu-devel@nongnu.org; Tue, 01 Oct 2013 10:12:54 -0400 Date: Tue, 1 Oct 2013 17:15:10 +0300 From: "Michael S. Tsirkin" Message-ID: <20131001141510.GA14869@redhat.com> References: <1380452123-5989-1-git-send-email-mst@redhat.com> <1380452123-5989-2-git-send-email-mst@redhat.com> <20130930151056.32699e7f@nial.usersys.redhat.com> <20130930144050.GB22806@redhat.com> <20130930155044.GA10306@redhat.com> <52499F06.20903@suse.de> <20130930160938.GA13918@redhat.com> <20131001154615.7757f8bb@nial.usersys.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <20131001154615.7757f8bb@nial.usersys.redhat.com> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v6 01/26] qemu: add Error to typedefs List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov Cc: Peter Maydell , Markus Armbruster , QEMU Developers , Blue Swirl , Gerd Hoffmann , Anthony Liguori , Paolo Bonzini , Andreas =?iso-8859-1?Q?F=E4rber?= On Tue, Oct 01, 2013 at 03:46:15PM +0200, Igor Mammedov wrote: > On Mon, 30 Sep 2013 19:09:38 +0300 > "Michael S. Tsirkin" wrote: >=20 > > On Mon, Sep 30, 2013 at 05:55:50PM +0200, Andreas F=E4rber wrote: > > > Am 30.09.2013 17:50, schrieb Michael S. Tsirkin: > > > > On Tue, Oct 01, 2013 at 12:10:52AM +0900, Peter Maydell wrote: > > > >> On 30 September 2013 23:40, Michael S. Tsirkin = wrote: > > > >>> diff --git a/include/qapi/error.h b/include/qapi/error.h > > > >>> index 7d4c696..b85e996 100644 > > > >>> --- a/include/qapi/error.h > > > >>> +++ b/include/qapi/error.h > > > >>> @@ -13,14 +13,15 @@ > > > >>> #define ERROR_H > > > >>> > > > >>> #include "qemu/compiler.h" > > > >>> +#include "qemu/typedefs.h" > > > >>> #include "qapi-types.h" > > > >>> #include > > > >>> > > > >>> /** > > > >>> - * A class representing internal errors within QEMU. An error= has a ErrorClass > > > >>> + * Error: > > > >>> + * An object representing internal errors within QEMU. An err= or has a ErrorClass > > > >>> * code and a human message. > > > >>> */ > > > >>> -typedef struct Error Error; > seeing how mach discussion moving typedef from its proper place caused > I'd like to rise question about dropping 1-2/26 again and include > qapi/error.h directly in include/qom/object.h than extending typedef.h > hack further.=20 >=20 > here is another similar case discussion=20 > http://lists.gnu.org/archive/html/qemu-devel/2012-08/msg03647.html >=20 > in favor of sane headers as opposed to current patch which moves typede= f > from header where it belongs. typedefs don't belong anywhere, same as forward declarations. HACKING say= s: 2.3. Typedefs Typedefs are used to eliminate the redundant 'struct' keyword. so it's just the C syntax that forces us to do this. >=20 > So if series is to be re-spinned it'd be better to keep clean header an= d > include it directly where it's necessary. I really don't know how to interpret that thread. The abuse of typedefs in QEMU is really the source of the problem. typedefs can not be forward declared so the work-around was to have a single header with a ton of typedefs. An alternative is an unholy mess of header dependencies, and longer compile times: forward declarations are there for a reason. So if we want to remove qemu/typedefs.h we'll need to stop using typedefs everywhere, and just use 'struct foo *'. If you are in favor of this solution, send a patch to HACKING and we'll see how do people respond. > > > >> > > > >> Does the process-doc-comments tool really cope with documentatio= n comments > > > >> that are completely separate from the typedef like this? > > > >> > > > >> thanks > > > >> -- PMM > > > >=20 > > > > Do we care? > > > > Downstreams don't seem to package it, most people probably use > > > > editor tags anyway ... > > > > If yes we can put this all in #if 0. > > >=20 > > > Can we turn the typedef into just struct Error here? The doc commen= t can > > > be applied to either. > > >=20 > > > Andreas > >=20 > > It won't index Error typedef then though. > >=20 > > How does one run this process-doc-comments tool by the way? > > > --=20 > > > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany > > > GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FC= rnberg > >=20