Unspecified sign should be mapped to signed integer / char.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Fixes the UUID of IVectorView<HSTRING*> to match MIDL for instance.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
We append type->name from each parameter when constructing the c_name
of parameterized type. When the parameter is itself a parameterized type
this field contains C++-like name, with template brackets.
Instead this precomputes the names of parameterized types whenever they
are used as a parameter. In this case the format is the same as the C
name, except that __C is used as a namespace separator, instead of _C,
and that there's no namespace or abi prefix included.
Shorthands need to be applied too, altough they have to match the __C.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Declaration type names prefer unqualified names whereas reference type
names prefer fully qualified names.
This makes C++ code use fully qualified names when referencing a type,
fixing cases where types from other namespaces are used. It also allows
to skip the enum / struct / union type prefix in WinRT C++ code.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
MIDL generates enum typedefs without a prior type declaration, as well
as using explicit enum underlying type specifier. None of this is
supported in MinGW.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
The attribute is used by WinRT and doesn't have any
effect on the generated headers.
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
As per MIDL 3.0. Needed for some WinRT runtime classes.
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Prior to c94f44f9b4 (widl: Search for
imported typelibs in the library search path.), widl looked for
tlb files in the path specified by BIN_TO_INCLUDEDIR. After that
commit, widl looks for tlb files in a subdirectory (get_pe_dir)
of BIN_TO_DLLDIR (which mingw-w64 sets to the same as
BIN_TO_INCLUDEDIR).
For compatibility with the mingw-w64 usecase, check for tlb files
in the directory specified by BIN_TO_DLLDIR without a separate
subdirectory suffix too.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Since a9b5bb326a, Wine needs
get_as_command to work without cc_command available. While as is usually
a GCC dependency, Clang toolchains may not contain it.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
The include path may be empty, e.g. if the relevant headers are to be found
directly in the MinGW sysroot.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Fix error caused by some applications attempting to load
Windows Runtime support libraries. Example: Adobe Photoshop 2021
attempts to load WinRTSupport.dll.
Signed-off-by: Mohamad Al-Jaf <mohamadaljaf@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>