95 Commits

Author SHA1 Message Date
Alexandre Julliard
4c41dd5fca widl: Duplicate the exception handling code between 32-bit and 64-bit. 2010-10-22 19:44:00 +02:00
Alexandre Julliard
226e963429 widl: Use get_size_procformatstring_func() for clients too instead of duplicating the code. 2010-10-21 21:35:21 +02:00
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