On Tue, Jun 05, 2012 at 04:08:55PM +0200, Paolo Bonzini wrote: > Il 05/06/2012 03:00, Michael Roth ha scritto: > > Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> > > --- > > qapi/qc.h | 11 +++++++++++ > > 1 files changed, 11 insertions(+), 0 deletions(-) > > create mode 100644 qapi/qc.h > > > > diff --git a/qapi/qc.h b/qapi/qc.h > > new file mode 100644 > > index 0000000..3b3a8b9 > > --- /dev/null > > +++ b/qapi/qc.h > > @@ -0,0 +1,11 @@ > > +#ifndef QC_H > > +#define QC_H > > + > > +#define qc_declaration > > +#define _immutable > > +#define _derived > > +#define _broken > > +#define _version(x) > > +#define _size_is(x) > > Would it be feasible to make the declaration look like the GCC attribute > extension, e.g. > > struct RTCState QIDL() { > int foo QIDL(immutable); > int bar QIDL(derived); > }; > > so that you can just use "#define QIDL(...)"? This is how GCC > developers did their introspection annotations.
This does seem a lot cleaner to me, also simplifies the lexer and we get namespacing for free. > > Paolo >