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
Nikolay Sivov
cbf55d8251
widl: Uuid attribute is allowed for 'struct'.
2014-01-28 10:52:09 +01:00
Nikolay Sivov
c46debeeeb
widl: Fix pointer size for SYS_WIN64 typelibs.
...
The fact that test data was wrong was hidden by broken widl typelib,
and same test typelib was used on windows so we never get proper test
results. Standard IUnknown/IDispatch that live in system stdole2.tlb
are also tested now.
2014-01-27 14:13:54 +01:00
Alexandre Julliard
509364e1dd
makefiles: Get rid of Make.rules.
2014-01-14 12:18:02 +01:00