All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Markus Armbruster" <armbru@redhat.com>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Blue Swirl" <blauwirbel@gmail.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Anthony Liguori" <anthony@codemonkey.ws>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [PATCH v6 01/26] qemu: add Error to typedefs
Date: Tue, 1 Oct 2013 17:15:10 +0300	[thread overview]
Message-ID: <20131001141510.GA14869@redhat.com> (raw)
In-Reply-To: <20131001154615.7757f8bb@nial.usersys.redhat.com>

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" <mst@redhat.com> wrote:
> 
> > On Mon, Sep 30, 2013 at 05:55:50PM +0200, Andreas Färber 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 <mst@redhat.com> 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 <stdbool.h>
> > > >>>
> > > >>>  /**
> > > >>> - * A class representing internal errors within QEMU.  An error has a ErrorClass
> > > >>> + * Error:
> > > >>> + * An object representing internal errors within QEMU.  An error 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. 
> 
> here is another similar case discussion 
> http://lists.gnu.org/archive/html/qemu-devel/2012-08/msg03647.html
> 
> in favor of sane headers as opposed to current patch which moves typedef
> from header where it belongs.

typedefs don't belong anywhere, same as forward declarations. HACKING says:

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.

> 
> So if series is to be re-spinned it'd be better to keep clean header and
> 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 documentation comments
> > > >> that are completely separate from the typedef like this?
> > > >>
> > > >> thanks
> > > >> -- PMM
> > > > 
> > > > 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.
> > > 
> > > Can we turn the typedef into just struct Error here? The doc comment can
> > > be applied to either.
> > > 
> > > Andreas
> > 
> > It won't index Error typedef then though.
> > 
> > How does one run this process-doc-comments tool by the way?
> > > -- 
> > > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> > > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
> > 

  reply	other threads:[~2013-10-01 14:13 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-29 10:58 [Qemu-devel] [PATCH v6 00/26] qemu: generate acpi tables for the guest Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 01/26] qemu: add Error to typedefs Michael S. Tsirkin
2013-09-30 13:10   ` Igor Mammedov
2013-09-30 14:40     ` Michael S. Tsirkin
2013-09-30 15:00       ` Igor Mammedov
2013-09-30 15:10       ` Peter Maydell
2013-09-30 15:49         ` Markus Armbruster
2013-09-30 16:09           ` Michael S. Tsirkin
2013-09-30 17:38             ` Markus Armbruster
2013-09-30 15:50         ` Michael S. Tsirkin
2013-09-30 15:55           ` Andreas Färber
2013-09-30 16:09             ` Michael S. Tsirkin
2013-10-01 13:46               ` Igor Mammedov
2013-10-01 14:15                 ` Michael S. Tsirkin [this message]
2013-10-01 15:44                   ` [Qemu-devel] [PATCH] cleanup object.h: include error.h directly Igor Mammedov
2013-09-30 16:16             ` [Qemu-devel] [PATCH v6 01/26] qemu: add Error to typedefs Markus Armbruster
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 02/26] qom: pull in qemu/typedefs Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 03/26] qom: cleanup struct Error references Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 04/26] qom: add pointer to int property helpers Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 05/26] fw_cfg: interface to trigger callback on read Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 06/26] loader: support for unmapped ROM blobs Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 07/26] pcie_host: expose UNMAPPED macro Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 08/26] pcie_host: expose address format Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 09/26] q35: use macro for MCFG property name Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 10/26] q35: expose mmcfg size as a property Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 11/26] i386: add ACPI table files from seabios Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 12/26] acpi: add rules to compile ASL source Michael S. Tsirkin
2013-09-29 10:58 ` [Qemu-devel] [PATCH v6 13/26] acpi: pre-compiled ASL files Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 14/26] acpi: ssdt pcihp: updat generated file Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 15/26] loader: use file path size from fw_cfg.h Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 16/26] i386: add bios linker/loader Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 17/26] loader: allow adding ROMs in done callbacks Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 18/26] i386: define pc guest info Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 19/26] acpi/piix: add macros for acpi property names Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 20/26] piix: APIs for pc guest info Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 21/26] ich9: " Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 22/26] pvpanic: add API to access io port Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 23/26] hpet: add API to find it Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 24/26] i386: ACPI table generation code from seabios Michael S. Tsirkin
2013-09-29 10:59 ` [Qemu-devel] [PATCH v6 25/26] ssdt: fix PBLK length Michael S. Tsirkin
2013-09-29 11:01 ` [Qemu-devel] [PATCH v6 26/26] ssdt-proc: update generated file Michael S. Tsirkin
2013-09-30  7:51 ` [Qemu-devel] [PATCH v6 00/26] qemu: generate acpi tables for the guest Gerd Hoffmann
2013-10-01 10:03 ` Igor Mammedov
2013-10-01 12:16   ` Michael S. Tsirkin
2013-10-01 12:38   ` Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131001141510.GA14869@redhat.com \
    --to=mst@redhat.com \
    --cc=afaerber@suse.de \
    --cc=anthony@codemonkey.ws \
    --cc=armbru@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=imammedo@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.