Sweden-Number/tools/widl
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
..
Makefile.in
client.c
expr.c
expr.h
hash.c
hash.h
header.c widl: Handle C++ aggregate returns in a MSVC compatible way. 2017-07-24 18:58:30 +02:00
header.h
parser.h
parser.l
parser.y
proxy.c
register.c
server.c
typegen.c
typegen.h
typelib.c widl: Try to find imported typelib using .tlb extension if it wasn't specified. 2017-06-16 15:34:04 +02:00
typelib.h
typelib_struct.h
typetree.c
typetree.h
utils.c
utils.h
widl.c
widl.h
widl.man.in
widltypes.h
write_msft.c widl: Add missing width and alignment for VARIANT. 2017-02-27 12:38:25 +01:00