Commit Graph

645 Commits (df0e38c0670a40eb5892e53ffb506bb1f4bc33ba)

Author SHA1 Message Date
Dan Hipschman 8d15820f79 widl: Handle pointers to conformant arrays (e.g., "[size_is(, n)] int **p; "). 2007-11-05 13:24:37 +01:00
Dan Hipschman ea7ab4da66 widl: Add a --local-stubs option. 2007-10-31 12:39:54 +01:00
Paul Millar 17e934669e widl: Add support for overriding recorded time, allowing binary-identical compilation. 2007-10-29 12:08:10 +01:00
Dan Hipschman 70e12b31b8 widl: Fix ExprEvalRoutines output. 2007-10-29 12:03:26 +01:00
Dan Hipschman 9825ac7a1a widl: Fix a crash in compare_expr. 2007-10-25 12:54:57 +02:00
Dan Hipschman f974facf5a widl: Allow void pointers with iid_is attributes. 2007-10-25 12:54:52 +02:00
Dan Hipschman 1aab1072c1 widl: Use error_loc instead of yyerror. 2007-10-24 13:51:58 +02:00
Dan Hipschman 9051918976 widl: parser_error must append a newline, so write a new function, error_loc. 2007-10-24 13:51:48 +02:00
Dan Hipschman fd6a276f4c widl: Update the manpage. 2007-10-22 13:48:03 +02:00
Dan Hipschman ff8930f2bf widl: Fix problems with variable-size user types. 2007-10-22 13:47:56 +02:00
Francois Gouget 4152085af1 widl: Modify generic_msg() to behave like all the other Wine tracing methods, that is to not append a '\n' to the message. 2007-10-19 11:46:01 +02:00
Francois Gouget 599c74296c widl: Add the trailing '\n' to an error message. 2007-10-19 11:45:52 +02:00
Francois Gouget 490841ee06 widl: Remove internal_error() as it is unused. 2007-10-19 11:45:47 +02:00
Dan Hipschman 1d0f9378bc widl: Detect conformant arrays of user types correctly. 2007-10-18 12:09:23 +02:00
Dan Hipschman 4fb7a0e40e widl: Remove printf format strings that aren't really format strings. 2007-10-18 12:09:14 +02:00
Dan Hipschman 40e90aae25 widl: Generate dlldata files. 2007-10-18 12:09:02 +02:00
Dan Hipschman 67c634c203 widl: Improve file cleanup when errors occur. 2007-10-18 12:07:30 +02:00
Dan Hipschman ebfbec6e5c widl: Output the correct value for TableSize in ProxyFileInfo. 2007-10-16 12:48:17 +02:00
Dan Hipschman f173addbef widl: Use new functions need_proxy and need_stub to clean up code and avoid generating unnecessary files. 2007-10-16 11:03:49 +02:00
Gerald Pfeifer a7c6a27696 widl: Fix build failure in parser.y. 2007-10-15 12:05:06 +02:00
Dan Hipschman acfde97b9e rpcrt4, widl: Make pointer layouts compatible with windows; fix conformant array tests. 2007-10-11 16:24:28 +02:00
Dan Hipschman 2226ddcadf widl: Keep track of every allocated type_t to simplify set_all_tfswrite. 2007-10-09 17:52:45 +02:00
Dan Hipschman 24ce74e96a widl: Implement pointer_default functionality. 2007-10-09 17:52:45 +02:00
Dan Hipschman cfa5457270 widl: Allow quoted UUIDs. 2007-10-09 17:52:45 +02:00
Dan Hipschman d00ff2ed58 widl: Make structs containing user types bogus; fix square_test_us test failure. 2007-10-09 11:39:26 +02:00
Dan Hipschman 9650cf9bdb widl: Correct default pointers. 2007-10-03 10:09:56 +02:00
Dan Hipschman 304852f97e widl: Write types in the format string comments. 2007-10-03 10:09:43 +02:00
Dan Hipschman 32a2477ef5 widl: Add a declonly argument to write_type_left. 2007-10-03 10:09:31 +02:00
Dan Hipschman 4c8c425f42 widl: Add newlines to error messages that are missing them. 2007-10-03 10:08:47 +02:00
Rob Shearman 2055e636ae widl: Generate client and server code for using context handles. 2007-09-28 10:59:49 +02:00
Rob Shearman a2fedc3769 widl: Write prototypes for context handle rundown rountines into generated header files. 2007-09-28 10:59:32 +02:00
Dan Hipschman cbd75d3ace widl: Fix array alignment bug. 2007-09-27 11:07:15 +02:00
Dan Hipschman 723c8bacfa widl: Fix string codes in pointer descriptions. 2007-09-27 10:09:38 +02:00
Dan Hipschman 347f2a2da2 widl: Fix top-level conformant arrays with pointer attributes. 2007-09-27 10:09:32 +02:00
Dan Hipschman bb3275ce97 widl: Clean up write_conf_or_var_desc with string_of_type. 2007-09-25 11:40:29 +02:00
Dan Hipschman 767a1f26f6 widl: Handle top-level conformance for complex arrays. 2007-09-20 14:27:29 +02:00
Dan Hipschman dbfabf68a2 widl: Respect pointer attributes better. 2007-09-20 14:27:25 +02:00
Dan Hipschman 33da66d6c8 widl: Set the pointer description offset to zero if there are no pointers. 2007-09-20 14:27:22 +02:00
Dan Hipschman 132f06cd48 widl: Implement complex arrays. 2007-09-19 11:39:09 +02:00
Dan Hipschman 6eb07cb100 widl: Handle all buffer sizes. 2007-09-19 11:38:53 +02:00
Dan Hipschman 8df79f0c99 widl: Implement pointer descriptions for complex structures. 2007-09-19 11:38:28 +02:00
Dan Hipschman b16de39417 widl: Fix alignment comments. 2007-09-19 11:38:16 +02:00
Rob Shearman aa649542e2 widl: None of the non-fixed arrays have fixed sizes, so don't set the alignment to anything and return a size of 0 from get_required_buffer_size_type. 2007-09-18 10:48:06 +02:00
Rob Shearman cf983bf15d widl: Missing size_is or length_is attributes should generate 0xffffffff for the correlation description. 2007-09-18 10:47:58 +02:00
Rob Shearman 9a28119dd8 widl: Fix write_string_tfs for strings declared as arrays.
The immediate type will be FC_*ARRAY, so rtype needs to use the referred 
type to get the base type.

Also update the typeformat-string offset of the type.
2007-09-17 12:57:08 +02:00
Rob Shearman f7fbfc7da5 widl: Add support for strings embedded in structures. 2007-09-17 12:57:06 +02:00
Rob Shearman b7618f91d7 widl: Fix detection of complex arrays. 2007-09-17 12:57:03 +02:00
Rob Shearman de7220e82d widl: Initialise cval in make_expr. 2007-09-17 12:57:00 +02:00
Dan Hipschman 5e84eb9a47 widl: Add padding to the end of complex structures. 2007-09-14 14:43:13 +02:00
Dan Hipschman ce4055c573 widl: Fix an unused parameter warning on write_conf_or_var_desc. 2007-09-13 12:44:18 +02:00
Dan Hipschman 177346f1b6 widl: Add calls to NdrFooFree for more types in server stubs. 2007-09-13 12:44:12 +02:00
Dan Hipschman 7deb62505c widl: Use the correct functions for interface pointers in stubs. 2007-09-13 12:44:07 +02:00
Dan Hipschman 9d2c6e78f2 widl: Output UUID files compatible with older Visual C++ and MinGW. 2007-09-11 11:49:23 +02:00
Dan Hipschman ba54c455fb widl: Allow size_is on strings. 2007-09-10 15:29:46 +02:00
Dan Hipschman 62fb623e14 widl: Implement NDR for struct field alignment. 2007-09-10 15:29:46 +02:00
Dan Hipschman 3d036da6d3 widl: Fix top-level and callback conformances. 2007-09-10 15:29:46 +02:00
Dmitry Timoshkov c6747d57ed widl: Constify some data. 2007-08-30 11:48:42 +02:00
Dan Hipschman 7d73123dbc widl: Handle the size_is attribute on pointers. 2007-08-30 11:47:38 +02:00
Dan Hipschman d82b384859 widl: Handle LPSTR in typelibs. 2007-08-28 11:56:30 +02:00
Jacek Caban ae0beb224b widl: Reorder switch cases to keep alphabetical order. 2007-07-30 14:12:45 +02:00
Jacek Caban 8fd9716985 widl: Added displaybind attribute handling. 2007-07-30 14:12:45 +02:00
Jacek Caban 1ad39a38e5 widl: Added nonbrowsable attribute handling. 2007-07-30 14:12:45 +02:00
Jacek Caban 4413e8c6f8 widl: Use correct bytes in write_value. 2007-07-30 14:12:45 +02:00
Alexandre Julliard 40dda77c52 widl: Added support for floating-point constants. 2007-07-17 14:12:18 +02:00
Dan Hipschman 46222aee6e widl: Allow enums as union switch types. 2007-06-26 11:59:53 +02:00
Dan Hipschman 704f2868ed widl: Fix crash dealing with anonymous unions. 2007-06-26 11:59:15 +02:00
Dan Hipschman 512c36cae6 widl: Get simple enums working. 2007-06-26 11:59:02 +02:00
Dan Hipschman ab22b4b3d4 widl: Check for user types when calculating buffer size. 2007-06-26 11:58:48 +02:00
Dan Hipschman fcebe48cad widl: Check for interface pointers in pointer handling. 2007-06-26 11:58:22 +02:00
Dan Hipschman bf5e46a60a widl: Fix warnings about unused function parameters. 2007-06-21 13:11:03 +02:00
Dan Hipschman 4e8c8d03e5 widl: Add tests for arrays of pointers. 2007-06-21 13:10:46 +02:00
Rob Shearman 4050c5f035 widl: Always write out pointers if the structure is a pointer structure. Pointer are optional for conformant varying structures. 2007-06-20 13:08:26 +02:00
Rob Shearman 4292776b83 widl: Write out embedded pointers for the element type when writing out arrays. 2007-06-20 13:08:22 +02:00
Rob Shearman be4cdefbf3 widl: Fix detection of structures with non-conformant strings. 2007-06-20 13:07:16 +02:00
Rob Shearman 6ad13f3ed1 widl: Implement pointer descriptions for all embedded pointer types. 2007-06-20 13:07:07 +02:00
Dan Hipschman 58dea5c9a8 widl: Fix a write_parameters_init bug. 2007-06-15 12:02:58 +02:00
Dan Hipschman e36981e116 widl: Factor the output functions. 2007-06-15 12:02:18 +02:00
Dan Hipschman e4679b0c13 widl: Handle encapsulated unions. 2007-06-15 11:57:53 +02:00
Dan Hipschman 8709a06028 widl: Handle embedded interface pointers. 2007-06-15 11:56:17 +02:00
Alexandre Julliard 9821acf5d2 widl: Add typecasts for user marshalling routines to avoid compiler warnings. 2007-06-14 12:10:45 +02:00
Dan Hipschman 3325020636 widl: Handle wire_marshal pointer attributes. 2007-06-14 11:36:05 +02:00
Dan Hipschman c0982b42c5 widl: Handle wire_marshal types. 2007-06-14 11:35:44 +02:00
Dan Hipschman 88c8128704 widl: Simplify correlation descriptor code. 2007-06-12 11:13:30 +02:00
Dan Hipschman 4e22899e13 widl: Fix incomplete struct/union typedef bug. 2007-06-08 11:57:15 +02:00
Dan Hipschman b186c4dd0e widl: Check for NULL in set_tfswrite. 2007-06-08 11:57:05 +02:00
Alexandre Julliard 56c6dbee9b widl: Get rid of the SIGSEGV handler, this only makes things harder to debug. 2007-06-07 13:00:09 +02:00
Misha Koshelev 21fcb00af8 widl: Add support for vararg attribute. 2007-06-07 13:00:09 +02:00
Dan Hipschman 8f689ee023 widl: Implement conformant structure handling. 2007-06-06 12:13:35 +02:00
Dan Hipschman 978b4d4f4e widl: Represent arrays with type_t. 2007-06-06 12:13:16 +02:00
Dan Hipschman f5baddf88a widl: Replace get_name with a field reference. 2007-06-06 12:12:36 +02:00
Rob Shearman 5ca386755e widl: Set current_structure when writing out structure members to
ensure the conformance/variance calculation function can find the
necessary fields in the structures.
2007-05-31 12:25:18 +02:00
Rob Shearman 36fd85f4cc widl: RPC_FC_BIND_PRIMITIVE is a base type so reverse an if statement
that caused string_of_type to fail and the RPC_FC_BIND_PRIMITIVE code
not to be executed.
2007-05-31 12:25:09 +02:00
Rob Shearman f198dcf09b widl: A structure with variance, but without conformance should be a complex struct instead of a conformant, varying struct. 2007-05-31 12:25:03 +02:00
Dan Hipschman 8f7a5d63ec widl: Allow types that reference themselves. 2007-05-25 19:36:12 +02:00
Dan Hipschman 9c30da77ba widl: Shrink type_t structure. 2007-05-25 19:35:49 +02:00
Dan Hipschman 00ce411231 widl: Handle pointers in unions.
Unify write_pointers with write_embedded_types, and handle pointers in
unions.  Includes tests.
2007-05-25 19:35:29 +02:00
Dmitry Timoshkov 4d0d9fcb69 widl: Fix compilation warnings in 64-bit mode. 2007-05-23 13:05:04 +02:00
Dmitry Timoshkov ccac7d1f11 widl: Fix compilation warnings in 64-bit mode. 2007-05-21 15:55:33 +02:00
Dan Hipschman c5aaadc4c8 widl: Lay framework for unions with simple unions working. 2007-05-21 12:40:58 +02:00
Dan Hipschman 18724eaeb8 widl: Replace erroneously removed current_func assignment.
This accidentally came out and should not have.  Thanks to Eric Kohl
for pointing this out to me.
2007-05-21 12:39:23 +02:00
Dan Hipschman 52ca3ebada widl: Write some structures to the type format string on the fly. 2007-05-16 13:33:17 +02:00
Dan Hipschman 217fc9c0f3 widl: Improve handling of offsets in the type format string. 2007-05-16 13:33:17 +02:00
Dan Hipschman d9c120490f widl: Handle pointers fields that point to structures. 2007-05-14 14:24:16 +02:00
Dan Hipschman faf5071549 widl: Remove an unnecessary assignment in write_pointers. 2007-05-14 14:24:06 +02:00
Dan Hipschman ef433e2792 widl: Remove var_t's ptr_level field and start write_pointers. 2007-05-11 12:33:27 +02:00
Dan Hipschman 234855f059 widl: Remove dead code in write_msft.c. 2007-05-10 12:57:06 +02:00
Dan Hipschman 541dddfde3 widl: Simplify make_safearray. 2007-05-10 12:55:33 +02:00
Dan Hipschman e7495555a0 widl: Remove redundant get_var_vt function. 2007-05-10 12:54:01 +02:00
Dan Hipschman 933ca7b126 widl: Add string_of_type function, prettify code. 2007-05-10 12:53:45 +02:00
Alexandre Julliard 7ca4e025e7 widl: Don't declare a global binding handle when using an implicit handle. 2007-05-03 14:25:58 +02:00
Dan Hipschman d676d3be5f widl: Get rid of the tname field of var_t, simplify code. 2007-05-01 12:37:18 +02:00
Dan Hipschman 1ecbb01617 widl: Get rid of the typeref_t structure, simplify code. 2007-05-01 12:37:08 +02:00
Dan Hipschman a67c37f871 widl: Declare fixed-size array args as pointers to arrays. 2007-04-26 16:12:15 +02:00
Dan Hipschman e714c89d2f widl: Add --prefix-* options (take 3). 2007-04-26 15:47:37 +02:00
Stefan Huehner 4d1d01f266 Mark several functions as static. 2007-03-13 13:35:12 +01:00
Alexandre Julliard 4091627cd7 configure: Get rid of lex compatibility support, we require flex anyway. 2007-03-08 13:19:50 +01:00
Rob Shearman 1c2a717b59 widl: Implement writing of SAFEARRAY type descriptions in typelibs. 2007-03-07 20:10:32 +01:00
Alexandre Julliard defc1d873e widl: Add missing '\n' on error message. 2007-02-28 20:44:24 +01:00
Rob Shearman 94a0a90165 widl: Print EXPR_NUM expresssions as unsigned to avoid printing an extra negative sign when lval is large. 2007-02-26 17:33:40 +01:00
Alexandre Julliard 77292a8c82 widl: 'control' is an attribute not a keyword. 2007-02-19 16:40:34 +01:00
Alexandre Julliard 6b808bafe0 widl: Rename parser states to uppercase to avoid conflicts. 2007-02-08 11:55:35 +01:00
Alexandre Julliard 94ee8e8fac widl: Output endpoint information in client and server files. 2007-02-07 17:55:09 +01:00
Alexandre Julliard cc9a07f194 widl: Add a string list type and use it for the endpoint attribute. 2007-02-07 17:54:33 +01:00
Alexandre Julliard 24ded9e69a widl: Only recognize attribute keywords inside an attribute list. 2007-02-07 17:50:17 +01:00
Alexandre Julliard 82b7eecf6c widl: Use the correct type offset when freeing proxy variables. 2007-02-06 18:01:43 +01:00
Alexandre Julliard 936455edd7 widl: Added support for iid_is conformance descriptors. 2007-02-06 16:00:41 +01:00
Alexandre Julliard 3c2a9f5df8 widl: size_is and length_is are expression lists now. 2007-02-06 15:59:24 +01:00
Alexandre Julliard 3bfa88dc49 widl: Take array dimensions into account when computing buffer size. 2007-02-06 15:55:49 +01:00
Alexandre Julliard 3fa891bfee widl: Add support for arrays of simple types in format strings. 2007-02-06 15:55:29 +01:00
Alexandre Julliard 732b3dc8c7 widl: Output correct alignments in type format strings. 2007-02-06 15:54:58 +01:00
Mike McCormack 609cd30277 widl: Implement dispinterfaces derived from an interface. 2007-02-06 13:20:46 +01:00
Mike McCormack 7d1e21e2c1 widl: Handle TKIND_DISPATCH when generating MSFT typelibs. 2007-01-26 14:29:18 +01:00
Huw Davies 305e4949ee widl: Don't restrict the number of params of [prop*] functions. 2007-01-26 12:22:40 +01:00
Huw Davies f994c35a3e widl: Add VT_DATE support to typelib generation. 2007-01-26 12:22:38 +01:00
Alexandre Julliard 2eee874382 widl: Make some generated variables static and/or const. 2007-01-26 12:09:25 +01:00
Alexandre Julliard 2b9c01eed2 widl: Avoid dependency on COBJMACROS in generated code. 2007-01-26 12:09:14 +01:00
Alexandre Julliard 9505b50ccf widl: Define __midl_proxy in the generated proxy code. 2007-01-26 12:09:03 +01:00
Alexandre Julliard 1a25936ca9 widl: Add a few more fields in the stub descriptor. 2007-01-26 12:08:51 +01:00
Alexandre Julliard 6c559cafab widl: Rename a couple of variables to make the code closer to what midl generates. 2007-01-26 12:04:40 +01:00
Alexandre Julliard 7e4a985269 widl: Initialize local variables in stub functions. 2007-01-26 12:03:02 +01:00
Alexandre Julliard 9e6acf818f widl: Use the typegen function for marshalling/unmarshalling in proxies. 2007-01-26 12:00:42 +01:00
Alexandre Julliard 9f1e9ad326 widl: Copy the UserMarshal support into the generic code. 2007-01-26 11:59:58 +01:00
Alexandre Julliard 8d50f9d054 widl: Add support for some simple pointer types. 2007-01-24 20:10:57 +01:00
Alexandre Julliard d885244148 widl: Store the interface id in _StubMsg.MaxCount for iid_is pointers. 2007-01-24 20:10:07 +01:00
Alexandre Julliard 4f106ca398 widl: Fix alignment check for struct members format string. 2007-01-24 20:08:50 +01:00
Alexandre Julliard 8996c79d83 widl: Fix possible crash in write_array_tfs. 2007-01-24 20:08:06 +01:00
Alexandre Julliard 8e3c5c9ab9 widl: Skip local functions when building format strings. 2007-01-24 20:06:51 +01:00
Alexandre Julliard 6dd5afd723 widl: Export a function to compute the proc format string size for a function. 2007-01-24 20:05:22 +01:00
Alexandre Julliard 6655071a3f widl: Move initialization of the stub buffer size into write_remoting_arguments(). 2007-01-24 20:02:05 +01:00
Alexandre Julliard 85ed9ca31a widl: Move support for stub arguments to typegen.c to make it usable for proxies too. 2007-01-24 19:59:16 +01:00