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
Alexandre Julliard
cb6a225481
widl: Add a type_memsize_and_alignment function to make it explicit where the alignment is truly needed.
2010-04-05 20:06:22 +02:00
Alexandre Julliard
4d55592540
widl: Move temp file management from wpp to widl.
2010-03-30 15:34:12 +02:00