Commit graph

838 commits

Author SHA1 Message Date
Huw Davies
b524c55021 widl: Add separate --win32-align and --win64-align options. 2009-08-25 14:56:57 +02:00
Huw Davies
a376b86dfe widl: The alignment written for USER_MARSHAL types is the wire-type alignment. 2009-08-21 15:08:49 +02:00
Huw Davies
e4e21193c0 widl: A structure that contains an embedded interface ptr in an array is a BOGUS_STRUCT. 2009-08-21 14:27:59 +02:00
Huw Davies
bbb3a85c51 widl: Add a structure packing command line option. 2009-08-17 16:48:10 +02:00
Huw Davies
69091ef569 widl: Store the pointer description in the type rather than base type so that it gets re-written when the type is re-written. 2009-08-04 13:50:07 +02:00
Alexandre Julliard
f21eab1101 widl: Take into account the alignment of conformant arrays to pad a structure. 2009-07-13 09:23:06 +02:00
Alexandre Julliard
d375d25d65 widl: An ENUM16 is 32-bit wide in memory. 2009-07-03 13:06:14 +02:00
Alexandre Julliard
f6d2b49145 widl: Take into account structure field alignment when computing offsets. 2009-07-03 13:05:52 +02:00
Alexandre Julliard
064775c9a0 widl: Struct alignment should be the largest alignment of all the struct members. 2009-07-03 13:05:52 +02:00
Alexandre Julliard
fc7681a8ce widl: Skip the existing correlation descriptor on unencapsulated unions when generating a different one. 2009-07-03 13:05:52 +02:00
Alexandre Julliard
c152b4e7d1 include: Add a target address for unwinding for platforms that need it. 2009-06-18 15:17:26 +02:00
Huw Davies
a6181cb3b2 tools/widl: Fix behaviour when both lcid and retval arguments are present. 2009-06-17 17:23:21 +02:00
Huw Davies
7857219ac1 widl: Fix typelib lcid fields to match those produced by midl. 2009-06-09 17:01:15 +02:00
Alexandre Julliard
d88f9e3cd9 widl: Don't make the proxy virtual tables const if they use delegation. 2009-06-09 17:01:07 +02:00
Huw Davies
81b2c9eb85 widl: Add support for the lcid parameter attribute. 2009-06-08 15:39:14 +02:00
Marcus Meissner
6a9e096da9 widl: ifdef some not always present LANG_*. 2009-06-08 13:19:06 +02:00
Alexandre Julliard
f914b57277 widl: Add support for standard target options to allow building the right typelib kind when cross-compiling. 2009-05-21 16:17:50 +02:00
Alexandre Julliard
b3a0833972 widl: Add support for writing 64-bit format typelibs. 2009-05-21 16:17:50 +02:00
Rob Shearman
0a8e3c39a1 widl: Include the version number in the __WIDL__ preprocessor definition. 2009-03-26 16:10:41 +01:00
Rob Shearman
d38cc9acbc widl: Initialise ref pointers to basic and enum types to 0 in generated server code.
Previously it was only done for pointers.
2009-03-23 14:23:19 +01:00
Rob Shearman
48a5db074b widl: Output correct code for freeing of conformant-sized and non-conformant strings.
_StubMsg.pfnFree should be used instead of NdrPointerFree for
conformant-sized strings since the buffer will have been allocated
using NdrAllocate.

Non-conformant strings do not need any freeing since they use a buffer
that is allocated on the stack.
2009-03-23 14:22:41 +01:00
Rob Shearman
12b23fa220 widl: Check the attributes applied to function declarations. 2009-03-23 14:22:23 +01:00
Michael Stefaniuc
efbb4ebf3e widl: Output "LONG" instead of "long" for a 32bit integer.
long is always 32bit in IDL files but that's not true in C.
2009-03-13 11:15:21 +01:00
Rob Shearman
8cdda26897 widl: Returned pointers should default to being unique, not reference. 2009-03-11 10:29:20 +01:00
Rob Shearman
728a738a82 widl: Move type_basic_get_fc to typegen.c and rename it to get_basic_fc.
Move to using type_basic_get_type in other files where appropriate.
2009-03-09 12:14:35 +01:00
Rob Shearman
630b48941f widl: Fix a memory leak in the server/stub code when unmarshalling pointers to strings at the top level.
It is necessary for the first pointer to have an offset to a second
pointer instead of directly to the string type, since the second
pointer frees the memory for the string.
2009-03-09 12:13:53 +01:00
Rob Shearman
f170f9b5d5 widl: Output server code for freeing returned types. 2009-03-09 12:12:57 +01:00
Rob Shearman
23673ca373 widl: Determine pointer fc at generation time instead of at parse time.
Avoid changing the details of a pointer once created.
Properly determine the pointer type for arrays.
2009-03-09 12:09:39 +01:00
Rob Shearman
f8e36ab4ab widl: Consolidate non-simple pointer writing into one function. 2009-03-09 12:08:57 +01:00
Rob Shearman
a8238dd142 widl: Pass var attrs into write_no_repeat_pointer_descriptions and use them for the string check. 2009-03-05 18:39:02 +01:00
Rob Shearman
9d878f220b widl: Add coclass and module types to the global namespace. 2009-03-05 18:39:02 +01:00
Rob Shearman
13c3967522 widl: Move type_new_enum, type_new_struct, type_new_encapsulated_union and type_new_unencapsulated_union to typetree.c. 2009-03-05 18:39:02 +01:00
Rob Shearman
7c711d0736 widl: Allow enum and union tags to be used without being defined. 2009-03-05 18:39:02 +01:00
Rob Shearman
4866026d7f widl: Move the pointer referent, array element, function return type and interface inheritance properties from type_t to details structures for the appropriate types. 2009-03-05 18:39:02 +01:00
Rob Shearman
277e0617d5 widl: Store the abstract identifier of the type in type object instead of an NDR format character. 2009-03-05 18:39:02 +01:00
Rob Shearman
b7dd838136 widl: Remove the single keyword and type.
It isn't valid in MIDL or the FreeDCE IDL compiler, nor does it appear
in the DCE/RPC or C99 specs.
2009-03-05 18:39:02 +01:00
Rob Shearman
319a7a102e widl: Implement a more abstract way of representing basic types. 2009-03-05 18:38:45 +01:00
Rob Shearman
0be9d2595d widl: Fix get_explicit_generic_handle_type and is_context_handle to detect attributes set on typedefs other than the first.
Change get_explicit_handle_var to use accessors for the type structure.
2009-03-05 16:34:00 +01:00
Rob Shearman
7e08ff27c2 widl: Move declarray property to array_details.
Invert the property since an array being declared as a pointer is more
surprising than an array being declared as an array.

Provide an accessor, type_array_is_decl_as_ptr.
2009-03-05 16:34:00 +01:00
Rob Shearman
f27261e525 widl: Only classify top-level pointers as ref pointers if they don't have any other pointer attributes. 2009-02-25 11:54:31 +01:00
Rob Shearman
a93f531c21 widl: Ignore pointer attributes applied to interface pointers.
Print a warning if a pointer attribute is specified since the
generated code won't do what the developer expects.
2009-02-25 11:54:26 +01:00
Rob Shearman
2c6e611c8a widl: Add typegen_detect_type and use it.
Add typegen_detect_type for detecting types useful during
client/server/proxy code generation.
2009-02-23 15:25:57 +01:00
Rob Shearman
af0800729b widl: Use type_get_type to determine the types of types during C client, server and proxy code generation. 2009-02-23 15:25:53 +01:00
Rob Shearman
28a2c06cf7 widl: Use type_get_type to determine the types of types during typelib generation. 2009-02-23 15:25:47 +01:00
Rob Shearman
0f7f7922ba widl: Use type_get_type to determine the types of types during parsing and checking. 2009-02-23 15:25:44 +01:00
Rob Shearman
d854f32283 widl: Use type_get_type to determine the types of types during header writing. 2009-02-23 15:25: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
Rob Shearman
ba91ee607c widl: Don't directly access the type structure when determining the types in expressions.
Use type_get_type and friends instead.
2009-02-23 15:25:10 +01:00
Rob Shearman
944f22db80 widl: Fix typos in write_remoting_arg which caused ref pointers to unions to not result in direct calls to NonEncapsulatedUnion/EncapsulatedUnion functions. 2009-02-19 12:51:40 +01:00
Rob Shearman
04484a4013 widl: Call Pointer function for freeing non-conformant strings and for all phases for returned non-conformant strings, as is done for conformant strings.
Also call Pointer functions for any string that isn't a reference pointer.
2009-02-16 15:35:14 +01:00