Commit Graph

858 Commits

Author SHA1 Message Date
Francois Gouget 61d0d121d0 widl: Add a trailing '\n' to an error_loc() call. 2009-11-16 12:43:06 +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 0228008bb8 widl: Allow pointers, type-qualifiers and other more complicated constructions in sizeof and cast expressions. 2009-11-09 20:42:57 +01:00
Rob Shearman 97d5f3401d widl: Add support for varargs functions. 2009-11-09 20:42:27 +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 4383d47ef4 widl: Rename set_type to declare_var.
Make it return the var_t object rather than making the callers dig it
out, and make it take the attributes list so that callers don't have
to set it.
2009-11-09 20:35:56 +01:00
Rob Shearman 3885dd778a widl: Check for [string] attribute being applied when the elements are ranged.
The range will not be verified in and misconception could turn into a
security problem.

Move [string] attribute validation from reg_typedefs to set_type.
2009-11-09 20:35:13 +01:00
Rob Shearman 2b3659f326 widl: Implement [range] attribute. 2009-11-09 20:34:17 +01:00
Rob Shearman c367624534 widl: Enhance the IDL grammar to support unnamed arguments to functions. 2009-11-09 20:34:11 +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
Huw Davies ab32b3df4d widl: Add support for parsing the annotation attribute. 2009-10-26 14:05:29 +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
Alexandre Julliard a4e22d4928 tools: Build all the tools with -D__WINESRC__. 2009-10-05 14:55:25 +02:00
André Hentschel 1d0365da95 widl: Add ARM support. 2009-09-28 13:31:32 +02:00
Henri Verbeet a7b0a1cd4a widl: Generate proper prototypes for function declarations without arguments. 2009-09-09 12:06:51 +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
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