Commit Graph

3202 Commits

Author SHA1 Message Date
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
Francois Gouget 96848a0605 Remove spaces before '\n's. 2009-03-09 12:05:58 +01:00
Francois Gouget 6724655a57 fnt2bdf: Remove spaces before '\n's. 2009-03-09 12:05:35 +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
Alexandre Julliard 49d2c208d8 winebuild: Ignore 16-bit absolute exports when checking for undefined symbols. 2009-03-04 14:08:35 +01:00
Alexandre Julliard a82ce66048 winebuild: Support the --main-module option for stand-alone 16-bit modules. 2009-03-04 14:08:23 +01:00
Alexandre Julliard fda642d075 winebuild: Don't output the relay table if no entry point needs it. 2009-03-04 14:07:49 +01:00
Christian Costa 0faa6ab7da wine.inf: Use 32-bit version of MCI DirectShow driver. 2009-03-04 11:48:12 +01:00
Alexandre Julliard b2575ebab6 winebuild: Don't prefix local symbols with an underscore. 2009-02-27 17:43:19 +01:00
Alexandre Julliard 5599ac22c7 winebuild: Add support for generating stand-alone 16-bit modules.
This is done by wrapping them inside an empty 32-bit module.
2009-02-26 13:22:47 +01:00
Alexandre Julliard ddc8941d1c winebuild: Allow the module entry point to be NULL. 2009-02-26 12:38:37 +01:00
Alexandre Julliard 445047a97e winebuild: Make the 16-bit DOS header a local symbol. 2009-02-26 12:38:37 +01:00
Alexandre Julliard 65c6ca5947 programs: Get rid of the remaining binary wrappers, they break out-of-tree builds. 2009-02-25 16:06:22 +01:00
Francois Gouget 786a2cda64 winemaker: Fix handling of the global settings specified on the command line.
Now that we no longer have a global Make.rules file, include them in 
each Makefile.
2009-02-25 12:49:01 +01:00
Francois Gouget d4fddfb4bc winemaker: Fix invalid usage of {open,close}dir() in fix_file_and_directory_names(). .
Reuse our caching mechanism (get_directory_contents()), but clear the 
cache if we have modified a directory's content.
2009-02-25 12:48:53 +01:00
Vincent Povirk a2ca48127b wine.inf: Create a fake mapi32.dll. 2009-02-25 12:37:05 +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
Paul Bryan Roberts 3e50aaf201 makedep: Let umask decide mode for makefiles. 2009-02-24 16:57:27 +01:00
Francois Gouget 44eb0090d7 make_makefiles: Add 'use strict'. 2009-02-24 16:57:26 +01:00
Alexandre Julliard f0daa7e9b0 winegcc: Allow creating an executable with an arbitrary extension. 2009-02-24 16:57:25 +01:00
Alexandre Julliard a6b91685b7 programs: Only create executable wrappers for programs that get installed in the bin directory. 2009-02-24 16:56:57 +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
Alexandre Julliard 2274fc1ade makefiles: Do not install progman, uninstaller and winebrowser in the bin directory. 2009-02-17 12:46:08 +01:00
Alexandre Julliard cf63bb880e wrc: Print better error messages for functions that set errno. 2009-02-16 15:35:15 +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 8f87eddd39 widl: Only duplicate a type if absolutely necessary.
Document how much of hack duplicating a type in order to change its
pointer type is.
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
Michael Stefaniuc 2b066327ec tools: Remove unused alloca.h include. 2009-02-13 13:00:02 +01:00