Commit Graph

389 Commits (fa2b886d1d431f35c554d55f26e6f21653ffc5db)

Author SHA1 Message Date
Alexandre Julliard c70ef62958 widl: Make output unique pointers into object pointers in object interfaces. 2011-06-14 12:24:00 +02:00
Alexandre Julliard 351c6ca5e4 widl: If possible, use the interface name as prefix for the expr eval functions. 2011-06-13 23:59:04 +02:00
Alexandre Julliard 717f2bebd8 widl: Use the context handle description instead of the pointer for arguments that are pointer to handles. 2011-06-13 20:09:47 +02:00
Alexandre Julliard 3a709fa5bb widl: Fix a typo in updating the type format offset for strings. 2011-06-09 13:18:58 +02:00
Alexandre Julliard 211ed7be48 widl: Fix packing of parameter structures for arguments larger than a pointer. 2011-06-09 12:08:48 +02:00
Alexandre Julliard 59171bd9f5 widl: Pass a structure containing the parameters to NdrClientCall instead of accessing the stack. 2011-06-09 12:08:48 +02:00
Alexandre Julliard 9f99d74a20 widl: Add a helper function for generating a stub that uses NdrClientCall. 2011-06-09 12:08:48 +02:00
Alexandre Julliard 3147545541 widl: Don't allow floating point parameters for interpreted functions. 2011-06-08 14:06:22 +02:00
Alexandre Julliard 36ee028f49 widl: Don't generate old-style interpreted stubs on 64-bit. 2011-06-08 12:14:47 +02:00
Alexandre Julliard e4a0483529 widl: Set a correct fpu parameter mask on 64-bit. 2011-06-08 11:51:27 +02:00
Alexandre Julliard 01b44d1317 widl: Generate thunks for callas functions using interpreted stubs. 2011-06-07 12:11:50 +02:00
Alexandre Julliard b724138bd9 widl: Add support for new-style interpreted stubs in the proc format strings. 2011-06-06 21:49:22 +02:00
Alexandre Julliard 4fe88648cb widl: Always use signed types in parameter formats.
Native marshaller doesn't support the unsigned ones.
2011-06-03 12:26:31 +02:00
Alexandre Julliard 9128dea410 widl: Use the pointer offset for arrays declared as pointer in the proc format strings of interpreted functions. 2011-06-02 16:22:43 +02:00
Alexandre Julliard 11416a20c9 widl: Generate function headers in the proc format string for interpreted functions. 2011-06-02 16:22:43 +02:00
Alexandre Julliard 6ae510050b widl: Add a -O option to specify stub style. 2011-06-02 16:22:42 +02:00
Alexandre Julliard 2db27725bf widl: Don't allow unions passed by value or floating point returns for interpreted functions. 2011-06-02 16:21:52 +02:00
Alexandre Julliard 82d3ea86cf widl: Always update the type format offset in write_type_tfs and not in callers. 2011-06-02 14:42:13 +02:00
Alexandre Julliard 5e67dcd10f widl: Fix representation of context handles in the format string. 2011-06-02 14:41:55 +02:00
Alexandre Julliard 0486140c3d widl: Don't output callback conformances for non-interpreted functions.
The Windows marshaller calls the callback with an invalid stack.
2011-05-28 13:38:25 +02:00
Alexandre Julliard c2406be6d4 widl: Add support for top-level conformances. 2011-05-26 21:58:59 +02:00
Alexandre Julliard d8059aee3a widl: Move the check for already processed types into the type-specific functions.
Fixed a couple of instances where types were printed redundantly or
incorrectly reused.
2011-05-26 19:45:00 +02:00
Alexandre Julliard 52cb5b20f7 widl: Set the correct stack size for parameters in the proc format string. 2011-05-25 20:32:12 +02:00
Alexandre Julliard 96a5def678 widl: Also compute buffer size for non-ref pointers. 2011-05-25 00:22:40 +02:00
Alexandre Julliard 8f156e266e widl: Return the buffer size of the object pointed by a ref pointer for all types. 2011-05-25 00:07:15 +02:00
Alexandre Julliard 2099d94001 widl: Call marshalling routines directly also for user-marshalled types accessed through a ref pointer. 2011-05-24 23:10:54 +02:00
Alexandre Julliard bf9d2904dc widl: Don't call the buffer sizer routine when the size is known already. 2011-05-24 22:47:07 +02:00
Alexandre Julliard 050f6f38d5 widl: Only return a buffer size for fixed-size arrays. 2011-05-24 22:30:39 +02:00
Huw Davies 09dd285d8c widl: Initialise [out] only conformant arrays.
This isn't strictly what midl does, however VB relies on the array in
IEnumVARIANT_Next() being zero initialised.  Native uses stubless
proxies, where the initialisation is performed in NdrStubCall2().
2011-03-03 17:47:14 +01:00
Huw Davies d8d963a9c3 widl: Don't dereference if the referenced type is a user type. 2011-02-03 16:24:55 +01:00
Huw Davies 5ae2b0f219 widl: Initialise [out] only parameters if they are user types or interface pointers. 2011-02-02 18:13:34 +01:00
Alexandre Julliard 3593b65935 widl: Output a format string table and server info structure for servers. 2010-10-22 20:49:45 +02:00
Alexandre Julliard a638c663b5 widl: Add a separate function to write the proc format string for a function. 2010-10-21 21:36:45 +02:00
Alexandre Julliard 63d5217fd6 widl: Output some comments for proc format strings. 2010-10-21 21:36:45 +02:00
Austin English b94bc5604a widl: Fix compiler warnings on clang. 2010-09-18 13:23:29 +02:00
Gerald Pfeifer 194fd8744a widl: Simplify write_struct_tfs and remove an unused variable. 2010-05-03 15:40:58 +02:00
Gerald Pfeifer ea6590af16 widl: Remove variable size which is not really used from print_phase_basetype. 2010-04-26 06:59:22 -05:00
Alexandre Julliard 1707c1c5cb widl: Alignment for complex arrays and structs is the buffer alignment, not the memory one. 2010-04-05 20:07:22 +02:00
Alexandre Julliard cb6a225481 widl: Add a type_memsize_and_alignment function to make it explicit where the alignment is truly needed. 2010-04-05 20:06:22 +02:00
Alexandre Julliard a83563aa40 widl: Long constants must be 32-bit on all platforms. 2010-03-26 11:42:28 +01:00
Rob Shearman 0d88ba9e01 widl: Check whether an expression is a constant one before assuming it is a toplevel conformance when writing conformance or variance descriptors. 2010-03-23 17:29:12 +01:00
Rob Shearman c65d16e9d5 widl: Make use of string_of_type in write_conf_or_var_desc.
This allows the code to not have to track the operator type twice.
2010-03-23 17:29:05 +01:00
Rob Shearman 5e0030b4cb widl: Remove the current_func variable.
It's only set, never read from.
2010-03-23 17:28:59 +01:00
Rob Shearman 096b3cd090 widl: Fix writing of MaxCount expressions for conformant strings declared using array form. 2010-03-23 17:27:33 +01:00
Rob Shearman 0ec617e01d widl: Convert assign_stub_out_args to using typegen_detect_type and fix the non-conformant array case. 2010-03-23 17:27:04 +01:00
Rob Shearman f6b53be0d9 widl: Don't pre-calculate buffer size for arrays that aren't treated as reference pointers. 2010-03-23 17:26:22 +01:00
Rob Shearman fd96c54641 widl: Simplify write_parameter_conf_or_var_exprs by making use of typegen_detect_type.
Remove the difficult manual walking of the alias tree and make the
code easier to read and less likely to break if a new type is added.
2010-03-16 11:41:21 +01:00
Rob Shearman 82ab9443b8 widl: Clean up array case in write_remoting_arg.
Use a switch statement instead of multiple if statements and
explicitly write out the fixed array cases.
2010-03-16 11:41:14 +01:00
Rob Shearman 0e6ad1fa85 widl: Remove some FIXME comments and replace them with comments explaining why the current behaviour is correct. 2010-03-16 11:40:20 +01:00
Rob Shearman 9aad144755 widl: Fix the writing of expressions in un-typedef'd structures by using write_type_left to write out the type, which adds the "struct ..." if necessary.
Also improve the type comparison code to not crash on unnamed
structures (although further changes need to be made to fix the output
in this case) and make it more efficient by first doing a comparison
on the values of the type pointers.
2010-03-16 11:40:10 +01:00