Commit Graph

250 Commits (e97a1afbab0013d40c46946125d42aa712ae6458)

Author SHA1 Message Date
Eric Kohl 6ad46cc961 widl: Fix base type alignments.
Generate aligned marshal and unmarshal code for base type arguments
and return values.
2006-03-23 17:06:25 +01:00
Eric Kohl 1550938a50 widl: Fix format string size calculation.
- Move proc format string size calculation from client.c and server.c
  to typegen.c.
- Implement type format string size calculation.
2006-03-23 17:06:10 +01:00
Eric Kohl 623f142945 widl: Do not generate code that initializes a binding handle. 2006-03-18 18:06:41 +01:00
Eric Kohl c7174f9fff widl: Fix proc offset calculation.
A void return type is represented by a FC_END/FC_PAD sequence in the
proc format string. Increment the proc offset by two when a function
returns void.
2006-03-18 18:06:27 +01:00
Eric Kohl 919d14c577 widl: 'unsigned char' and 'byte' are must be distinct types. 2006-03-18 18:06:14 +01:00
Kevin Koltzau a8b209752f widl: Fix 64bit warning. 2006-02-22 22:17:25 +01:00
Mike Frysinger 5392844392 Add support for 'make install DESTDIR'. 2006-02-14 13:51:38 +01:00
Francois Gouget 90aaf6ba8f include: Add missing LANG_xxx and SUBLANG_xxx constants. 2006-02-14 10:42:12 +01:00
Robert Shearman 59dd416fd2 widl: Fix a typo when removing TYPEFLAG_FDUAL. 2006-02-10 14:51:39 +01:00
Robert Shearman 91c35be7cc widl: Write out more TYPEFLAGs and add more type library-specific
attributes to the parser.
2006-02-09 12:10:08 +01:00
Robert Shearman 649d5d0e8e widl: Write out TYPEFLAG_FDUAL, TYPEFLAG_FDISPATCHABLE and
TYPEFLAG_FOLEAUTOMATION typelib flags.
2006-02-09 12:09:44 +01:00
Robert Shearman 59830d69b4 widl: Fix some warnings caused by making attributes const. 2006-02-07 16:25:10 +01:00
Alexandre Julliard 91da64c9ca widl: Remove '\n' from yyerror calls. 2006-02-07 12:36:20 +01:00
Robert Shearman 4e40675032 widl: Make 'attrs' field of type_t const. 2006-02-07 12:32:57 +01:00
Robert Shearman e9ec85a01a widl: Remove unused 'rname' field of type_t. 2006-02-07 12:32:42 +01:00
Robert Shearman 55df46ab85 widl: Merge marshall_arguments and unmarshall_arguments into one
function to remove the large amount of duplicated code.
2006-02-07 12:32:24 +01:00
Robert Shearman f1bb0a474b widl: Yet more const attributes. 2006-02-07 12:31:43 +01:00
Robert Shearman 511463f3a5 widl: More const attributes. 2006-02-07 12:31:17 +01:00
Eric Kohl 417a61fa61 widl: Fix proc format string for explicit binding handles. 2006-02-07 12:30:55 +01:00
Robert Shearman 8d7fa4c013 widl: Write out the correct FC type if the structure has pointers. 2006-02-07 12:30:23 +01:00
Robert Shearman 4c8370f97e widl: Split pointer writing into a separate function. 2006-02-07 12:30:07 +01:00
Robert Shearman 9f0c45b7e7 widl: Fix pointer detection for structures with embedded arrays.
Pointers have priority over every other type, so move the detection to
the top of get_struct_type.
Fall through from the embedded array detection to the embedded
structure handling code so that conformance, variance and pointer
presence is inherited from the array's base type.
2006-02-07 12:29:39 +01:00
Robert Shearman 864d5a38c5 widl: Increment the type format string when writing the pointer
layouts.
Write out pointer layouts for structures.
2006-02-07 12:28:33 +01:00
Robert Shearman 0d22347f44 widl: Make all pointer fields of expr_t structure constant. 2006-02-07 12:28:20 +01:00
Robert Shearman ccf509b4c6 widl: Add architecture for generating pointer layouts. 2006-02-03 18:51:17 +01:00
Eric Kohl dd57b45aaa widl: The 'string' attribute can also be used with unsigned characters. 2006-02-03 18:47:06 +01:00
Alexandre Julliard a488901256 widl: Some cosmetic fixes in generated code. 2006-02-02 13:23:28 +01:00
Alexandre Julliard 0f2a642d70 widl: Make sure the token variables are always initialized properly. 2006-02-02 13:22:47 +01:00
Robert Shearman 0d4e1bc336 widl: Fix a SEGV when using arrays declared using a pointer and
attributes, instead of array indices (reported by Eric Kohl).
2006-02-01 12:29:23 +01:00
Robert Shearman c418226093 widl: Changes to output for better debugability.
Write the offset and the absolute address for referenced types.
Write the current offset out when writing a pointer type.
2006-01-31 18:08:24 +01:00
Robert Shearman 1478ac85a9 widl: Clean up conformant struct handling.
Make the writing of conformant structures take advantage of the new
type format string offset handling.
2006-01-31 18:08:03 +01:00
Robert Shearman 5764d5518d widl: Fix the writing of arrays with size specified in the array
expression instead of the size_is expression.
2006-01-31 18:07:45 +01:00
Robert Shearman 06ab21b668 widl: Improve the current type offset passing.
Change the functions to take the current type offset and return the
start of the type written.
2006-01-31 18:07:20 +01:00
Robert Shearman ac5a4393d5 widl: The stack/structure offset in correlation descriptors should be a short. 2006-01-31 18:06:53 +01:00
Robert Shearman 513996fde4 widl: Do constant folding for the sizeof operator on simple types. 2006-01-31 18:06:25 +01:00
Robert Shearman 0a2c5b73fd widl: Support client/server generation for explicit_handle interfaces
(based on a patch by Eric Kohl).
2006-01-31 18:06:17 +01:00
Robert Shearman c08e00a9ec widl: Implement constant conformance. 2006-01-31 18:05:43 +01:00
Robert Shearman 35d1347cfa widl: Fix the type offset used in marshaling/unmarshaling.
Make a copy of type_offset so that it only gets incremented once per
function, instead of twice.
2006-01-31 18:05:33 +01:00
Robert Shearman 2330d73f4a widl: Implement the writing of defaultvalue constants for enum values. 2006-01-31 18:04:20 +01:00
Robert Shearman cf1ccfb712 widl: Use a macro to write out FC types, along with the current offset
which is useful for debugging.
2006-01-31 12:25:54 +01:00
Robert Shearman 2ee6f722e0 widl: Pass the current type format string offset through all type
writing functions.
2006-01-31 12:24:54 +01:00
Robert Shearman a6909fa5e8 widl: Eliminate redundant callback routines.
Add a function for comparing expressions and use it to eliminate
redundant callback functions.
2006-01-31 12:24:11 +01:00
Robert Shearman b59c995c89 widl: Implement callback conformance. 2006-01-27 12:53:32 +01:00
Robert Shearman 2d4edc3b3d widl: Generate type format strings for conformant varying arrays. 2006-01-24 11:14:59 +01:00
Robert Shearman 2eedb11f22 widl: Fix detection of varying arrays.
Correctly identify structures containing varying arrays as conformant
varying structures.
2006-01-24 11:14:38 +01:00
Robert Shearman b4fb36c363 widl: Fix detection of conformant varying structs.
Rename has_conformant_array to has_conformance, add a new variable
has_variance and map has_conformant_string to has_conformance and
has_variance.
A conformant varying struct should be returned if just variance is
present and even if no pointers are present.
2006-01-24 11:14:15 +01:00
Robert Shearman 9f76c0cfee widl: Support generation of conformant structure type strings. 2006-01-24 11:13:49 +01:00
Robert Shearman 90032b2da6 widl: Conformant arrays have a size of 0.
Conformant arrays should cause a size of 0 to be returned from
type_memsize.
2006-01-24 11:13:30 +01:00
Robert Shearman 73023890c5 widl: Support correlation descriptors in structures. 2006-01-24 11:12:54 +01:00
Robert Shearman e9c771f98b widl: Error if an array is in the middle of a structure.
Fix detection of conformant arrays and output an error if the array
isn't at the end of the structure.
2006-01-24 11:12:20 +01:00