Commit Graph

882 Commits

Author SHA1 Message Date
Alexandre Julliard
fbef7217b9 makefiles: Remove the no longer needed explicit dependencies for bison files. 2010-03-16 13:28:24 +01:00
Alexandre Julliard
bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01: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
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
Rob Shearman
df853f8ed2 widl: error_status_t isn't an allowed conformance type.
The FC code requires more than 4 bits to represent it and the
correlation descriptor and union formats only allow 4 bits to
represent the type referred to.
2010-03-16 11:36:41 +01:00
Rob Shearman
5b533c1845 widl: Pass current_structure into write_conf_or_var_desc in write_ip_tfs.
This allows write_conf_or_var_desc to have the context enabling it to
write out an appropriate correlation descriptor when iid_is is used
from within a structure.
2010-03-16 11:36:36 +01:00
Rob Shearman
1d1d49b6ab widl: Use typegen_detect_type to determine which types should be written for the pointer description in write_struct_tfs.
Otherwise extra pointers for user types could be written.
2010-03-16 11:36:12 +01:00
Rob Shearman
06e7eb5c98 widl: Merge write_typeformatstring_var and write_embedded_types into one function, write_type_tfs. 2010-03-16 11:36:05 +01:00
Rob Shearman
2fd6be54be widl: Don't use the return value of write_embedded_types to determine whether a type contains pointers or not.
It isn't correct in all situations, so type_has_pointer has to be used
anyway so using the return value of write_embedded_types just clutters
the code.
2010-03-16 11:35:36 +01:00
Rob Shearman
484fe1cff3 widl: Write pointers in write_typeformatstring_var using write_pointer_tfs.
Avoid duplicating the pointer writing code.
2010-03-16 11:33:12 +01:00
Rob Shearman
7a69fcabac widl: Simplify write_typeformatstring_var.
The check for whether a pointer is the last one is redundant since
typegen_detect_type does a stricter check on the ref type. Replace one
other instance of last_ptr with a more readable equivalent.
2010-03-16 11:33:04 +01:00
Rob Shearman
08126d7483 widl: Make write_pointer_tfs more readable.
Change write_pointer_tfs to rely on the detected type of the type to
determine when to write a simple pointer rather than relying on
typestring_offset not being set anywhere else.
2010-03-16 11:32:58 +01:00
Rob Shearman
5d985a8028 widl: Remove some unused functions, definitions and types. 2010-03-16 11:32:53 +01:00
Gerald Pfeifer
844e22093e widl: Avoid two warnings. 2010-03-01 14:28:49 +01:00
Alexandre Julliard
9644d1dcd7 makefiles: Generate a general catch-all dependency on .tab.h files to replace the manually maintained ones. 2010-02-08 20:58:00 +01:00
Rob Shearman
39b3a57b3d widl: Fix symbol was not declared and using plain integer as NULL pointer sparse warnings. 2010-01-22 12:17:56 +01:00
Rob Shearman
d9b83e8bb2 widl: Add support for character constants in expressions. 2010-01-19 12:43:31 +01:00
Paul Vriens
caaf027e55 widl: Fix size parameter for xrealloc (Coccinelle). 2010-01-11 11:34:32 -06:00
Rob Shearman
6ed98b16a1 widl: Detect interfaces that inherit from another interface as objects. 2009-11-29 16:37:07 +01:00
Alexandre Julliard
98de3950b1 widl: Use INT64 instead of __int64 in generated headers. 2009-11-21 14:31:46 +01:00
Nicolas Le Cam
ca38b8b951 widl: Don't generate memset calls with zero length parameter. 2009-11-19 11:35:50 +01:00
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