Commit Graph

1129 Commits

Author SHA1 Message Date
Sergei Bolotov 376daa91d8 widl: Support for toggling and checking status for warnings, support for warning 2368.
Signed-off-by: Sergei Bolotov <bolotov.s.s@yandex.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-12 12:54:09 +09:00
Sergei Bolotov 646dfe746d widl: Handle "midl_pragma warning" statement in parser.
Signed-off-by: Sergei Bolotov <bolotov.s.s@yandex.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-12 12:27:17 +09:00
Alexandre Julliard 3602962275 makefiles: Generate dependencies for static libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 19:38:37 +09:00
Dmitry Timoshkov b53c5b30b2 widl: Fixup the defaultvalue(BSTR) expression type like midl does.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-30 23:16:52 +09:00
Alexandre Julliard 87dacc4e11 widl: Disable a noisy warning.
This could be re-enabled once there's a mechanism to avoid the warning
when building the corresponding test case.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 01:13:40 +09:00
Dmitry Timoshkov 42c328ddf4 widl: Ignore assignment of a duplicate uuid.
MSDN KB285146 article describes this behaviour, and the tests confirm
that.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 20:22:36 +09:00
Dmitry Timoshkov 58b0788a2d widl: Attributes of the alias are supposed to replace attributes of a tag in the typelib.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 18:32:01 +09:00
Dmitry Timoshkov ded915aa7c widl: Avoid generating duplicate typelib entries for structure tag names.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 18:31:53 +09:00
Dmitry Timoshkov 3cd67463bf widl: Attribute uuid() takes precedence over 'hidden'.
This means that definition like

[uuid(016fe2ec-b2c8-45f8-b23b-39e53a753900),hidden]
typedef struct _m { int m1; } m;

makes both '_m' and 'm' appear in the typelib, and the tests confirm that.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 18:31:45 +09:00
Dmitry Timoshkov f7581c763d widl: Avoid adding duplicate type definitions if tag and typedef names are the same.
Fix handing of the following .idl snippet:

typedef [uuid(b14b6bb5-904e-4ff9-b247-bd361f7a0001)]
struct g { int g1; } g;

[uuid(b14b6bb5-904e-4ff9-b247-bd361f7a0002)]
interface test_iface : IUnknown
{
    HRESULT test([in] g *ptr);
}

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 18:31:32 +09:00
Dmitry Timoshkov f16396ceec widl: Avoid warnings when being added dispatch guids already present in a typelib.
Silence warnings about adding a duplicate uuid when generating
stdole2.tlb.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:23 +09:00
Sebastian Lackner 736beff9c6 widl: When adding an interface typedef do check whether it has been already added while resolving the parent interface.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:23 +09:00
Alexandre Julliard da340169d6 makefiles: Generate rules for installing programs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:06 +09:00
Alexandre Julliard 7626728b56 makefiles: Generate rules for building tool binaries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-27 14:47:27 +09:00
Dmitry Timoshkov e6e7055c0b widl: Add support for unions to the typelib generator.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-26 23:03:40 +09:00
Dmitry Timoshkov fb5293f0ce widl: Do not create duplicate type info entries when tag and typedef names are the same.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2015-10-06 14:28:23 +09:00
Dmitry Timoshkov 7d1e3691ab widl: Add special handling for pointers to arrays in the typelib generator. 2015-09-10 17:22:43 +09:00
Jacek Caban 7c29a53208 widl: Added support for namespaced structs. 2015-08-13 15:03:22 +09:00
Jacek Caban 8d43c54ed2 widl: Allow [version] attribute to be used on structs in winrt mode. 2015-08-13 15:03:20 +09:00
Jacek Caban 88987c0a95 widl: Added support for namespaced enums. 2015-08-07 23:50:48 +09:00
Jacek Caban a99bb3468a widl: Don't allow coclass declaration in winrt mode. 2015-08-07 23:50:48 +09:00
Jacek Caban 21740b5e15 widl: Added support for -ns_prefix option. 2015-08-05 23:42:45 +09:00
Jacek Caban a9503166fe widl: Added widl-specific winrt pragma. 2015-08-03 20:50:33 +02:00
Jacek Caban cccbb4ebe8 widl: Properly handle namespaces in write_uuid_decl. 2015-07-31 14:39:34 +02:00
Jacek Caban 83e197df0f widl: Use proper names for namespaced interfaces in C declaration. 2015-07-31 14:39:27 +02:00
Jacek Caban 99d296b6fe widl: Declare C++ interfaces in namespaces if needed. 2015-07-31 14:39:20 +02:00
Jacek Caban e50866ae10 widl: Write proper C++ forward declarations for interfaces inside namespace. 2015-07-31 14:39:13 +02:00
Jacek Caban 867b0f8278 widl: Use proper macro name for forward declarations of interfaces inside a namespace. 2015-07-31 14:38:58 +02:00
Jacek Caban ddc493a805 widl: Keep track of namespace in parser and beginning namespace lookup implementation. 2015-07-31 14:38:34 +02:00
Jacek Caban fc761cb935 widl: Renamed --rt option to --winrt for midl compatibility. 2015-07-30 23:50:43 +02:00
Jacek Caban dd58fcc10e widl: Don't output C++ default value if the argument is followed by another without default value. 2015-07-28 09:53:48 +02:00
André Hentschel 04a9c94250 widl: Remove unused initializer (Clang). 2015-07-22 07:23:47 +02:00
Jarkko Korpi abf4d5910f widl: Increase buffer size in typegen.c. 2015-07-14 14:57:30 +09:00
Gerald Pfeifer 3a64eb2c4a widl: Fix indentation in the EXPR_ADDRESSOF case in resolve_expression. 2015-06-30 17:40:26 +09:00
Francois Gouget 8a63982f73 widl: Remove unneeded NONAMELESSXXX directives. 2015-04-03 11:22:06 +09:00
André Hentschel 900e7c5d65 widl: Fix compiler warnings with flag -Wunused-macros. 2014-12-10 13:31:01 +01:00
Nikolay Sivov c27af4774e widl: Generate method macros/wrappers for overridden methods. 2014-10-14 14:15:30 +09:00
Henri Verbeet fabfa59aea widl: Handle aggregate returns in a MSVC compatible way.
Aggregates are returned through an implicit parameter after the this/interface
pointer. Note that this follows the C++ convention, affected methods are not
callable from C with the Microsoft headers.
2014-09-08 11:34:05 +02:00
Dmitry Timoshkov 1b6b04e3a8 widl: Correct the condition when to use new code path which avoids writing negative offsets in the pointer description. 2014-04-03 11:11:01 +02:00
Dmitry Timoshkov a333c6584d widl: Add support for an array of strings to write_string_tfs. 2014-04-02 15:46:49 +02:00
Dmitry Timoshkov 1dbcdee326 widl: Don't call write_embedded_types if an array element is a string. 2014-04-02 15:46:47 +02:00
Dmitry Timoshkov bde38bebe9 widl: Avoid generating negative offsets for conformant arrays of strings. 2014-04-02 15:46:45 +02:00
Dmitry Timoshkov 1845d10c3e widl: Pass type attributes from write_array_tfs to write_array_element_type.
This allows to differentiate strings and write appropriate rpc type
(FC_C_C[W]STRING instead of FC_[W]CHAR).
2014-04-02 15:46:43 +02:00
Dmitry Timoshkov eb54b5b4df widl: Pass type attributes from write_array_tfs to write_pointer_description.
This allows to differentiate strings and write appropriate rpc type
(FC_C_C[W]STRING instead of FC_[W]CHAR).
2014-04-02 15:46:41 +02:00
Dmitry Timoshkov e6d585a6b2 widl: Move is_void(), is_declptr() and is_conformant_array() to header.h and make them inline. 2014-03-20 10:44:32 +01:00
Dmitry Timoshkov ae843427ed widl: Unify indentation of comments. 2014-03-19 11:36:33 +01:00
Dmitry Timoshkov e809f0bd8c widl: Move is_ptr() and is_array() to header.h and make them inline. 2014-03-19 11:36:12 +01:00
Nikolay Sivov ea9e7b6318 widl: Fix default value types. 2014-03-18 11:40:08 +01:00
Nikolay Sivov 826980d7f4 widl: Fix duplicate typeinfo being written to typelib for enums. 2014-03-11 10:28:46 +01:00
Alexandre Julliard a2683dca64 widl: Ignore unknown -m target options. 2014-02-12 19:15:22 +01:00