Patchworkβ Ignore the ms_abi/sysv_abi attributes.

login
register
about
Submitter Michael Stefaniuc
Date 2009-09-29 21:01:06
Message ID <20090929210106.GA3592@redhat.com>
Download mbox | patch
Permalink /patch/50598/
State New
Headers show

Comments

Michael Stefaniuc - 2009-09-29 21:01:06
This is needed for getting a meaningful sparse run on a Wine 64-bit
compile. Else the basic Win32 headers will produce tons of
error: attribute 'ms_abi': unknown attribute
which end in
error: too many errors.

The sysv_abi attribute was just added for symmetry.

Signed-off-by: Michael Stefaniuc <mstefani@redhat.com>
---
 parse.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
Christopher Li - 2009-09-29 23:30:11
On Tue, Sep 29, 2009 at 2:01 PM, Michael Stefaniuc <mstefani@redhat.com> wrote:
> This is needed for getting a meaningful sparse run on a Wine 64-bit
> compile. Else the basic Win32 headers will produce tons of
> error: attribute 'ms_abi': unknown attribute
> which end in
> error: too many errors.
>
> The sysv_abi attribute was just added for symmetry.

Thanks for the patch. Ignoring the attribute has become so common now.
I decide stop the complicate way to adding ignored attributes.

I attach two patches to simplify things. I am I am going to push
them out to chrisl tree.

Can you change your patch base on my new patch?

It should be really simple, just add one string for each attribute
is good enough.

Thanks!

Chris
Michael Stefaniuc - 2009-09-30 20:21:30
On 09/30/2009 01:30 AM, Christopher Li wrote:
> On Tue, Sep 29, 2009 at 2:01 PM, Michael Stefaniuc<mstefani@redhat.com>  wrote:
>> This is needed for getting a meaningful sparse run on a Wine 64-bit
>> compile. Else the basic Win32 headers will produce tons of
>> error: attribute 'ms_abi': unknown attribute
>> which end in
>> error: too many errors.
>>
>> The sysv_abi attribute was just added for symmetry.
>
> Thanks for the patch. Ignoring the attribute has become so common now.
> I decide stop the complicate way to adding ignored attributes.
>
> I attach two patches to simplify things. I am I am going to push
> them out to chrisl tree.
>
> Can you change your patch base on my new patch?
Done!

> It should be really simple, just add one string for each attribute
> is good enough.
The nicest part about this is that the ignored attributes are now sorted 
alphabetically and one doesn't have to figure out where exactly to add them.

thanks
bye
	michael
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Christopher Li - 2009-09-30 20:49:59
On Wed, Sep 30, 2009 at 1:21 PM, Michael Stefaniuc <mstefani@redhat.com> wrote:
> The nicest part about this is that the ignored attributes are now sorted
> alphabetically and one doesn't have to figure out where exactly to add them.

Thanks, I like that too :-)

I actually write a five lines python script to short them and make sure
I did not drop some of the attributes.

Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/parse.c b/parse.c
index 5e75242..5f6f9c3 100644
--- a/parse.c
+++ b/parse.c
@@ -525,6 +525,10 @@  static struct init_keyword {
 	{ "__stdcall__",	NS_KEYWORD,	.op = &ignore_attr_op },
 	{ "fastcall",	NS_KEYWORD,	.op = &ignore_attr_op },
 	{ "__fastcall__",	NS_KEYWORD,	.op = &ignore_attr_op },
+	{ "ms_abi",	NS_KEYWORD,	.op = &ignore_attr_op },
+	{ "__ms_abi__",	NS_KEYWORD,	.op = &ignore_attr_op },
+	{ "sysv_abi",	NS_KEYWORD,	.op = &ignore_attr_op },
+	{ "__sysv_abi__",	NS_KEYWORD,	.op = &ignore_attr_op },
 	{ "dllimport",	NS_KEYWORD,	.op = &ignore_attr_op },
 	{ "__dllimport__",	NS_KEYWORD,	.op = &ignore_attr_op },
 	{ "dllexport",	NS_KEYWORD,	.op = &ignore_attr_op },