Rob Shearman
eb4100e91c
widl: Remove a FIXME comment in write_function_stubs.
...
Clean valgrind runs of tested types and comparison with MIDL-generated
code suggests that the existing code written in the finally block for
client code is sufficient.
2010-03-16 11:41:30 +01:00
Rob Shearman
fb934347b4
widl: Use type_get_type to determine the types during statement enumeration.
2009-02-23 15:25:20 +01:00
Alexandre Julliard
fcc096083f
widl: Add printf format attribute on all printf-like functions and fix resulting warnings.
2009-02-06 14:54:03 +01:00
Alexandre Julliard
ef6971da40
widl: Replace unsigned long and size_t by unsigned int where appropriate.
2009-02-06 14:54:03 +01:00
Rob Shearman
8a976a7d78
widl: Replace uses of get_func_return_type with type_function_get_rettype.
...
Also replace direct accesses into the type structure to get the return
type of a function with the same function.
2009-01-06 14:36:25 +01:00
Rob Shearman
9b139018cf
widl: Add new function, type_iface_get_stmts.
...
Use it to retrieve statements contained in interface types.
2009-01-06 12:58:41 +01:00
Rob Shearman
901a42b7f9
widl: Move funcs and stmts fields from type_t structure to module_details and function_details.
2009-01-06 12:56:15 +01:00
Alexandre Julliard
53626dbd93
widl: Add support for generating 32-bit and/or 64-bit code for proxies/clients/servers.
2008-12-26 17:22:25 +01:00
Alexandre Julliard
9ca1382eae
widl: Store the size of a pointer in a variable instead of hardcoding the value of the host compiler.
2008-12-26 17:20:53 +01:00
Alexandre Julliard
0ad28a8592
widl: Make the generated global variables and functions hidden.
2008-12-01 14:39:39 +01:00
Alexandre Julliard
f203263528
widl: Remove unnecessary casts in the generated code.
2008-09-15 19:40:51 +02:00
Alexandre Julliard
654e78aa38
widl: Implemented __finally support in client functions.
2008-09-15 18:03:56 +02:00
Alexandre Julliard
bf011b0f53
widl: Infrastructure for adding a prefix to local variable references.
2008-09-15 16:46:01 +02:00
Alexandre Julliard
3bdaba2a93
widl: Make the exception handling macros more general and use the same code everywhere.
2008-09-15 14:05:26 +02:00
Alexandre Julliard
1218aff94d
widl: Create an explicit structure for the function frame of all generated functions.
...
Store _StubMsg in the frame structure since it's needed for exception handling.
2008-09-15 14:02:26 +02:00
Alexandre Julliard
29e20b869c
widl: Replace write_name() by get_name() to make the code more readable.
2008-08-30 11:15:04 +02:00
Rob Shearman
6f2687a389
widl: Raise RPC_X_SS_IN_NULL_CONTEXT exception for NULL in-only context handles instead of RPC_X_NULL_REF_PTR.
...
Based on a patch by Michael Martin.
2008-08-27 13:21:21 +02:00
Rob Shearman
df0e38c067
widl: Create a list of statements in the whole IDL file, instead of just a list of interfaces.
2008-04-24 22:32:20 +02:00
Rob Shearman
80ab2a7c6d
widl: Move expression functions to a new file, expr.c.
2008-04-22 13:04:58 +02:00
Rob Shearman
c46fcfb356
widl: Automatically add "handle_t IDL_handle" parameter to functions with no explicit handle specified whose containing interface has the explicit_handle attribute.
2008-04-21 13:36:19 +02:00
Rob Shearman
c4ca32bbda
widl: The implicit_handle attribute is allowed with a handle explicitly specified in the function parameters.
...
In that case, that handle is used instead of the implicit handle.
Fix the check for the explicit_handle attribute being specified without
a handle being specified in the function parameters, even though issuing
an error is wrong. (Thanks to Marcus Meissner & Coverity for spotting
that the check didn't do what it was supposed to do.)
2008-04-21 13:36:19 +02:00
Rob Shearman
56e2553eff
widl: Add support for the broadcast and idempotent operation attributes.
2008-04-14 13:39:28 +02:00
Rob Shearman
e4b0266b27
widl: Support non-default calling conventions for non-object functions.
2008-04-11 12:14:55 +02:00
Rob Shearman
a04b150839
widl: Add a function to get the return type of a parsed function.
...
This clarifies its use in code and makes it simpler to change the way
functions are parsed into types.
2008-04-02 19:52:49 +02:00
Rob Shearman
f4a9619364
widl: Fix detection of non-pointer context handles.
...
is_ptr cannot be used because it follows the chain of types into the
type which has the context_handle attribute, which is typically "void *"
and so causes these context handles to be incorrectly detected as
context handles. Instead, we can use is_aliaschain_ptr to follow the
chain of aliases without following pointers and the absence of the
context_handle attribute indicates that it must be present on a type
after following a pointer.
2008-03-27 17:33:06 +01:00
Rob Shearman
59556de0c1
widl: Add support for generic binding handles.
2008-03-27 17:33:02 +01:00
Rob Shearman
4194daf108
widl: Support using context handles as the binding handle in client functions.
2008-03-27 11:42:36 +01:00
Rob Shearman
a5886607d0
widl: Guard the inclusion of unistd.h.
2008-02-15 11:06:25 +01:00
Rob Shearman
c233ba105e
widl: Remove unused headers.
2008-02-15 11:06:21 +01:00
Rob Shearman
661b01f922
widl: Output code for initialising and freeing full pointer translation tables.
2008-02-04 11:49:13 +01:00
Rob Shearman
9741751962
widl: Remove some confusion in how version numbers are packed into an attribute by defining some macros for this purpose.
...
Remove unneeded includes.
2007-12-12 16:03:35 +01:00
Rob Shearman
d458a599eb
widl: Add support for non-basetype return types.
2007-12-11 18:07:05 +01:00
Dan Hipschman
70e12b31b8
widl: Fix ExprEvalRoutines output.
2007-10-29 12:03:26 +01:00
Dan Hipschman
f173addbef
widl: Use new functions need_proxy and need_stub to clean up code and avoid generating unnecessary files.
2007-10-16 11:03:49 +02:00
Dan Hipschman
32a2477ef5
widl: Add a declonly argument to write_type_left.
2007-10-03 10:09:31 +02:00
Dan Hipschman
e36981e116
widl: Factor the output functions.
2007-06-15 12:02:18 +02:00
Dan Hipschman
c0982b42c5
widl: Handle wire_marshal types.
2007-06-14 11:35:44 +02:00
Dan Hipschman
978b4d4f4e
widl: Represent arrays with type_t.
2007-06-06 12:13:16 +02:00
Dan Hipschman
217fc9c0f3
widl: Improve handling of offsets in the type format string.
2007-05-16 13:33:17 +02:00
Dan Hipschman
ef433e2792
widl: Remove var_t's ptr_level field and start write_pointers.
2007-05-11 12:33:27 +02:00
Alexandre Julliard
7ca4e025e7
widl: Don't declare a global binding handle when using an implicit handle.
2007-05-03 14:25:58 +02:00
Dan Hipschman
d676d3be5f
widl: Get rid of the tname field of var_t, simplify code.
2007-05-01 12:37:18 +02:00
Dan Hipschman
e714c89d2f
widl: Add --prefix-* options (take 3).
2007-04-26 15:47:37 +02:00
Alexandre Julliard
94ee8e8fac
widl: Output endpoint information in client and server files.
2007-02-07 17:55:09 +01:00
Alexandre Julliard
6655071a3f
widl: Move initialization of the stub buffer size into write_remoting_arguments().
2007-01-24 20:02:05 +01:00
Alexandre Julliard
eed74e4e4a
widl: Convert variable lists to standard Wine lists.
2007-01-22 14:26:12 +01:00
Alexandre Julliard
58827d026b
widl: Convert function lists to standard Wine lists.
2007-01-22 14:23:08 +01:00
Alexandre Julliard
e262933bdf
widl: Convert interface lists to standard Wine lists.
2007-01-22 14:21:56 +01:00
Alexandre Julliard
0edfacdb6a
widl: Generate proxy/client/server files when requested explicitly even if they are empty.
2007-01-19 12:46:19 +01:00
Dan Hipschman
929a759895
widl: Add an is_ptr function.
2006-09-07 10:21:13 +02:00