On Tue, May 31, 2011 at 10:43:16AM +0200, Matthias Bolte wrote:
2011/5/31 Daniel Veillard <veillard(a)redhat.com>:
> On Sun, May 29, 2011 at 05:14:46PM +0200, Matthias Bolte wrote:
>> Parsing ./../include/libvirt/libvirt.h
>> Misformatted macro comment for _virSchedParameter
>> Expecting '* _virSchedParameter:' got '* virSchedParameter:'
>> Misformatted macro comment for _virBlkioParameter
>> Expecting '* _virBlkioParameter:' got '* virBlkioParameter:'
>> Misformatted macro comment for _virMemoryParameter
>> Expecting '* _virMemoryParameter:' got '*
virMemoryParameter:'
>>
>> Replace '#define' with '# define' for the backward
compatibility
>> defines to keep apibuild.py from parsing them and expecting
>> documentation comments for them.
>> ---
>> include/libvirt/libvirt.h.in | 6 +++---
>> 1 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
>> index 8058229..424e49b 100644
>> --- a/include/libvirt/libvirt.h.in
>> +++ b/include/libvirt/libvirt.h.in
>> @@ -2569,7 +2569,7 @@ typedef enum {
>> * Provided for backwards compatibility; virTypedParameter is the
>> * preferred alias since 0.9.2.
>> */
>> -#define _virSchedParameter _virTypedParameter
>> +# define _virSchedParameter _virTypedParameter
>> typedef struct _virTypedParameter virSchedParameter;
>>
>> /**
>> @@ -2613,7 +2613,7 @@ typedef enum {
>> * Provided for backwards compatibility; virTypedParameter is the
>> * preferred alias since 0.9.2.
>> */
>> -#define _virBlkioParameter _virTypedParameter
>> +# define _virBlkioParameter _virTypedParameter
>> typedef struct _virTypedParameter virBlkioParameter;
>>
>> /**
>> @@ -2657,7 +2657,7 @@ typedef enum {
>> * Provided for backwards compatibility; virTypedParameter is the
>> * preferred alias since 0.9.2.
>> */
>> -#define _virMemoryParameter _virTypedParameter
>> +# define _virMemoryParameter _virTypedParameter
>> typedef struct _virTypedParameter virMemoryParameter;
>
> That's a bit odd ... it should be possibe to avoid those complaints
> from the generator, I can't look right now though
>
> Daniel
Well, yes this was more like a hackish approach. Here's a v2 that
allows apibuild.py to ignore macros like it can already ignore
functions.
Matthias
From ac679b3a929c22ae6cd3bf8733f57dca408f4e3b Mon Sep 17 00:00:00
2001
From: Matthias Bolte <matthias.bolte(a)googlemail.com>
Date: Tue, 31 May 2011 10:41:37 +0200
Subject: [PATCH] Ignore backward compatibility macros in apibuild.py
This fixes this three warnings from the parser by allowing the parser
to ignore some macros in the same way as it can ignore functions.
Parsing ./../include/libvirt/libvirt.h
Misformatted macro comment for _virSchedParameter
Expecting '* _virSchedParameter:' got '* virSchedParameter:'
Misformatted macro comment for _virBlkioParameter
Expecting '* _virBlkioParameter:' got '* virBlkioParameter:'
Misformatted macro comment for _virMemoryParameter
Expecting '* _virMemoryParameter:' got '* virMemoryParameter:'
---
docs/apibuild.py | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/docs/apibuild.py b/docs/apibuild.py
index 2ab0599..f160c47 100755
--- a/docs/apibuild.py
+++ b/docs/apibuild.py
@@ -58,6 +58,12 @@ ignored_functions = {
"virEventRemoveTimeout": "internal function in event.c",
}
+ignored_macros = {
+ "_virSchedParameter": "backward compatibility macro for
virTypedParameter",
+ "_virBlkioParameter": "backward compatibility macro for
virTypedParameter",
+ "_virMemoryParameter": "backward compatibility macro for
virTypedParameter",
+}
+
def escape(raw):
raw = string.replace(raw, '&', '&')
raw = string.replace(raw, '<', '<')
@@ -716,8 +722,12 @@ class CParser:
# Parse a comment block associate to a macro
#
def parseMacroComment(self, name, quiet = 0):
+ global ignored_macros
+
if name[0:2] == '__':
quiet = 1
+ if ignored_macros.has_key(name):
+ quiet = 1
args = []
desc = ""
Excellent, thanks ! ACK :-)
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/