Signed-off-by: Jacek Caban jacek@codeweavers.com --- dlls/rpcrt4/tests/Makefile.in | 6 +- dlls/rpcrt4/tests/server.c | 934 ++++++++++++++++++++++++---- dlls/rpcrt4/tests/server.idl | 228 ++++--- dlls/rpcrt4/tests/server_interp.idl | 25 + 4 files changed, 965 insertions(+), 228 deletions(-) create mode 100644 dlls/rpcrt4/tests/server_interp.idl
Jacek Caban jacek@codeweavers.com wrote:
+static int __cdecl (*int_return)(void); +static int __cdecl (*square)(int x); +static int __cdecl (*sum)(int x, int y); +static signed char __cdecl (*sum_char)(signed char x, signed char y); +static short __cdecl (*sum_short)(short x, short y);
...
__cdecl should be inside of parentheses so that the calling convention belongs to the function and not to the return type, otherwise MSVC would fail to compile such declarations.
On 1/23/19 1:35 PM, Dmitry Timoshkov wrote:
Jacek Caban jacek@codeweavers.com wrote:
+static int __cdecl (*int_return)(void); +static int __cdecl (*square)(int x); +static int __cdecl (*sum)(int x, int y); +static signed char __cdecl (*sum_char)(signed char x, signed char y); +static short __cdecl (*sum_short)(short x, short y);
...
__cdecl should be inside of parentheses so that the calling convention belongs to the function and not to the return type, otherwise MSVC would fail to compile such declarations.
Good catch, I will send a new patch. Ideally it would use typeof(), but it's also problematic for MSVC...
Thanks,
Jacek
On 1/23/19 5:37 AM, Jacek Caban wrote:
Signed-off-by: Jacek Caban jacek@codeweavers.com
dlls/rpcrt4/tests/Makefile.in | 6 +- dlls/rpcrt4/tests/server.c | 934 ++++++++++++++++++++++++---- dlls/rpcrt4/tests/server.idl | 228 ++++--- dlls/rpcrt4/tests/server_interp.idl | 25 + 4 files changed, 965 insertions(+), 228 deletions(-) create mode 100644 dlls/rpcrt4/tests/server_interp.idl
This seems like a great idea; I'm wondering if there are perhaps simpler ways of achieving it.
In particular it's not obvious to me that we need to duplicate the server methods. Could we leave them as is and then instead use something like this:
server_EXTRAIDLFLAGS = -Os --prefix-client=mixed_ server_interp_EXTRAIDLFLAGS = -Oicf --prefix-client=interp_
Hi Zebediah,
On 1/23/19 7:02 PM, Zebediah Figura wrote:
On 1/23/19 5:37 AM, Jacek Caban wrote:
Signed-off-by: Jacek Caban jacek@codeweavers.com
dlls/rpcrt4/tests/Makefile.in | 6 +- dlls/rpcrt4/tests/server.c | 934 ++++++++++++++++++++++++---- dlls/rpcrt4/tests/server.idl | 228 ++++--- dlls/rpcrt4/tests/server_interp.idl | 25 + 4 files changed, 965 insertions(+), 228 deletions(-) create mode 100644 dlls/rpcrt4/tests/server_interp.idl
This seems like a great idea; I'm wondering if there are perhaps simpler ways of achieving it.
In particular it's not obvious to me that we need to duplicate the server methods. Could we leave them as is and then instead use something like this:
server_EXTRAIDLFLAGS = -Os --prefix-client=mixed_ server_interp_EXTRAIDLFLAGS = -Oicf --prefix-client=interp_
That sounds like a good idea. I will give it a try.
Thanks,
Jacek