First: Microsoft attributes are not C+0X attributes.

This patch is very important to parse MSVC headers
Up to now i had used the flag -D_USE_ATTRIBUTES_FOR_SAL to disable
attributes while parsing MSVC headers with clang.
Now I removed that option and this is the patch needed to remove 1000+ errors.

Microsoft attributes exist in C and C++.
MS attributes are used for COM programming and also to give
information to the MSVC code analyzer.
This patch just add parsing support for attributes, the attributes are
basically skipped. That's sufficient for now I think. We gonna walk
before we run.

example :

[returnvalue:SA_Post(MustCheck=SA_Yes)] int __cdecl
_isctype([SA_Pre(Null=SA_No)]
[SA_Pre(Deref=1,Valid=SA_Yes,Access=SA_Read)] int _C,
[SA_Pre(Null=SA_No)] [SA_Pre(Deref=1,Valid=SA_Yes,Access=SA_Read)] int
_Type);


Please review.

Attachment: ms_attributes.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to