Commit Graph

330 Commits

Author SHA1 Message Date
Nicolas Le Cam
ca38b8b951 widl: Don't generate memset calls with zero length parameter. 2009-11-19 11:35:50 +01:00
Rob Shearman
8e750b0ef6 widl: Include range types in constant BufferLength calculation for server function. 2009-11-12 14:18:18 +01:00
Rob Shearman
cdec0fe485 widl: Add support for bit-fields in non-remote structures. 2009-11-09 20:42:00 +01:00
Rob Shearman
4339f9edfb widl: Implement __int3264 keyword. 2009-11-09 20:36:19 +01:00
Rob Shearman
2b3659f326 widl: Implement [range] attribute. 2009-11-09 20:34:17 +01:00
Rob Shearman
d59ff2007d Revert "widl: A structure that contains an embedded interface ptr in an array is a BOGUS_STRUCT.".
This reverts commit e4e21193c0.

The IDBProperties test shows that this special case is not needed to
for these types to be marshalled correctly.
2009-11-09 20:33:12 +01:00
Alexandre Julliard
d527ca3382 widl: Fix the prototype of generated exception filters. 2009-10-22 13:04:09 +02:00
Alexandre Julliard
c77d49b4c3 widl: Write a proper type description for pointer array elements. 2009-10-16 20:56:41 +02:00
Alexandre Julliard
8cc12dc339 widl: Arrays of pointers are always complex on 64-bit. 2009-10-16 20:56:15 +02:00
Alexandre Julliard
942ec30a4d widl: Use write_pointer_description_offsets() to output no_repeat descriptors for consistency. 2009-10-16 15:32:22 +02:00
Alexandre Julliard
916461d926 widl: Output a pointer description for arrays declared as pointers. 2009-10-16 15:32:05 +02:00
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
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
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
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
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
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
fb934347b4 widl: Use type_get_type to determine the types during statement enumeration. 2009-02-23 15:25:20 +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
Rob Shearman
e054c52cd1 widl: Call Struct and Union phase functions for reference pointers to structures and unions.
It's slightly quicker than calling pointer phase functions and does
the same job.
2009-02-16 15:35:14 +01:00
Rob Shearman
47c82ac472 widl: Fix marshalling/unmarshalling of enum arguments.
The generated code should use NdrSimpleType{Marshall,Unmarshall} instead
of direct buffer access, since the memory size isn't always equal to
the size on the wire and extra checks.
2009-02-16 15:35:14 +01:00
Alexandre Julliard
20e4cb98a7 widl: Change write_type_def_or_decl and write_type_decl to take an argument name instead of a printf format. 2009-02-10 12:32:36 +01:00
Alexandre Julliard
25624b677d widl: Print all NdrFcShort parameters as shorts to avoid warnings for negative values. 2009-02-06 14:54:03 +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
Alexandre Julliard
844c8a1804 widl: Add a dummy reference to the filter function to avoid a warning. 2009-02-06 14:54:02 +01:00
Alexandre Julliard
a0fb6246c0 widl: Avoid using GetExceptionCode outside of an exception handler. 2009-02-06 14:54:02 +01:00
Alexandre Julliard
d02f9d1804 widl: We need an offset after the correlation descriptor for unencapsulated unions. 2009-01-23 16:47:51 +01:00
Rob Shearman
bdb1321544 widl: Add a new function, type_alias_get_aliasee to wrap the retrieval of the type that the alias aliases. 2009-01-19 13:36:26 +01:00
Michael Karcher
f80e4aa9d2 widl: Don't forget conformance info on [iid_is] void pointers. 2009-01-12 16:53:18 +01:00
Michael Stefaniuc
9192297345 widl: Move "inline" right after the storage class specifier. 2009-01-10 17:43:11 +01:00