Synchronization-patches of widl

Kai Tietz ktietz70 at googlemail.com
Thu Aug 8 03:56:17 CDT 2013


Hello all,

Jacek asked me to sent patches to Wine's ML for the changes to widl
tool present in mingw-w64's repository.
The changes are mainly some minor nits about IDL grammar, syntax, and
general parsing. Additional there are some preparations for new
features namespace and async_uuid.
All these changes were necessary to support the VLC-people to begin
with their WinRT port.  By this we began on mingw-w64 to improve -
thanks to Jacek - our IDL-generated header-sources.

The changes so far:

parser.l:
* Use for xstrtoul the 'long long' variant to evaluate string-value.
This is necessary to get overflow proper.
* Add namespace lex-token handling.
parser.y:
* Regenerate with more recent bison-version.
* Add support for appending to statements a statement-list.
* Add support for appending to attributes a attribute-list.
* Add new token tNAMESPACE.
* Add new rule namespacedef.
* Add to gbl_statements the namespace parsing.
* Add to imp_statements the namespace parsing.
* Add parsing of tASYNCUUID token as attribute.
* Allow for typedef statements that attributes might be before and/or
* after the typedef-keyword. Fix issue about default for hidden/public
attribute.
* Add/Modify to attribute-list handling for "async_uuid", "hidden", "inputsync",
* and "version" attributes. Allow for version-values also hexadecimal values.
widltypes.h:
* Add ATTR_ASYNCUUID to attribute enumerators.
widl.c:
* Set pointer_size's default to host's pointer-type ...

Patches:
http://sourceforge.net/p/mingw-w64/code/6045/
http://sourceforge.net/p/mingw-w64/code/6046/
http://sourceforge.net/p/mingw-w64/code/6047/
http://sourceforge.net/p/mingw-w64/code/6048/

A general note I would like to make about the use of sizeof(void*) in
widl to make out what type-library-variant to be choosen.  That seems
to be a bit wacky variant, as it makes widl non-useable as cross-tool
on host with different pointer-size.


Regards,
Kai
-------------- next part --------------
A non-text attachment was scrubbed...
Name: widl_asyncuuid.diff
Type: application/octet-stream
Size: 312 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20130808/293719e1/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: widl_namespace.diff
Type: application/octet-stream
Size: 1159 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20130808/293719e1/attachment-0005.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: widl_pointer_size_default.diff
Type: application/octet-stream
Size: 342 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20130808/293719e1/attachment-0006.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: widl_yacc.diff
Type: application/octet-stream
Size: 7494 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20130808/293719e1/attachment-0007.obj>


More information about the wine-patches mailing list