Jacek Caban
a514aa7653
widl: Don't make proxy vtbl const in interpreted mode.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:21:52 +01:00
Jacek Caban
da6b0ca6e6
widl: Write async interface IIDs to _i.c file.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:21:52 +01:00
Jacek Caban
fb5d6c672f
widl: Add support for serialization functions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +01:00
Jacek Caban
dc03ca5e15
widl: Write serialize function declarations in header.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +01:00
Jacek Caban
ed11765665
widl: Write type string for serialized types.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +01:00
Jacek Caban
90748c581b
widl: Add basic acf parser implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +01:00
Jacek Caban
d6b76df314
widl: Preprocess and attempt to parse provided ACF file.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +01:00
Jacek Caban
1db0ad9798
widl: Add -acf command line option.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +01:00
Jacek Caban
2ffd106b9b
widl: Make MIDL_DEFINE_GUID more compatible with midl.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:09 +01:00
Jacek Caban
824d513585
widl: Generate async interface table.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 18:40:20 +01:00
Jacek Caban
89a1dade80
widl: Support async interfaces proxy.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 18:40:19 +01:00
Jacek Caban
3a8dbbb634
widl: Use for_each_iface in get_size_procformatstring.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 18:40:17 +01:00
Jacek Caban
212cffbf99
widl: Use for_each_iface in process_tfs.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 18:40:16 +01:00
Jacek Caban
53e54833f6
widl: Introduce for_each_iface helper and use it in write_procformatstring.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 18:40:15 +01:00
Jacek Caban
069d7b02b7
widl: Support async interfaces in headers generation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 18:40:13 +01:00
Jacek Caban
b467f2de9b
widl: Create type for async variant of an interface with async_uuid attribute.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 18:40:11 +01:00
Jacek Caban
b78de971f6
widl: Check for actual function name when handling call_as attribute.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-02 17:39:34 +01:00
Zebediah Figura
66f46f8182
widl: Correctly handle conformant arrays in clear_output_vars().
...
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-11-02 15:17:52 +01:00
Jacek Caban
511b50e7bf
widl: Ignore -robust command line option.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 21:50:57 +01:00
Jacek Caban
2761fc91d0
widl: Add __int32 type support.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 21:50:57 +01:00
Zebediah Figura
76a665a1c6
widl: Fix FC_ALLOCED_ON_STACK for interpreted stubs.
...
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-11-01 12:04:41 +01:00
Zebediah Figura
481c408a02
widl: Only mark simple [out] pointers as on-stack if they are [ref] pointers.
...
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-11-01 12:04:38 +01:00
Alexandre Julliard
c34e245137
widl: Support generating multiple typelibs into the same resource file.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 13:48:36 +02:00
Zebediah Figura
b0c5a77e26
widl: Fix -Oicf marshalling of pointers to arrays.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-11 23:59:08 +02:00
Zebediah Figura
cfab3111c2
widl: Handle typedef'd arrays.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-10 17:44:05 +02:00
Zebediah Figura
65610a4c94
widl: Fix detection of SAFEARRAY pointers when writing array pointers.
...
This code was introduced in 7d1e3691
, but that commit did not account for
pointers to normal C arrays.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-10 17:44:02 +02:00
Zebediah Figura
6f97103733
widl: Correctly generate headers for nested arrays and pointers.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-09 12:24:56 +02:00
Zebediah Figura
f12cc887f8
widl: Properly handle nesting of pointers and arrays when parsing.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-09 12:24:24 +02:00
Zebediah Figura
8f463a575d
widl: The default pointer attribute for an array is always ref.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-09 12:23:35 +02:00
Zebediah Figura
8118a45a6a
widl: Remove dead code.
...
MIDL doesn't warn on this, and it's not a particularly salient mistake to make.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-09 12:19:27 +02:00
Zebediah Figura
a2d0038045
widl: Check for positive array dimension when parsing array.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-09 12:19:26 +02:00
Zebediah Figura
bd37ddfa96
widl: Allow all dimensions of an array to be sizeless.
...
MIDL achieves this by setting the size of the inner arrays to a constant
value. widl actually already handles this (but uses 0 instead of 1.)
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-09 12:19:22 +02:00
Jacek Caban
bc6c2eb907
widl: Allow defaultvalue() attribute on any pointer type.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Jacek Caban
68c43a5ad9
widl: Split write_value for string and int values.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard
68cfa7fd03
widl: Silence a gcc warning.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:06 +02:00
Zebediah Figura
f9c8c20298
widl: Use publicly defined NDR constants.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-13 22:13:27 +02:00
Zebediah Figura
50a7b239bd
widl: Generate correct size and alignment for all types.
...
Using type_memsize_and_alignment() directly instead of reimplementing it.
Also fix the generated tests in oleaut32 to reflect correct sizes for 64-bit
typelibs.
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-06-05 10:07:10 +02:00
Zebediah Figura
d5a1d6134b
widl: Prefer types defined in the same typelib to imported types.
...
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-30 22:26:49 +02:00
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