Commit Graph

1347 Commits

Author SHA1 Message Date
Zebediah Figura 8c968f774c widl: Don't remove the FDUAL flag from non-dispatchable interfaces.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-29 17:13:05 +02:00
Zebediah Figura 413821f8b1 widl: Properly implement syntax 2 dispinterfaces.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-29 17:13:05 +02:00
Zebediah Figura 3e7a5301f2 widl: Try to import typedefs instead of redefining them.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-29 17:13:05 +02:00
Zebediah Figura 947ff4ba46 widl: Size of an encapsulated union doesn't include the tag.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:20:41 +02:00
Zebediah Figura 6c942496a9 widl: Generate correct alignment for encapsulated union tags.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:20:33 +02:00
Alexandre Julliard 832a40109e makefiles: Make the directory specifications a bit more standard.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-21 12:25:26 +01:00
Józef Kucia 1d0ba302d9 widl: Reformat do_import().
Use 4-space indents.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-29 19:29:30 +01:00
Józef Kucia ba6b020b9f widl: Increase max import depth.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-29 19:28:36 +01:00
Austin English 500bcfb1c0 widl: Move WineHQ URLs to https.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 09:23:40 +01:00
Dmitry Timoshkov b63274f30f widl: Generate header macros even for aggregate return methods.
A generated macro has a clear suggestion what to do (#define WIDL_C_INLINE_WRAPPERS)
instead of completely omitting the macro and leaving one wondering what is going on.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 20:20:13 +01:00
Henri Verbeet b42a15513e widl: Handle C++ aggregate returns in a MSVC compatible way.
This mainly affects 64-bit winelib applications, and potentially mingw-w64
usage of the Wine headers. As explained in commit
fabfa59aea, MSVC returns aggregates through an
implicit parameter immediately after the this/interface pointer. GCC's
"ms_abi" attribute is supposed to match this, but unfortunately current
versions of g++ (confirmed up to at least g++ 6.3) place the implicit return
pointer before the this/interface pointer. See also
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52792.

This commit takes an approach similar to the earlier commit
fabfa59aea5c5b3201142382038beb3e76cb7567: For ABI compatibility the return
pointer is listed as an explicit parameter in the vtbl entry, while an inline
helper is provided for source code compatibility.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:30 +02:00
Alistair Leslie-Hughes 084fa63e60 widl: Only generate Proxy Stubs when functions have the call_as attribute.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-11 19:48:25 +02:00
Jacek Caban fbdf119e2c widl: Try to find imported typelib using .tlb extension if it wasn't specified.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-16 15:34:04 +02:00
Huw Davies 5a06b6b035 widl: Add missing width and alignment for VARIANT.
Spotted by André Hentschel.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 12:38:25 +01:00
André Hentschel 028b2bddfc widl: Initialize decoded_size.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 11:01:50 +01:00
Jacek Caban 2ff2792fc4 widl: Accept known type as library name.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:47 +01:00
Jarkko Korpi bb9b2f33ae widl: Fix overflow when left-shifting.
Signed-off-by: Jarkko Korpi <jarkko_korpi@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-23 22:56:58 +09:00
Francois Gouget 44468e8536 tools: Assorted comment spelling fixes.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 14:57:30 +09:00
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
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
Jacek Caban 0df819eecf widl: Make identifiers file more compatible with midl. 2014-01-09 12:28:43 +01:00
Alexandre Julliard 0d533cf0bd makefiles: Allow define arguments to be specific to a single file. 2014-01-07 12:20:25 +01:00
Alexandre Julliard ce25c89585 makedep: Don't expand variable references that use ${}. 2014-01-04 20:33:57 +01:00
Alexandre Julliard 092f37fc2d makefiles: Include program files in the all: target. 2013-12-31 19:07:49 +01:00
Alexandre Julliard 1047e0474d makefiles: Leave it to install-sh to create destination directories. 2013-12-26 14:35:15 +01:00
Alexandre Julliard 9e307f268e widl: Determine the output type from the file name if not specified explicitly. 2013-12-26 13:35:45 +01:00
Frédéric Delanoy 120dac41a1 widl: Constify a character string. 2013-12-20 10:51:17 +01:00
Alexandre Julliard e2df0ab856 makefiles: Generate rules from makedep for building and installing man pages. 2013-11-18 11:40:00 +01:00
Jacek Caban 318931bd46 widl: Include resource id in typelib path if not default. 2013-11-12 19:06:42 +01:00
Alexandre Julliard cc02e15220 widl: Add support for #pragma directives. 2013-11-04 17:41:11 +01:00
Alexandre Julliard 8d5b8b1346 makefiles: Define __WINESRC__ globally. 2013-10-07 10:48:04 +02:00
Jacek Caban 7e4462e28e widl: Generate names for imported nameless typedefs. 2013-08-29 19:56:18 +02:00
Jacek Caban 2510ec477b widl: Increase version number stored in custom data. 2013-08-29 19:56:18 +02:00
Jacek Caban 0277512350 widl: Include string info in tlb custom data. 2013-08-29 19:56:18 +02:00
Kai Tietz f05853b28a widl: Add async_uuid attribute base support in parser. 2013-08-19 12:53:19 +02:00
Kai Tietz da282872ff widl: Allow version-attribute on type and enum. 2013-08-19 12:53:18 +02:00
Kai Tietz f58353ecb6 widl: Allow inputsync-attribute on functions. 2013-08-19 12:53:17 +02:00
Kai Tietz 94c94260ea widl: Allow hidden-attribute on type. 2013-08-19 12:53:16 +02:00
Kai Tietz 0d4f6bf258 widl: Allow hexadecimal argument for version-attribute. 2013-08-19 12:53:15 +02:00
Kai Tietz 60beb40cb7 widl: Handle default value for public vs hidden attribute. 2013-08-19 12:53:14 +02:00
Kai Tietz d8318121a2 widl: Allow attributes before and after typedef-keyword. 2013-08-19 12:53:13 +02:00
Kai Tietz 499f05433a widl: Add RT's namespace keyword to scanner, and parser. 2013-08-19 12:53:12 +02:00
Kai Tietz 5ff7af708d widl: New option --rt for enabling rt's specific language extensions. 2013-08-19 11:30:30 +02:00
Alexandre Julliard bda5a2ffb8 widl: Remove non-bison compatibility code. 2013-08-01 12:04:24 +02:00
Piotr Caban e35a05b9a4 oleaut32: Name guids hash table segment in MSFT_SegDir struct. 2013-07-31 22:26:56 +02:00
Piotr Caban f9e73f97a9 oleaut32: Name names hash table segment in MSFT_SegDir struct. 2013-07-29 15:00:59 +02:00
Alexandre Julliard a93ee68f2e widl: Fix typo in man page. 2013-07-19 11:53:17 +02:00
Frédéric Delanoy 267422101a widl: Fix manpage formatting. 2013-07-17 20:30:50 +02:00
Alexandre Julliard dcc97a186d Standardize the BUGS, AVAILABILITY and SEE ALSO sections across all man pages. 2013-07-16 20:48:05 +02:00
Alexandre Julliard 005565d90d makefiles: Make sure to install manpages for the install-lib and install-dev cases. 2013-07-02 19:39:30 +02:00
Alexandre Julliard 28ece74fd8 Use the official Microsoft definitions for Gaelic languages. 2013-06-19 20:09:51 +02:00
Alexandre Julliard 7ca08fee55 widl: Avoid short printf formats with int variables. 2013-06-17 13:34:40 +02:00
André Hentschel 478401dce7 widl: Remove SPARC and Alpha support. 2013-03-11 10:50:06 +01:00
Jacek Caban ed50ce5efe widl: Allow shadowing imported types with typedef. 2013-02-26 18:18:31 +01:00
Piotr Caban 3d9454bc8f widl: Make it possible to set typelib resource id with id attribute. 2013-01-18 13:29:09 +01:00
André Hentschel 3ea316638d widl: Add ARM64 support. 2013-01-16 12:37:44 +01:00
Austin English ecfb6539f6 widl: add_interface_typeinfo should not return a value. 2012-12-20 12:01:08 +01:00
Austin English 554a2ccb11 widl: write_array_element_type shouldn't return a value. 2012-12-20 12:01:02 +01:00
Alexandre Julliard 50835b4151 widl: Fix a typo in the man page. 2012-12-10 11:27:33 +01:00
Alexandre Julliard 756d33ddae widl: Print large enum constants in hex. 2012-11-23 18:06:07 +01:00
Jacek Caban 4d323d176c widl: Ignore -app_config option. 2012-11-07 13:55:48 +01:00
Jacek Caban 218b1951db widl: Define PROXY_DELEGATION in dlldata.c when needed. 2012-11-01 15:42:33 +01:00
Thomas Faber 52607ba66b widl: Use 'class' for coclass typedefs in C++. 2012-10-15 13:31:08 +02:00
Jacek Caban 430c3d0be2 widl: Fixed fwrite error handling. 2012-10-08 12:54:56 +02:00
Jacek Caban da0f33370a widl: Alloc big enough buffer in dup_basename to handle registration suffix. 2012-10-08 12:54:55 +02:00
Jacek Caban 5cb75c525f widl: Fail with error on an attempt to inherit interface from itself. 2012-08-29 11:46:24 +02:00
Michael Stefaniuc 2c97f3fcb5 widl: Avoid FALSE:TRUE conditional expressions. 2012-08-15 12:15:13 +02:00
Nikolay Sivov 65f4184936 widl: Don't output method macro if name duplicates another method name. 2012-07-30 17:57:49 +02:00
Nikolay Sivov 0bc5e7a62a widl: Protect from duplicated method names in C-style vtable struct. 2012-07-30 17:57:49 +02:00
Nikolay Sivov d54e9603b5 widl: Emit default argument values for cpp methods. 2012-07-26 13:40:44 +02:00
Jacek Caban 6b34eea6fc widl: Added an extension that uses inline functions instead of macros for C interface calls. 2012-07-26 12:17:25 +02:00
Jacek Caban 80d3055869 widl: Add IDL installation directory to include path. 2012-07-23 12:55:02 +02:00
Jacek Caban 42e77c849f widl: Added --help command line option. 2012-06-08 19:35:16 +02:00
Jacek Caban 76693d52c7 widl: Added support for nameless structs and unions. 2012-05-14 10:29:40 +02:00
Jacek Caban 718adc91fc widl: Make headers guards compatible with midl. 2012-03-08 19:22:45 +01:00
Jacek Caban af2eba24b7 widl: Removed unused idfile_token. 2012-03-08 18:56:13 +01:00
Alexandre Julliard 42e583f1f6 widl: We no longer need to avoid windows.h in generated headers. 2012-01-20 15:59:02 +01:00
Alexandre Julliard bf0c37d56a widl: Zero-initialize [out] structures and unions that contain pointers. 2011-12-13 18:59:15 +01:00
Andrew Talbot 7f27eb6a45 widl: Avoid right-shift of negative values. 2011-11-23 09:13:04 +01:00
Jacek Caban c7602d51b3 widl: Define __REQUIRED_RPCNDR_H_VERSION__ in generated headers. 2011-09-22 19:51:49 +02:00
Alexandre Julliard 977e15b762 widl: Store the type format offset for function parameters in the variable object. 2011-09-19 12:56:25 +02:00
Alexandre Julliard e2a92702ed widl: Pass variables around instead of types for function parameters. 2011-09-19 11:54:42 +02:00
Alexandre Julliard c31948a775 widl: Make the function return value a variable. 2011-09-17 16:09:47 +02:00
Alexandre Julliard 05ff9dfeb1 widl: Include string formats in the element description for complex arrays. 2011-09-16 21:08:54 +02:00
Bernhard Loos 00ab883644 widl: Also create proxies/stubs for interfaces marked with oleautomation. 2011-09-06 15:42:28 +02:00
Alexandre Julliard 8e15db40a8 widl: Don't output stubs for interfaces included in a typelib. 2011-09-06 15:42:16 +02:00
Alexandre Julliard 4ff0faa67c widl: Generate a registration script along with the typelib when creating a resource file. 2011-08-02 20:47:48 +02:00
Alexandre Julliard b568287eef widl: Add support for generating typelibs directly in resource format. 2011-08-01 21:38:56 +02:00
Alexandre Julliard 36e73eb3fb widl: Add helper functions for outputting resource files. 2011-08-01 21:38:14 +02:00
Alexandre Julliard 0359b30b1b widl: Only register interfaces when the factory buffer is known. 2011-08-01 17:20:46 +02:00
Alexandre Julliard ca22457d7b widl: Don't set base types to 0 on proxy entry. 2011-07-27 16:16:14 +02:00
Alexandre Julliard 0d76bb7ec3 widl: Clear out more types of parameters in the proxy error handlers. 2011-07-27 16:04:24 +02:00
Alexandre Julliard 82f33d3f6b widl: Check for mismatched types in ?: expressions. 2011-07-25 10:43:09 +02:00
Jacek Caban 2b7c6a9599 widl: Produce __uuidof-compatible headers. 2011-07-14 21:51:36 +02:00
Alexandre Julliard 9df500d45d widl: Support LANG_NEUTRAL as a valid lcid in typelibs. 2011-07-08 17:34:41 +02:00
Jacek Caban f8c517978b widl: Use proper calling convention attributes. 2011-07-07 17:32:12 +02:00
Marcus Meissner 28e92027b1 widl: Decrease is_object_interface after usage. 2011-07-06 17:01:32 +02:00
Jacek Caban 9afec542e0 widl: Generate class forward declaration for coclasses. 2011-07-06 16:58:49 +02:00
Jacek Caban 63d5462ced widl: Insert standard windows.h and ole2.h includes to generated headers. 2011-06-27 13:30:57 -05:00
Alexandre Julliard 809810eb28 widl: Use NdrPointerFree instead of freeing by hand where possible. 2011-06-20 19:32:04 +02:00
Alexandre Julliard c173399d62 widl: Move the pointer check functionality to typegen.c. 2011-06-14 12:55:39 +02:00
Alexandre Julliard fa2b886d1d widl: Also check array pointers for null ref pointers. 2011-06-14 12:55:22 +02:00
Alexandre Julliard c70ef62958 widl: Make output unique pointers into object pointers in object interfaces. 2011-06-14 12:24:00 +02:00
Alexandre Julliard bcca410733 widl: Allow unsized in,out string parameters. 2011-06-14 12:23:32 +02:00
Alexandre Julliard 351c6ca5e4 widl: If possible, use the interface name as prefix for the expr eval functions. 2011-06-13 23:59:04 +02:00
Alexandre Julliard 7a0ce4c864 widl: Include the parent interfaces in the proxy thunk table too. 2011-06-13 23:16:36 +02:00
Alexandre Julliard 5881069601 widl: Use delegation when inheriting from a local interface. 2011-06-13 22:16:05 +02:00
Alexandre Julliard 799000ea3a widl: Include the parent interfaces in the proc format string offsets for proxies. 2011-06-13 21:58:33 +02:00
Alexandre Julliard 0cba5b06f5 widl: Use the local function as proxy entry for callas interpreted functions. 2011-06-13 21:17:52 +02:00
Alexandre Julliard e620869d5f widl: Output the list of rundown routines in server files. 2011-06-13 20:31:42 +02:00
Alexandre Julliard 717f2bebd8 widl: Use the context handle description instead of the pointer for arguments that are pointer to handles. 2011-06-13 20:09:47 +02:00
Alexandre Julliard 717bd66440 widl: Default to the cdecl calling convention in client/server functions. 2011-06-13 11:53:28 +02:00
Alexandre Julliard 49c31e3bf8 makefiles: Use the generic install flags for the tools directories. 2011-06-12 12:47:48 +02:00
Alexandre Julliard 3a709fa5bb widl: Fix a typo in updating the type format offset for strings. 2011-06-09 13:18:58 +02:00
Alexandre Julliard 211ed7be48 widl: Fix packing of parameter structures for arguments larger than a pointer. 2011-06-09 12:08:48 +02:00
Alexandre Julliard 59171bd9f5 widl: Pass a structure containing the parameters to NdrClientCall instead of accessing the stack. 2011-06-09 12:08:48 +02:00
Alexandre Julliard 9f99d74a20 widl: Add a helper function for generating a stub that uses NdrClientCall. 2011-06-09 12:08:48 +02:00
Alexandre Julliard 350c93a164 widl: Don't require inline stubs for functions that are never generated. 2011-06-08 14:12:16 +02:00
Alexandre Julliard 3147545541 widl: Don't allow floating point parameters for interpreted functions. 2011-06-08 14:06:22 +02:00
Alexandre Julliard 36ee028f49 widl: Don't generate old-style interpreted stubs on 64-bit. 2011-06-08 12:14:47 +02:00
Alexandre Julliard e4a0483529 widl: Set a correct fpu parameter mask on 64-bit. 2011-06-08 11:51:27 +02:00
Alexandre Julliard d9cd0d8cac widl: In 64-bit mode, pass all arguments to NdrClientCall instead of a pointer to the first one. 2011-06-08 11:34:46 +02:00
Jacek Caban 674ab49fa2 widl: Don't duplicate optarg and optind declarations in sources. 2011-06-07 14:18:34 +02:00
Alexandre Julliard 609602cb38 widl: Add support for generating new-style interpreted stubs for proxies. 2011-06-07 14:18:15 +02:00
Alexandre Julliard 01b44d1317 widl: Generate thunks for callas functions using interpreted stubs. 2011-06-07 12:11:50 +02:00
Alexandre Julliard 39b15066b0 widl: Add support for generating new-style interpreted stubs for servers. 2011-06-06 21:49:22 +02:00
Alexandre Julliard e95d5a8e3c widl: Add support for generating new-style interpreted stubs for clients. 2011-06-06 21:49:22 +02:00
Alexandre Julliard b724138bd9 widl: Add support for new-style interpreted stubs in the proc format strings. 2011-06-06 21:49:22 +02:00
Alexandre Julliard e644c2cd03 widl: Add support for generating old-style interpreted stubs for servers. 2011-06-03 12:27:54 +02:00
Alexandre Julliard 9c4d01f329 widl: Add support for generating old-style interpreted stubs for clients. 2011-06-03 12:27:14 +02:00
Alexandre Julliard 33ba9731a3 widl: Add support for generating old-style interpreted stubs for proxies. 2011-06-03 12:27:00 +02:00
Alexandre Julliard 4fe88648cb widl: Always use signed types in parameter formats.
Native marshaller doesn't support the unsigned ones.
2011-06-03 12:26:31 +02:00
Alexandre Julliard 9128dea410 widl: Use the pointer offset for arrays declared as pointer in the proc format strings of interpreted functions. 2011-06-02 16:22:43 +02:00
Alexandre Julliard 11416a20c9 widl: Generate function headers in the proc format string for interpreted functions. 2011-06-02 16:22:43 +02:00
Alexandre Julliard 6ae510050b widl: Add a -O option to specify stub style. 2011-06-02 16:22:42 +02:00
Alexandre Julliard 2db27725bf widl: Don't allow unions passed by value or floating point returns for interpreted functions. 2011-06-02 16:21:52 +02:00
Alexandre Julliard 82d3ea86cf widl: Always update the type format offset in write_type_tfs and not in callers. 2011-06-02 14:42:13 +02:00
Alexandre Julliard 5e67dcd10f widl: Fix representation of context handles in the format string. 2011-06-02 14:41:55 +02:00
Alexandre Julliard 0f8b64a57b widl: Add a more generic way of determining the type of handle for a function. 2011-05-31 18:32:58 +02:00
Alexandre Julliard 21cbdaa1eb widl: Support using custom handle types with the implicit_handle attribute. 2011-05-31 18:32:58 +02:00
Alexandre Julliard 968c8688c4 widl: Array dimensions have to be constants. 2011-05-28 13:39:18 +02:00
Alexandre Julliard 0486140c3d widl: Don't output callback conformances for non-interpreted functions.
The Windows marshaller calls the callback with an invalid stack.
2011-05-28 13:38:25 +02:00
Alexandre Julliard 93dd252116 widl: Output a list of binding routines in client files. 2011-05-27 12:07:29 +02:00
Alexandre Julliard c2406be6d4 widl: Add support for top-level conformances. 2011-05-26 21:58:59 +02:00
Alexandre Julliard d8059aee3a widl: Move the check for already processed types into the type-specific functions.
Fixed a couple of instances where types were printed redundantly or
incorrectly reused.
2011-05-26 19:45:00 +02:00
Alexandre Julliard 52cb5b20f7 widl: Set the correct stack size for parameters in the proc format string. 2011-05-25 20:32:12 +02:00
Alexandre Julliard 56e65b4534 widl: Allow using fixed size arrays as strings. 2011-05-25 19:34:26 +02:00
Alexandre Julliard 96a5def678 widl: Also compute buffer size for non-ref pointers. 2011-05-25 00:22:40 +02:00
Alexandre Julliard 8f156e266e widl: Return the buffer size of the object pointed by a ref pointer for all types. 2011-05-25 00:07:15 +02:00
Alexandre Julliard 2099d94001 widl: Call marshalling routines directly also for user-marshalled types accessed through a ref pointer. 2011-05-24 23:10:54 +02:00
Alexandre Julliard bf9d2904dc widl: Don't call the buffer sizer routine when the size is known already. 2011-05-24 22:47:07 +02:00
Alexandre Julliard 050f6f38d5 widl: Only return a buffer size for fixed-size arrays. 2011-05-24 22:30:39 +02:00
Marcus Meissner 37046546af oleaut32: Fixed offset calculation (Coverity). 2011-05-09 10:50:27 +02:00
Marcus Meissner 0222ad7326 widl: Mark up a FALLTHROUGH case (Coverity). 2011-03-31 12:50:47 +02:00
Huw Davies 09dd285d8c widl: Initialise [out] only conformant arrays.
This isn't strictly what midl does, however VB relies on the array in
IEnumVARIANT_Next() being zero initialised.  Native uses stubless
proxies, where the initialisation is performed in NdrStubCall2().
2011-03-03 17:47:14 +01:00
Huw Davies d8d963a9c3 widl: Don't dereference if the referenced type is a user type. 2011-02-03 16:24:55 +01:00
Huw Davies 5ae2b0f219 widl: Initialise [out] only parameters if they are user types or interface pointers. 2011-02-02 18:13:34 +01:00
Henri Verbeet 7421bb0b61 widl: Support forward type declarations. 2011-01-28 11:59:04 +01:00
Alexandre Julliard 56425e3767 widl: Don't generate proxies for oleautomation interfaces. 2011-01-19 17:43:01 +01:00
Alexandre Julliard 90c7acf845 widl: Allow specifying a class version outside of a typelib too. 2010-12-23 12:50:58 +01:00
Alexandre Julliard fc3114ca80 widl: Don't free the input file name since it's stored in various places in the location info. 2010-12-23 12:50:52 +01:00
Alexandre Julliard e5f65edfc9 widl: Allow specifying a version for a coclass independently of its typelib version. 2010-12-22 15:51:29 +01:00
Alexandre Julliard 875c1b8739 widl: Register the PSFactoryBuffer class as factory if it's defined in the idl file. 2010-12-17 14:58:47 +01:00
Alexandre Julliard f3f5230b92 widl: Don't create the CurVer key if the ProgId is already version-independent. 2010-12-09 22:42:30 +01:00
Alexandre Julliard cb246ca7a7 widl: Support encoding the DECIMAL type in typelibs. 2010-12-09 00:05:28 +01:00
Alexandre Julliard 8c78994866 widl: Signal an error when trying to output an undefined interface into a typelib. 2010-12-08 20:32:08 +01:00
Alexandre Julliard 2dc85894a7 widl: Improve registration of coclasses contained in typelibs. 2010-12-08 16:10:44 +01:00
Alexandre Julliard 15ccabc9a8 makefiles: Add common rules for installing the main man page. 2010-12-05 16:17:58 +01:00
Alexandre Julliard 2f5c578dba widl: Output registration information also for IUnknown. 2010-12-03 19:29:49 +01:00
Alexandre Julliard 2bf6305ad6 widl: Don't force removal of progids since "CLSID" is also a progid. 2010-12-03 18:09:13 +01:00
Alexandre Julliard b3ebd5a8c5 widl: Use the class name as default description for a progid. 2010-12-03 14:28:28 +01:00
Alexandre Julliard 335282f564 widl: Generate keys for coclasses in the registration resources. 2010-12-02 13:15:14 +01:00
Alexandre Julliard 3991b05746 widl: Add progid, threading and vi_progid attributes for coclasses.
This is a Wine extension, modelled after the corresponding attributes
supported by Visual C++.
2010-12-02 13:14:50 +01:00
Alexandre Julliard ce3abe8c0c widl: Add support for generating a .rgs registration script for the defined interfaces. 2010-11-27 13:29:13 +01:00
Alexandre Julliard 233814c21e widl: Add a general -o option instead of having a different output name option for each file type. 2010-11-27 13:28:16 +01:00
Alexandre Julliard 5d3b4fb6cb widl: Use the output buffer functions to write typelibs. 2010-11-27 11:54:51 +01:00
Alexandre Julliard 00dda6f687 widl: Copy the output buffer management functions from winebuild. 2010-11-27 11:42:09 +01:00
André Hentschel d4dc2a3a4f widl: Fix for typelib generation when unaligned access to memory is not allowed. 2010-11-15 13:20:05 +01:00
Amine Khaldi c9dcef156e widl: Do not define MIDL_user_allocate and MIDL_user_free as it's already in the psdk. 2010-10-27 12:02:41 +02:00
Alexandre Julliard 3593b65935 widl: Output a format string table and server info structure for servers. 2010-10-22 20:49:45 +02:00
Alexandre Julliard 9551524308 widl: Output a format string table and server info structure for stubs. 2010-10-22 20:23:56 +02:00
Alexandre Julliard 4c41dd5fca widl: Duplicate the exception handling code between 32-bit and 64-bit. 2010-10-22 19:44:00 +02:00
Alexandre Julliard 575485c6e7 widl: Duplicate all the proxy data tables between 32-bit and 64-bit. 2010-10-22 19:41:07 +02:00
Alexandre Julliard a638c663b5 widl: Add a separate function to write the proc format string for a function. 2010-10-21 21:36:45 +02:00
Alexandre Julliard 63d5217fd6 widl: Output some comments for proc format strings. 2010-10-21 21:36:45 +02:00
Alexandre Julliard 226e963429 widl: Use get_size_procformatstring_func() for clients too instead of duplicating the code. 2010-10-21 21:35:21 +02:00
Alexandre Julliard 2debb114e3 widl: Add support for some more typelib flags based on the added attributes. 2010-10-21 21:34:33 +02:00
Alexandre Julliard 537773fbf4 widl: Add some more attribute keywords. 2010-10-21 21:23:36 +02:00
Gerald Pfeifer 17ee7300f8 widl: Avoid duplicate assignments in resolve_expression. 2010-09-21 20:16:15 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Austin English b94bc5604a widl: Fix compiler warnings on clang. 2010-09-18 13:23:29 +02:00
Alexandre Julliard d3c4106d6f widl: Fix declaration order in generated headers. 2010-09-06 17:06:59 +02:00
Jacek Caban 06f3b94584 widl: Define _WIN32 by default. 2010-09-01 14:01:04 +02:00
Alexandre Julliard c6668089a4 widl: Set the default calling convention at header generation time, not at parsing time. 2010-08-27 13:52:09 +02:00
Alexandre Julliard 7d2869457f widl: Fix parsing of function calling conventions. 2010-08-27 13:49:56 +02:00
André Hentschel 4bd8d384c4 widl: Add support for amd64-mingw32msvc platform. 2010-05-28 12:31:13 +02:00
Gerald Pfeifer 194fd8744a widl: Simplify write_struct_tfs and remove an unused variable. 2010-05-03 15:40:58 +02:00
Gerald Pfeifer ea6590af16 widl: Remove variable size which is not really used from print_phase_basetype. 2010-04-26 06:59:22 -05:00
Alexandre Julliard 1707c1c5cb widl: Alignment for complex arrays and structs is the buffer alignment, not the memory one. 2010-04-05 20:07:22 +02:00