Commit graph

1495 commits

Author SHA1 Message Date
Dmitry Timoshkov 202acc52eb widl: Set the lowest bit in the param name to indicate whether type description follows the name.
It looks like the lowest bit in the param name offset actually indicates
whether type description follows the name, and since the name offsets are
always aligned that makes sense.

This makes oleview.exe from PSDK running under Windows7 correctly show mix
of different very complex and relatively simple type descriptions generated
by widl's SLTG generator.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-23 22:14:17 +02:00
Dmitry Timoshkov 918425bbe9 widl: Create library block index right after the CompObj one.
Otherwise Wine's oleaut32 refuses to load a typelib.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-23 22:14:14 +02:00
Dmitry Timoshkov 62223ed995 widl: Make automatic dispid generation scheme better match what midl does.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-23 22:14:14 +02:00
Alexandre Julliard 2c2ac005f5 widl: Use x64 calling convention for ARM64EC. 2024-04-18 20:54:24 +02:00
Alexandre Julliard 57b145e468 widl: Clear RobustEarly flag also for data structure conformance. 2024-04-16 21:26:50 +02:00
Alexandre Julliard 235f76594e widl: Output register parameter assignments on ARM platforms. 2024-04-16 18:39:13 +02:00
Alexandre Julliard 2f532567ff widl: Don't use a structure for NdrClientCall2 parameters on ARM. 2024-04-15 18:10:44 +02:00
Alexandre Julliard 84509acb16 widl: Correctly align stack parameters on ARM. 2024-04-15 18:10:44 +02:00
Alexandre Julliard 377f9f8de9 widl: Only pass power of 2 structures by value on x86-64. 2024-04-15 18:10:44 +02:00
Alexandre Julliard 9cda4233df widl: Pass 16-byte structures by value on ARM64. 2024-04-15 18:10:44 +02:00
Dmitry Timoshkov 1d0eb24ce1 widl: Add support for inherited interfaces to SLTG typelib generator.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-09 08:28:46 -05:00
Dmitry Timoshkov 7db6c30aea widl: Add support for interfaces to SLTG typelib generator.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-09 08:28:46 -05:00
Dmitry Timoshkov 61583ec2cd widl: Add support for recursive type references to SLTG typelib generator.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-09 08:27:56 -05:00
Dmitry Timoshkov b8921b414e widl: In old style typelibs all types are public.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-09 08:27:56 -05:00
Alexandre Julliard 047b7fc293 widl: Map VT_USERDEFINED to VT_I4 for default values in typelibs. 2024-04-04 20:49:43 +02:00
Jacek Caban a8fc62d1a2 widl: Don't use old typelib format in do_everything mode.
Fixes a regression from 0bffa32226.
2024-04-04 16:03:26 +02:00
Dmitry Timoshkov 1eeebc3190 widl: Add support for VT_USERDEFINED to SLTG typelib generator.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-03 23:03:38 +02:00
Dmitry Timoshkov 9d26c6d75a widl: Properly align name table entries.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-03 23:03:38 +02:00
Dmitry Timoshkov f3ca3044fe widl: Add support for structures.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-03 23:03:38 +02:00
Dmitry Timoshkov 5df4c5f06d widl: Add more traces.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-03 23:03:38 +02:00
Dmitry Timoshkov b83410936e widl: Use generic 'struct sltg_data' for collecting data.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-04-03 23:03:38 +02:00
Alexandre Julliard a1997507e8 widl: Clear /robust flags when no descriptor is present.
For compatibility with midl.
2024-04-03 23:03:36 +02:00
Alexandre Julliard af058da893 widl: Use padding instead of alignment in structure format strings.
For compatibility with midl.
2024-04-03 12:34:39 +02:00
Alexandre Julliard 855eb3afcd widl: Always pass the top-level attributes to detect interface pointers. 2024-04-03 12:30:59 +02:00
Alexandre Julliard 4f8958eb56 widl: Use the correct type for non-encapsulated union discriminants. 2024-04-02 23:30:10 +02:00
Alexandre Julliard 66bec19434 widl: Output more correct /robust flags. 2024-04-02 23:30:10 +02:00
Alexandre Julliard 4d8ee6bb18 widl: Add /robust flags in correlation descriptors. 2024-04-02 23:30:10 +02:00
Alexandre Julliard 896b4f05ea widl: Always use new-style format strings in interpreted mode. 2024-04-02 23:30:03 +02:00
Alexandre Julliard dd68561c4a widl: Fix method number for call_as functions. 2024-03-28 15:44:46 +01:00
Alexandre Julliard 53bb4117ac widl: Don't output the explicit handle argument. 2024-03-28 14:30:47 +01:00
Alexandre Julliard 7ff6c6316e widl: Merge interpreted stubs header and parameters output into a single function. 2024-03-28 14:30:42 +01:00
Alexandre Julliard 69849bd2ee widl: Don't skip a pointer level for pointers to pointers to strings. 2024-03-27 11:26:10 +01:00
Jacek Caban 3b12583db0 widl: Always close parsed input file.
Fixes a regression from 9d537999e3, which removed closing the file.
This causes Windows widl build to be to remove the temporary file on exit.
2024-03-21 22:19:58 +01:00
Dmitry Timoshkov 0bffa32226 widl: Add initial implementation of SLTG typelib generator.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2024-03-21 22:19:57 +01:00
Alexandre Julliard 64b2e44697 widl: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Fabian Maurer dbf303b00b widl: In type_has_full_pointer recurse for pointer types as well. 2023-11-29 20:44:44 +01:00
Fabian Maurer f59807c587 widl: Prevent infinite loop when structure contains array of itself.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55115
2023-11-29 20:44:42 +01:00
Alexandre Julliard a426b6b4a9 widl: Make the alignment option generic instead of win32/win64-specific.
Support both --align and --packing for compatibility with midl.
2023-11-10 11:06:38 +01:00
Alexandre Julliard c7a2aaf234 widl: Remove DECLSPEC_HIDDEN from generated files. 2023-11-08 10:11:17 +01:00
Alexandre Julliard 4e9f1a41b9 makefiles: Always use the global SOURCES variable for .man.in files. 2023-10-14 13:44:07 +02:00
Alexandre Julliard c7fafe7eb2 widl: Use the IMAGE_FIRST_SECTION helper macro. 2023-09-25 13:02:09 +02:00
Rémi Bernon 3b7398b403 widl: Guard against re-import of the main input file. 2023-08-22 21:00:56 +02:00
Alexandre Julliard 20afe43832 Remove unused NONAMELESS defines. 2023-08-15 18:56:45 +02:00
Mohamad Al-Jaf 0b3b28c245 widl: Add support for default_overload attribute.
Needed for IDeviceInformationStatics.
2023-08-04 09:51:24 +09:00
Alistair Leslie-Hughes f1b9150451 widl: Remove unnecessary null check (Coverity). 2023-07-11 18:34:17 +02:00
Bernhard Kölbl 711cd500e7 widl: Add basic support for the [deprecated] attribute.
Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-07-05 19:54:57 +02:00
Fabian Maurer 0ce5584acc widl: Don't crash on nameless structs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49772
2023-06-26 15:00:58 +02:00
Alistair Leslie-Hughes 1aa6a900e8 widl: Suppress a coverity warning.
Knowning that frame->code will be set when the exception handler
is called.  Suppress this coverity issue.
2023-04-24 10:33:33 +02:00
Mohamad Al-Jaf 3b31e75395 widl: Add support for WinRT HANDLE parameter type.
Needed by windows.ui.composition.interop.idl.
2023-04-13 10:25:19 +02:00
Mohamad Al-Jaf 712f87ee8e widl: Add support for composable attribute.
Needed to build windows.ui.composition.idl.
2023-04-03 16:52:01 +02:00