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
Alexandre Julliard
43ac6ed995
widl: Convert expression lists to standard Wine lists.
...
Add a specific type for array dimensions.
2007-01-22 14:31:40 +01:00
Alexandre Julliard
eed74e4e4a
widl: Convert variable lists to standard Wine lists.
2007-01-22 14:26:12 +01:00
Alexandre Julliard
58827d026b
widl: Convert function lists to standard Wine lists.
2007-01-22 14:23:08 +01:00
Alexandre Julliard
e262933bdf
widl: Convert interface lists to standard Wine lists.
2007-01-22 14:21:56 +01:00
Alexandre Julliard
e998590557
widl: Convert attribute lists to standard Wine lists.
2007-01-22 14:20:36 +01:00
Alexandre Julliard
5b0bf5dc76
widl: Convert typelib lists to standard Wine lists.
2007-01-22 14:10:30 +01:00
Alexandre Julliard
5aba7b0c67
widl: Use existing functions to retrieve attributes for typelibs.
2007-01-22 14:09:46 +01:00
Alexandre Julliard
75c2184f87
widl: Include objbase.h so that generated proxy file compiles on Wine.
2007-01-19 13:17:17 +01:00
Alexandre Julliard
0edfacdb6a
widl: Generate proxy/client/server files when requested explicitly even if they are empty.
2007-01-19 12:46:19 +01:00
Andrew Talbot
d3972880c0
widl: Fix memory leaks.
2007-01-04 21:14:14 +01:00
Alexandre Julliard
7035aa5041
make_makefiles: Generate the top-level .gitignore file.
...
Add a PROGRAMS variable in some makefiles to make things easier.
2006-12-27 21:23:36 +01:00
Francois Gouget
bb8e625b5b
Assorted spelling fixes.
2006-12-05 10:31:47 +01:00
Michael Stefaniuc
cc234847d0
widl: Use ULONG instead of unsigned long when generating declarations for *_UserFree() functions. This is needed for Win64 compatibility.
2006-11-09 10:43:23 +01:00
Michael Stefaniuc
6f95047034
widl: Use ULONG instead of unsigned long when generating declarations for *_UserUnMarshal() functions. This is needed for Win64 compatibility.
2006-11-09 10:43:20 +01:00
Michael Stefaniuc
05b1aac100
widl: Use ULONG instead of unsigned long when generating declarations for *_UserMarshal() functions. This is needed for Win64 compatibility.
2006-11-09 10:43:16 +01:00
Michael Stefaniuc
177aaf6738
widl: Use ULONG instead of unsigned long when generating declarations for *_UserSize() functions. This is needed for Win64 compatibility.
2006-11-09 10:43:12 +01:00
Michael Stefaniuc
15765dd953
The Data1 member of the GUID struct needs to be an unsigned int too for Win64 compatibility.
2006-10-16 10:53:04 +02:00
Francois Gouget
58162f87fd
Assorted spelling fixes.
2006-10-13 11:55:04 +02:00
Andrew Talbot
9c6c8b178a
widl: Cast-qual warning fix.
2006-10-10 19:33:06 +02:00
Michael Stefaniuc
0fb444b58c
tools: Remove redundant NULL checks before free() (found by Smatch).
2006-10-10 12:56:20 +02:00
Francois Gouget
4b2d7e9321
widl: Use CONST_VTBL to declare lpVtbl.
2006-09-29 17:51:45 +02:00
Michael Stefaniuc
41dd56cb7f
"One liners" printf format warning fixes for the migration of DWORD/LONG/ULONG from long to int.
2006-09-29 16:09:24 +02:00
Dan Hipschman
3ad3f8de42
widl: Don't compare result of read() to unsigned type.
2006-09-14 11:39:37 +02:00
Dan Hipschman
bd7e690c1f
widl: Remove unused parameter in create_msft_typeinfo.
2006-09-14 11:39:37 +02:00
Dan Hipschman
48006f60a7
widl: Remove unused parameter in ctl2_encode_name.
2006-09-14 11:39:37 +02:00
Dan Hipschman
954c592a6c
widl: Replace a #if by if for better compiler checking.
2006-09-14 11:39:37 +02:00
Dan Hipschman
6e7389ada8
widl: Remove unused parameter in write_ip_tfs.
2006-09-14 11:39:37 +02:00
Dan Hipschman
53a2819286
widl: Fix warning about unused structure field in lexer.
2006-09-14 11:39:37 +02:00
Dan Hipschman
a472c83f91
widl: Add -u and -U options to man page.
2006-09-14 11:39:37 +02:00
Alexandre Julliard
32ab895e46
makefiles: Generate the dependencies line to avoid some code duplication.
2006-09-14 09:38:16 +02:00
Dan Hipschman
6f4b83bce0
widl: Replace a loop with a simple computation.
2006-09-12 11:01:12 +02:00
Alexandre Julliard
86bb809e5b
widl: Change the prefix on bison-generated names to avoid the name-prefix directive.
2006-09-12 09:05:07 +02:00
Alexandre Julliard
bcdc5fb55f
Make.rules: Set the default prefix for bison files from the file basename.
2006-09-11 21:47:49 +02:00
Alexandre Julliard
145a0ba508
makefiles: List bison dependencies explicitly for parallel makes, since older bisons don't support --defines.
2006-09-11 21:43:11 +02:00
Alexandre Julliard
9c085cba0a
makefiles: Add global rules for bison and lex files.
...
Also build the .c and .h files separately to allow parallel makes.
2006-09-09 13:16:22 +02:00
Alexandre Julliard
aded30dad7
widl: Allow building without debug support in the parser.
2006-09-09 11:26:20 +02:00
Dan Hipschman
6ff8ae327f
widl: Add more complete pointer handling to write_typeformatstring_var.
2006-09-08 11:05:02 +02:00
Dan Hipschman
a407da4775
widl: Sanity check string and pointer attrs. Don't assign string as type.
2006-09-07 10:50:18 +02:00
Dan Hipschman
180ede5bfe
widl: Handle more pointer types in get_struct_type.
2006-09-07 10:49:58 +02:00
Dan Hipschman
88820263c6
widl: Remove checks for typedefs that always fail.
2006-09-07 10:49:46 +02:00
Dan Hipschman
1687a5d1db
widl: Generate an error for "int f(void a)".
2006-09-07 10:21:39 +02:00
Dan Hipschman
7e79e9d4ff
widl: Print pointers more aesthetically in generated header.
2006-09-07 10:21:29 +02:00
Dan Hipschman
929a759895
widl: Add an is_ptr function.
2006-09-07 10:21:13 +02:00
Dan Hipschman
aadc90b266
widl: Factor the entry_t structure.
2006-09-07 10:20:56 +02:00
Dan Hipschman
c117a20cdb
widl: Use type_t for typedefs, not var_t. Simplify representation.
2006-09-07 10:20:41 +02:00
Dan Hipschman
59cfad37aa
widl: Generate names for tagless structs, unions and enums.
2006-09-07 10:19:48 +02:00
Dan Hipschman
04a15af5dc
widl: Add the rest of the pointer types to write_type.
2006-08-29 12:29:26 +02:00
Alexandre Julliard
883aef172d
widl: xmalloc shouldn't initialize to zero, do that explicitly where needed.
2006-08-26 21:41:37 +02:00
Dan Hipschman
94755218ac
widl: Remove usage of type_t ref field for base types; simplify code.
2006-08-25 11:32:05 +02:00
Andrew Talbot
daa2f97bdc
widl: Write-strings warning fix.
2006-08-25 11:27:45 +02:00
Dan Hipschman
3870bf0d9e
widl: Output format-strings for interface pointers.
2006-08-18 11:36:21 +02:00
Dan Hipschman
9b16916ed1
widl: Allow format-string functions to work with objects.
2006-08-18 11:36:06 +02:00
Dan Hipschman
ed10b24e14
widl: Use typegen.c format-string functions in proxy.c.
2006-08-17 11:21:19 +02:00
Dan Hipschman
b7e7243a1e
widl: Move format-string declaration output to typegen.c.
2006-08-17 11:21:10 +02:00
Dan Hipschman
a5ff173cc3
widl: Generate proxy code for user marshalled types.
2006-08-16 12:50:21 +02:00
Dan Hipschman
c526c980d7
widl: Fix out-only temporary variable generation.
2006-08-16 12:49:57 +02:00
Dan Hipschman
e77a079b27
widl: Fix NdrComplexStructUnmarshall calls in generated code.
2006-08-16 12:49:20 +02:00
Dan Hipschman
b17d1c14d9
widl: Fix NdrConformantArrayUnmarshall calls in generated code.
2006-08-16 12:49:04 +02:00
Dan Hipschman
16d4e71230
widl: Calculate method indices in parser instead of during header generation.
2006-08-16 12:48:52 +02:00
Dan Hipschman
47519f08a7
widl: Pass the right size to MIDL_memset in generated proxy code.
2006-08-15 11:42:50 +02:00
Dan Hipschman
9e49a8d2f2
widl: Improve pointer null checking logic.
2006-08-12 11:41:08 +02:00
Dan Hipschman
06497dd44c
widl: Use ref_type to simplify some code.
2006-08-12 11:40:30 +02:00
Dan Hipschman
05001b1ca8
widl: Don't generate indentation spaces on empty lines.
2006-08-11 20:12:38 +02:00
Dan Hipschman
a20f7f46dc
widl: Fix incorrect version number in generated code.
2006-08-11 11:56:50 +02:00
Dan Hipschman
216171fe52
widl: Add ref_type (dereference typedefs) and use it.
2006-08-10 10:57:53 +02:00
Alexandre Julliard
2886e9b0e8
makefiles: Use make dependencies to create installation directories.
...
This avoids a lot of redundant calls to mkinstalldirs.
2006-08-07 17:48:18 +02:00
Dan Hipschman
4961379d74
widl: Replace strdup, malloc and realloc with xstrdup, xmalloc and xrealloc.
2006-08-05 11:25:26 +02:00
Dan Hipschman
df91150e10
widl: Generate GUID (infile_i.c) files.
2006-08-04 13:25:37 +02:00
Dan Hipschman
99056d7e2a
widl: Write forward declarations for coclass definitions.
2006-08-03 22:29:58 +02:00
Dan Hipschman
3e1ace5aa3
widl: Set type_t kind field correctly for all types.
2006-07-31 21:40:37 +02:00
Dan Hipschman
23707beb46
widl: Set defined flag for coclasses.
2006-07-31 21:36:31 +02:00
Dan Hipschman
cf4c08dcbc
widl: Fix "static declaration follows non-static declaration" in generated code.
2006-07-29 11:55:31 +02:00
Dan Hipschman
678ce9875f
widl: Encode coclass types in typelibs.
2006-07-29 11:55:20 +02:00
Dan Hipschman
9265d77584
widl: Register types for coclasses.
2006-07-29 11:55:08 +02:00
Dan Hipschman
c650cceae3
widl: Check if a typeinfo is already in a typelib before adding it.
2006-07-29 11:54:44 +02:00
Dan Hipschman
90cdff9b3f
widl: Set typelib_idx for coclasses when they're added to a typelib.
2006-07-29 11:54:21 +02:00
Dan Hipschman
c67b19b4f4
widl: Fold class_t into type_t.
2006-07-29 11:54:09 +02:00
Jacek Caban
37cf4a5260
widl: Reorder segments to match midl.
2006-07-28 12:34:27 +02:00
Jacek Caban
c9a08007eb
widl: Use cval in ATTR_ID.
2006-07-28 12:34:20 +02:00
Jacek Caban
b86bc2b634
widl: Added ATTR_BINDABLE handling to add_func_desc.
2006-07-28 12:34:14 +02:00
Jacek Caban
4d76264f3e
widl: Store typekind in msft_typeinfo_t to fix ATTR_DUAL handling.
2006-07-28 12:34:08 +02:00
Dan Hipschman
3b3632a1cd
widl: Allow trailing commas in attribute lists.
2006-07-26 10:24:06 +02:00
Dan Hipschman
12a9dfd62f
widl: Support SAFEARRAY(type) syntax.
2006-07-25 11:21:41 +02:00
Dan Hipschman
f3d01fb07b
widl: Fix redefinition of types in output.
2006-07-25 11:21:29 +02:00
Dan Hipschman
82c11ce002
widl: Allow write_type to output full pointer types.
2006-07-24 13:27:15 +02:00
Dan Hipschman
2660b8f9c1
widl: Support coclass forward declarations.
2006-07-14 13:32:38 +02:00
Dan Hipschman
d68ec1d325
widl: Fix unterminated comment in generated code.
2006-07-14 13:32:38 +02:00
Alexandre Julliard
645cd6ff50
libs: Get rid of the symlinks for the static libs.
2006-07-11 19:33:48 +02:00
Alexandre Julliard
88c97d7284
.gitignore: Added wildcards to ignore lex and bison output files.
2006-07-10 21:40:49 +02:00
Alexandre Julliard
cc2b3b48e6
Take advantage of the recursive nature of .gitignore for Makefile entries.
...
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Robert Shearman
f627845624
widl: Add support for the builtin constants "TRUE" and "FALSE".
2006-07-07 14:30:34 +02:00
Alexandre Julliard
fdb4c7e986
widl: Fixed syntax of DECL_LINK macro to look more like C code.
2006-06-27 11:51:07 +02:00
Andrew Talbot
0e1e585c73
widl: Write-strings warnings fix.
2006-06-26 12:36:52 +02:00
Thomas Weidenmueller
af994f4e4f
widl: Fix updating the proc offset.
2006-06-19 10:27:24 +02:00
Alexandre Julliard
043fd66907
widl: Use unsigned int instead of size_t to avoid printf format warnings.
2006-06-13 14:13:49 +02:00
Robert Shearman
996c4f1f93
widl: Support coclass forward declarations.
2006-06-07 11:47:21 +02:00
Robert Shearman
d7e7242af6
widl: Fix a typo in the man page.
2006-06-02 10:52:26 +02:00
Robert Shearman
90decb631c
widl: Properly size the return value procformat.
2006-06-02 10:52:23 +02:00
Robert Shearman
6f85f989f5
widl: Only write one procformat string and one typeformat string per file.
2006-06-02 10:52:10 +02:00
Robert Shearman
fa4f94bdd5
widl: Allow some more "reserved words" to be used as identifiers.
2006-05-31 15:47:50 +02:00
Alexandre Julliard
25dc6d912e
widl: Clean output files when aborting on a signal.
2006-05-27 13:23:47 +02:00
Alexandre Julliard
59493b6c33
widl: Get rid of unnecessary inclusion of unicode.h.
2006-05-24 17:41:47 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Jacek Caban
dee8790c69
widl: Don't add importlib if it is already on the list. Remove warning.
2006-05-20 13:58:54 +02:00
Jacek Caban
a7fa3a985b
widl: Added support for importing parent interfaces from importlib.
2006-05-20 13:58:44 +02:00
Jacek Caban
6137e1b60a
widl: Added importlib reading implementation.
2006-05-17 21:02:00 +02:00
Jacek Caban
dce3f2be05
widl: Added RPC_FC_ENUM16 encoding.
2006-05-15 11:49:28 +02:00
Jacek Caban
4812abc247
widl: res50 is number of impinfos. Fix its usage.
2006-05-15 11:49:15 +02:00
Eric Kohl
2c7270e388
widl: Implement 'oldnames' option.
2006-05-05 16:37:42 +02:00
Eric Kohl
b64154882c
widl: Fix a typo.
2006-05-05 16:36:46 +02:00
Jacek Caban
738be2eec3
widl: Fix a typo.
2006-04-21 23:20:09 +02:00
Jacek Caban
8cd409facf
widl: Added importlib parsing code.
2006-04-21 12:46:13 +02:00
Eric Kohl
ff302bfc7a
widl: Implement support for unique pointers to strings.
2006-04-21 11:28:03 +02:00
Robert Shearman
555cf38269
widl: Prevent NULL pointer de-refs on "void *" types.
2006-04-20 15:16:59 +02:00
Robert Shearman
7ca82cd6d2
widl: Ignore [object] attribute on interfaces written to a typelib.
2006-04-18 16:48:39 +02:00
Eric Kohl
bec0993199
widl: Support multiple RPC interfaces per binary.
2006-04-17 12:00:54 +02:00
Eric Kohl
e7134bd4cd
widl: Implement support for unique pointers to arrays.
2006-04-17 11:18:49 +02:00
Mike McCormack
1d453ab551
widl: Add support for VT_I8 and VT_UI8 to msft typelibs.
2006-04-14 10:49:14 +02:00
Eric Kohl
7fb3f12ce5
widl: Implement support for ref pointers to simple structs.
2006-04-10 15:56:50 +02:00
Eric Kohl
83d72a4318
widl: Implement support for ref pointers to arrays of base types.
2006-04-05 10:58:25 +02:00
Robert Shearman
e2ea2b5891
widl: Fix the type offset for generated conformant string calls.
2006-04-03 21:36:06 +02:00
Robert Shearman
837e830a26
widl: There's no need to cast _StubMsg - it's already of the correct type.
2006-03-31 17:38:00 +02:00
Robert Shearman
506404ba09
widl: Only assign variables if not a string and only create a local variable if not a sized parameter.
...
Only assign variables if not a string and only create a local variable
if not a sized parameter. Fixes type mismatches in the generated code
due to differences in the algorithms between creating local variables
and using them.
2006-03-31 17:37:51 +02:00
Robert Shearman
62eb9f4b0c
widl: Initialise the temporary variable to 0 for parameters with more than one level of indirection.
2006-03-31 17:37:35 +02:00
Robert Shearman
d82bb4ade9
widl: Create the correct variable type for parameters with more than one level of indirection.
2006-03-31 17:37:22 +02:00
Robert Shearman
27c3222715
widl: Re-use print_phase_basetype for generating return value marshaling and unmarshaling code.
2006-03-31 17:37:11 +02:00
Robert Shearman
3e065ab342
widl: Move handling of base type marshaling and unmarshaling to a separate function.
...
Move handling of base type marshaling and unmarshaling to a separate
function and improve it to support return values.
2006-03-31 17:37:01 +02:00
Robert Shearman
eb000448a0
widl: Use print_phase_function for printing NdrPointerFree call.
2006-03-31 17:36:39 +02:00
Robert Shearman
04632f6ab7
widl: Add a function to generate the Ndr type calls.
...
- Add a function to generate the Ndr type calls.
- Fix a typo where the aligned buffer was added to itself, rather than
assigned.
2006-03-31 17:36:23 +02:00
Robert Shearman
96f6a22ece
widl: Only write the buffer incrementing code for the marshaling and unmarshaling phases.
...
Only write the buffer incrementing code for the marshaling and
unmarshaling phases - buffer sizing is handled elsewhere and freeing
isn't applicable.
2006-03-31 17:36:06 +02:00
Robert Shearman
226c8f6b52
widl: Output the necessary sizing information for other phases.
...
Output the necessary sizing information for PHASE_BUFFERSIZE and
PHASE_FREE as well as PHASE_MARSHAL. Standardise this rule in a new
function.
2006-03-31 17:35:49 +02:00
Robert Shearman
4a67201b70
widl: Output NULL ref pointer check for pointer levels > 1 too.
2006-03-31 17:35:31 +02:00
Robert Shearman
73ff576554
widl: Fix a GCC warning in the generated client and server code.
2006-03-31 17:35:21 +02:00
Robert Shearman
4cd506b8fd
widl: The lval member of var_t is essentially a duplicate of eval->cval.
...
- Generate eval's for enums that don't explicitly have one. This means
that enums written in header files won't match exactly what has been put
into the IDL file, but the numeric constat is the same and MIDL does a
similar thing.
- Replace constant lookups with eval->cval instead of lval.
2006-03-31 17:35:04 +02:00
Robert Shearman
4edcf2de35
widl: De-reference parameters' types before deciding what to do with them.
...
De-reference parameters' types before deciding what to do with them.
Also dereference string parameters since they are immediately
dispatched to write_string_tfs when the string attribute is detected
without any further processing done on them.
2006-03-31 17:34:48 +02:00
Robert Shearman
4b5386e2cd
widl: Write pointer calls for all non-basetype pointer parameters to functions.
2006-03-31 17:34:38 +02:00
Robert Shearman
91dbc5ae28
widl: Write definitions for MIDL_user_allocate and MIDL_user_free in the header.
...
Write definitions for MIDL_user_allocate and MIDL_user_free in the
header when writing out RPC interfaces to prevent compile failures in
the generated client/server code.
2006-03-31 17:33:28 +02:00
Robert Shearman
071dfb188a
widl: Write out the pre- and postamble for RPC interfaces with no methods.
2006-03-31 17:32:38 +02:00
Robert Shearman
b38cd7ff5f
widl: Output interface defined guard for rpc interfaces too.
2006-03-31 17:32:09 +02:00
Robert Shearman
97d6f7c444
widl: NdrFcShort should be written out instead of NdrShort.
2006-03-31 17:31:44 +02:00
Robert Shearman
bed9fdec8d
widl: Output the numeric equivalent of FC_END, not the string FC_END itself.
2006-03-31 17:31:31 +02:00
Robert Shearman
3ec771a20f
widl: Support references in type_memsize.
2006-03-31 17:31:18 +02:00
Robert Shearman
3db71d9d9c
widl: Only output code for non-object interfaces in client and server.
...
Only output code for non-object interfaces in client and server
generation and convert the while loops into for loops.
2006-03-31 17:31:04 +02:00
Eric Kohl
12d4d9c229
widl: Implement support for ref pointers to strings.
2006-03-30 16:24:35 +02:00
Eric Kohl
1a5c6ef47d
widl: Implement support for pointers to base types.
2006-03-28 14:43:28 +02:00
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
Robert Shearman
362d42e082
widl: Fix the detection of conformant and pointer structs.
2006-01-24 11:11:56 +01:00
Robert Shearman
8f1ed85891
widl: Simple structs and complex pointers.
...
Write out type format string for simple structs and for pointers to
non-simple types.
2006-01-24 11:11:29 +01:00
Robert Shearman
584c89bd8f
widl: Add framework for generating struct and union type format strings.
2006-01-24 11:10:59 +01:00
Robert Shearman
263a75d47a
widl: Support different types of simple pointers.
...
Support pointer types in unmarshall_arguments.
2006-01-24 11:10:42 +01:00
Robert Shearman
69551fdf74
widl: Generate NdrNonConformatString* calls for non-conformant string types.
2006-01-24 11:10:08 +01:00
Robert Shearman
a6c6e1d032
widl: Add functions for detecting array and string types.
...
Add functions for detecting array and string types and use these in
both writing type format strings and when marshalling and
unmarshalling parameters.
2006-01-24 11:09:53 +01:00
Robert Shearman
793bc8de69
widl: Support some more complicated conformance / variance expressions.
2006-01-24 11:09:03 +01:00
Robert Shearman
4a7c04791d
widl: Start implementing writing of conformance/variance descriptors.
2006-01-24 11:08:20 +01:00
Robert Shearman
21a90850cb
widl: Strings.
...
Write out type format strings for string types.
2006-01-24 11:07:39 +01:00
Robert Shearman
d07589e32f
widl: Arrays.
...
Write out type format strings for arrays, except for the missing
generic functionality of conformance and variance descriptors.
2006-01-24 11:07:13 +01:00
Robert Shearman
fce01e6920
widl: Simplify write_typeformatstring_type.
...
Simplify handling of types in write_typeformatstring_type by only
writing non-pointer types out when ptr_level is 0. Add stubs for
functions that will write out the type format string for strings and
arrays.
2006-01-24 11:06:32 +01:00
Robert Shearman
479be2e6af
widl: Don't use recursion for write_typeformatstring_type.
...
Since a var_t can now be passed in, rename to
write_typeformatstring_var. Simplifies the code.
2006-01-24 11:06:10 +01:00
Robert Shearman
6d76ad87c6
widl: Don't use recursion to implement write_procformatstring_type.
...
Renamed to write_procformatstring_var now since we can pass a var_t in
again. This results in simpler code.
2006-01-24 11:05:51 +01:00
Robert Shearman
ba0f0761f0
widl: Generate static sizing information for fixed size structs.
...
Don't generate FC_*_BASETYPE proc and type format strings for
non-basetype fields/params.
2006-01-06 21:06:24 +01:00
Alexandre Julliard
1e96455094
Remove YY_NO defines that cause warnings.
2006-01-05 12:20:05 +01:00
Alexandre Julliard
88991e2a4e
Support building flex files without debug support.
2006-01-03 15:11:46 +01:00
Alexandre Julliard
0ae2c69c7a
Added some flex options to avoid compiler warnings.
...
Moved options from the Makefile into the source.
2006-01-03 12:16:05 +01:00
Robert Shearman
8494f57d17
widl: Output sizing information for arrays in the generated marshaling code.
2005-12-31 13:19:13 +01:00
Robert Shearman
ae94c2207f
widl: Export the bracket adding functionality of do_write_expr outside
...
of header.c.
2005-12-31 13:18:49 +01:00
Robert Shearman
f56737579e
widl: Fix merge conflict.
2005-12-26 13:22:46 +01:00
Robert Shearman
93775adf75
widl: Follow type references in procformat and typeformat string generation.
2005-12-26 13:22:32 +01:00
Robert Shearman
7fb311b49f
widl: Handle marshaling and unmarshaling structures.
2005-12-26 13:22:05 +01:00
Robert Shearman
4acabfd719
widl: Out parameters.
...
Marshall and unmarshall out parameters for servers and clients
respectively.
Write out array components for declared local variables in generated
server code.
2005-12-26 13:21:38 +01:00
Robert Shearman
e0dd7b6ed8
widl: Remove some duplication.
...
Remove some duplicated code by calling an improved
get_required_buffer_size.
Add some more newlines in the generated code to separate separate
stages.
Calculate the buffer size of [out] arguments in generated server code.
Fix the direction passed into unmarshall_arguments.
2005-12-26 13:20:59 +01:00
Robert Shearman
7e5cf94f13
widl: Pass a state into marshall_arguments and unmarshall_arguments to
...
decide which parameters should be considered based on their direction.
2005-12-26 13:14:28 +01:00
Robert Shearman
24d1b71d91
widl: Generate marshaling and unmarshaling statements for arrays.
2005-12-26 13:13:41 +01:00
Robert Shearman
25116ae360
widl: Treat variables with array indices the same as pointers.
2005-12-26 13:13:04 +01:00
Robert Shearman
c0f4605b82
widl: Advance the type format string whilst marshaling and
...
unmarshaling arguments.
2005-12-26 13:12:46 +01:00
Robert Shearman
c8703d17b0
widl: Convert the main while loops in marshall_arguments and
...
unmarshall_arguments into for loops.
2005-12-26 13:12:26 +01:00
Robert Shearman
413738810f
widl: Add support for marshalling and unmarshalling conformant strings.
2005-12-26 13:12:03 +01:00
Robert Shearman
7f2419ceed
widl: Add some const attributes.
2005-12-26 13:11:33 +01:00
Robert Shearman
73dff5c465
widl: Prepare marshall and unmarshall code generation functions for
...
accepting pointers.
2005-12-26 13:09:36 +01:00
Robert Shearman
86c3a2e76a
widl: Fix SEGVs with client and server code generation when an
...
interface has no methods.
2005-12-26 13:08:51 +01:00
Robert Shearman
73a25d316d
widl: Generate correct proc format strings for [out] and [in, out] parameters.
2005-12-26 13:07:55 +01:00
Robert Shearman
e59dcf53fc
widl: Use the same precendence rule for the conditional operator as in wpp.
...
Fixes several shift/reduce warnings.
2005-12-26 13:07:08 +01:00
Robert Shearman
30a9f99bb9
widl: Better array support.
...
Treat variables with array indices the same as pointers when writing
out the proc & type format strings.
Fix a typo when writing out the proc format string where a non-return
type was written out for a return type and vice-versa.
2005-12-26 13:06:29 +01:00
Robert Shearman
783198be37
widl: Support non-basic variables in proc format strings.
2005-12-26 13:05:55 +01:00
Robert Shearman
88fd90b4c5
widl: Add helper functions that return the size of procformat and
...
typeformat strings for variables.
2005-12-26 13:05:29 +01:00
Hans Leidekker
4f46232368
widl: Avoid lvalue casts in generated code.
2005-12-19 21:20:14 +01:00
Jacek Caban
a3b35129ce
widl: Added bindable and displaybind attributes handling.
2005-12-16 12:40:17 +01:00
Robert Shearman
435e36e366
widl: Start generating type format strings.
...
Based on a patch by Eric Kohl.
2005-12-13 11:22:08 +01:00
Eric Kohl
c4173f7b99
widl: Server stubs in generated code are void functions.
2005-12-13 11:12:37 +01:00
Robert Shearman
ccdc119da0
widl: Generate FC_ERROR_STATUS_T proc format.
...
- Include the header file for the functions implemented in typegen.c.
- Generate proc format for FC_ERROR_STATUS_T type.
2005-12-12 12:14:31 +01:00
Robert Shearman
12159aec96
widl: Support explicit binding handles.
2005-12-12 12:14:03 +01:00
Robert Shearman
759e3c9fe3
widl: Zero initialize parameters in the generated server code.
...
Zero initialize parameters in the generated code. Based on a patch by
Eric Kohl.
2005-12-12 12:13:43 +01:00
Robert Shearman
dfb716f3d6
widl: Calculate the size of buffer required.
...
- Calculate the size of buffer required.
- Fix a typo.
- Set the buffer start and buffer end markers.
2005-12-12 12:12:50 +01:00
Robert Shearman
fc3821f475
widl: Don't cast buffer pointers to long in generated server code.
2005-12-12 12:12:06 +01:00
Eric Kohl
6744d4e3ea
widl: Support multiple interfaces per file.
2005-12-12 12:11:44 +01:00
Robert Shearman
f4356a64e3
widl: Don't treat FC_SMALL as FC_SHORT.
...
FC_SMALL is its own type and is the same size as FC_CHAR, not
FC_SHORT.
2005-12-12 12:11:11 +01:00
Robert Shearman
6066106bb0
widl: Use WCHAR instead of wchar_t.
...
Output IDL wchar_t types as WCHAR to avoid conflicts with the
generally incompatible Unix wchar_t.
2005-12-12 12:10:26 +01:00
Robert Shearman
fea330364b
widl: Don't output __RPC_FAR in generated code.
2005-12-12 11:51:11 +01:00
Vincent Béron
fe987b3035
widl: Issue correct C++ headers.
2005-12-09 11:22:04 +01:00
Robert Shearman
b86efe5d11
widl: Formatting cleanups.
2005-12-08 13:48:46 +01:00
Robert Shearman
92c568ab5d
widl: Marshal and unmarshal basic types.
2005-12-08 12:53:58 +01:00
Robert Shearman
35d327bd0d
widl: Add a type generator framework.
...
Add a framework for writing the strings for marshaling and
unmarshaling parameters and make the client and server use it.
2005-12-08 12:52:13 +01:00
Eric Kohl
ba39a874d4
widl: Write out argument lists in the server.
...
- Add framework for updating proc offsets.
- Write out argument lists in the server.
2005-12-08 12:48:44 +01:00
Eric Kohl
80e262202f
widl: Rename some variables.
2005-12-08 12:45:45 +01:00
Vincent Béron
bce123dc46
Use the typedef'd declaration of IRpcStubBuffer and IRpcChannelBuffer
...
in RPC _Stubs.
Add IRpcStubBuffer and IRpcChannelBuffer declarations to objbase.h.
2005-12-02 13:32:09 +01:00
Vincent Béron
864f631d28
Reorder the virtual table definition so it's defined before it is used
...
in widl header output.
2005-12-02 13:29:52 +01:00
Vincent Béron
85e9474c78
Use interface instead of struct where appropriate in widl.
2005-12-02 13:28:05 +01:00
Alexandre Julliard
0ec7e1a591
Renamed all .cvsignore files to .gitignore.
2005-11-26 13:10:33 +01:00
Francois Gouget
6d442aeb34
Assorted spelling fixes.
2005-11-23 20:14:43 +01:00
Huw Davies
8056092909
Prefix [putref] property names with putref_.
2005-11-14 15:12:24 +00:00
Alexandre Julliard
36c3199782
Default search path for an include file should be based on the path of
...
the parent source file, not the current directory.
2005-10-10 18:06:50 +00:00
Alexandre Julliard
5131ba6150
Set the widl version to be the same as the global package version.
2005-10-08 10:37:09 +00:00
Alexandre Julliard
12a749984c
Put Wine version information in all the man pages.
2005-10-06 16:10:01 +00:00
Alexandre Julliard
fb3a9ed135
Fixed some nroff warnings.
2005-10-06 11:40:43 +00:00
Alexandre Julliard
cd91bc61be
Now that we are requiring bison anyway, make the .tab.c file use the
...
same base name as the .y file, so that we can generate correct
dependencies in all cases.
2005-09-28 18:17:08 +00:00
Robert Shearman
d026458860
- Output prototypes for user marshal functions at the end of the
...
header and by use.
- Add support for range and ptr attributes and for the "small" base
type.
2005-09-12 20:13:40 +00:00
Alexandre Julliard
49b7fdcfc0
Removed the broken mmap64 configure check, and moved the
...
_FILE_OFFSET_BITS define to wine/port.h. Made sure that all files that
need the define include it.
2005-08-03 21:25:10 +00:00
Robert Shearman
4e7628ffb1
- The header global variable is NULL when not generating a header so
...
don't try to use it in functions that may be called by the client
code.
- Make the functions that take char * take const char *.
2005-08-03 14:55:22 +00:00
Stefan Huehner
b8585b8d0c
Change some char* to const char* to fix warnigns.
2005-07-21 11:59:11 +00:00
Stefan Huehner
737978a833
Fix a -Wsign-compare warning.
2005-07-14 12:18:38 +00:00
Stefan Huehner
f4285e68fe
Fix some -Wsign-compare warnings.
2005-07-13 11:29:10 +00:00
Huw Davies
a2051075fe
Update the import table code to eliminate a few magic constants.
2005-06-29 19:18:41 +00:00
Huw Davies
a2c58e238f
Add comments describing the first DWORD in an import table entry.
2005-06-28 13:52:23 +00:00
Stefan Huehner
e546238c7e
Fix some -Wmissing-declarations by making functions static.
2005-06-15 18:10:39 +00:00
Robert Shearman
33b09d457f
Add more struct types for TLB generation.
2005-06-09 09:45:26 +00:00
Alexandre Julliard
9c04ad7439
Workaround to allow using the async keyword as method name.
2005-05-26 12:22:28 +00:00
Juan Lang
c194b2e853
Always initialize header file name, to prevent "#include (null)"
...
statements in generated files.
2005-04-18 16:54:54 +00:00
Juan Lang
b5ffb7f215
Put space between include directive and include file.
2005-04-15 14:09:45 +00:00
Juan Lang
6d46ac263f
Add proxy/stub options to widl man page.
2005-04-15 14:09:27 +00:00
Francois Gouget
6b10c324c5
Assorted spelling fixes.
2005-03-30 17:08:31 +00:00
Vincent Béron
4d752e95ad
Keep types sorted in alphabetical order.
2005-03-28 10:01:20 +00:00
Vincent Béron
2eaf7b2e8a
Add support for single in idl files.
2005-03-28 10:01:13 +00:00
Jacek Caban
10a605b072
Added handling of unsigned type.
2005-03-24 15:07:57 +00:00
Jacek Caban
e6150fe206
Write uuid of library in header.
2005-03-05 10:49:22 +00:00
Francois Gouget
fbb3343547
Assorted spelling fixes.
2005-03-02 13:53:50 +00:00
Jon Griffiths
eb5bf7dd38
Documentation spelling fixes.
2005-02-25 14:07:56 +00:00
Alexandre Julliard
afcab24230
Removed the useless proxy.h header file.
...
Fixed a couple of warnings.
2005-02-23 21:03:15 +00:00
Eric Kohl
5bed4857d5
- Add basic support for creating client and server stub files.
...
- Support implicit_handle attribute in IDL files.
- Build mixed-mode stub files.
2005-02-23 20:31:07 +00:00
Vincent Béron
5c837cac49
A RPC_FC_ENUM16 is a VT_USERDEFINED.
2005-02-14 11:05:41 +00:00
Huw Davies
1cba04d7d6
Add support for modules.
2005-02-08 16:51:35 +00:00
Huw Davies
a82b1bcfe5
Check if we've already added the ptr to iface typedesc before adding a
...
new one.
2005-02-08 14:27:52 +00:00
Vincent Béron
df5051e925
Support some more attributes for interface properties.
2005-02-08 13:43:34 +00:00
Vincent Béron
f6ff452f17
Support ATTR_READONLY for interface properties.
2005-02-08 12:56:22 +00:00
Huw Davies
13e36059a8
Add VARIANT_BOOL.
...
Fix CURRENCY alignment.
A function with a [retval] param has a bit set in the FKCCIC bitfield.
Two functions with the same name share the same id.
The param names of propput and propputref functions don't go into the
typelib.
2005-02-08 12:09:42 +00:00
Huw Davies
c2c87daf4a
Coclass support.
2005-02-03 13:34:28 +00:00
Huw Davies
d33a553d63
Add support for typedefs.
2005-02-02 19:10:02 +00:00
Huw Davies
49eb0b70e5
Add support for dispinterfaces (slightly hacked because we force the
...
import of stdole2.tlb).
Add propputref attribute.
2005-02-01 18:48:25 +00:00
Huw Davies
13b7c5ac12
Dynamically allocate the type data storage.
...
Split the function and variable type data into two - this will be
needed for dispinterfaces.
2005-01-31 16:24:23 +00:00
Vincent Béron
653c05971c
Check that there are some methods to iterate through before iterating
...
through them.
2005-01-31 11:30:26 +00:00
Huw Davies
d488cb3e70
Structs with ptrs are also VT_USERDEFINED.
2005-01-28 13:59:08 +00:00
Huw Davies
652ec646ad
When adding an interface, midl adds the inherited interface first
...
unless the inherited interface doesn't itself inherit.
Fix the id, sizevft and datatype2 fields for interfaces that inherit.
Prevent a crash if the typelib is empty.
Clarify a few more entries on typelib_struct.h
2005-01-26 20:40:34 +00:00
Huw Davies
0e53bb3f7b
Fix typelib only option.
...
Make -t and -h options inclusive.
2005-01-26 19:40:47 +00:00
Huw Davies
a43a250bd1
Add enum support.
...
Another attempt at getting the alignment bits correct.
2005-01-25 20:02:09 +00:00
Huw Davies
b9bfc8e909
Add encoding for VT_R8.
...
Bug fix: Initialise child_size.
2005-01-25 19:02:32 +00:00
Huw Davies
6126fc75c9
unsigned char support.
2005-01-25 16:41:12 +00:00
Huw Davies
c1db191d9b
Add interface inheritance.
2005-01-25 10:56:58 +00:00
Huw Davies
0a2f7e2054
Add referenced types that aren't already in the typelib.
2005-01-24 13:31:50 +00:00
Huw Davies
3387fc9077
Fix handling of void.
2005-01-24 12:41:06 +00:00
Huw Davies
2e6bd29a88
Add support for hidden and restricted function attributes.
...
Add support for odl interface attribute.
2005-01-24 11:27:56 +00:00
Huw Davies
8c51807ba5
Bit 0x0200 always appears to be set in the typeinfo's
...
typekind/alignment member.
2005-01-21 17:04:00 +00:00
Huw Davies
2573227675
[local] functions should not be written to the typelib.
2005-01-21 16:19:39 +00:00
Rémi Assailly
49a6c097b3
Small char -> const char fix.
2005-01-21 10:20:04 +00:00
Huw Davies
21842318e9
Don't set ATTR_IN or ATTR_OUT by default - this essentially reverts
...
rev. 1.21. The proxy code must explicitly add these if they're
needed.
2005-01-20 20:34:08 +00:00
Huw Davies
218281c42c
Better guid hash.
2005-01-20 20:33:48 +00:00
Huw Davies
18b1fe8dee
MIDL adds two sets of custom data to the library: one is a timestamp
...
and the second is MIDL's version number.
2005-01-20 19:56:57 +00:00
Huw Davies
b1a0c6c3d7
Add propget and propput function attributes.
...
Clarify the meaning of the FKCCIC bit field.
2005-01-19 19:08:01 +00:00
Huw Davies
2717b812dd
Pad small strings out to eight bytes.
...
Fix 'has default values' flag.
2005-01-19 16:58:21 +00:00
Huw Davies
c7c55ff33a
Add a missing break to fix typeinfo version regression.
2005-01-18 11:39:31 +00:00
Huw Davies
90351160c9
Add VT_VARIANT support.
...
Fix for the case when there is no helpstringdll.
Fix for parameter arrays.
2005-01-17 13:41:19 +00:00
Huw Davies
55ca7eaaff
Add support for BSTR default values.
2005-01-14 17:20:43 +00:00
Huw Davies
ba874a31d0
Add support for interface ptrs including the special cases for
...
IUnknown and IDispatch.
2005-01-14 16:50:16 +00:00
Huw Davies
e9ca9f1955
Better type encoding. (Interface ptrs still not there yet).
2005-01-12 19:28:59 +00:00
Huw Davies
989960f77f
Add help* attributes for typeinfos and functions.
2005-01-11 10:38:51 +00:00
Huw Davies
635221222f
Add support for the help* attributes on type libraries.
2005-01-10 16:08:36 +00:00
Huw Davies
a3026ca8f9
Add support for optional arguments and some suppport for the
...
defaultvalue attributes.
Better calculation of the typeinfo's res3 member (at least for
interfaces).
2005-01-10 14:22:24 +00:00
Huw Davies
862e922c93
Add support for hidden, restricted and version attributes on
...
typeinfos.
2005-01-10 13:21:54 +00:00
Huw Davies
634693c114
Add attributes control, hidden and restricted.
...
Correctly set the libflags for these attributes.
2005-01-09 17:59:44 +00:00
Huw Davies
346188b755
Initial support for typelib generation.
2005-01-06 20:45:21 +00:00
Huw Davies
9e15a42008
Bring the debug functions into line with the rest of Wine by not
...
appending a '\n'.
2005-01-05 17:30:37 +00:00
Huw Davies
86fead3c25
Store interfaces, structs, coclasses and modules that are to be
...
written into a typelib in a list.
2005-01-05 17:12:25 +00:00
Huw Davies
5c1231d2df
Add the precedence of the conditional operator.
2005-01-04 20:34:05 +00:00
Jacek Caban
54cba79d64
Added optional, defaultvalue and vararg.
2005-01-03 14:26:17 +00:00
Vincent Béron
35a92e16c7
Generate only wanted files.
2004-12-27 17:13:25 +00:00
Jacek Caban
90ce00abeb
Fixed defining DIIDs.
2004-12-27 17:04:00 +00:00
Eric Pouech
294835a839
Another round of const correctness fixes.
2004-12-06 20:43:55 +00:00
Jacek Caban
5c98265050
Added writing forward declaration of dispinterface.
2004-10-18 19:35:08 +00:00
Jacek Caban
2161b36ac4
- Added creation of dispinterface header.
...
- Added creation of coclass header.
- Added messages when fopen fails.
2004-10-11 19:54:37 +00:00
Alexandre Julliard
68604dbae7
Allow defined types to be used as function names.
2004-10-06 18:54:20 +00:00
Alexandre Julliard
d062924f66
Removed no longer needed ICOM compatibility mode in widl.
2004-10-05 04:44:20 +00:00
Alexandre Julliard
4806630104
Added support for the propget/propput function attributes.
2004-10-05 02:14:54 +00:00
Filip Navara
75e02e9335
- Force default [in] attribute on all parameters where explicit [in]
...
or [out] attributes aren't specified.
- Force default [out] attribute on return values.
2004-09-28 02:12:36 +00:00
Mike McCormack
d8d2d96da2
Various formatting fixes.
2004-09-21 20:04:47 +00:00
Mike McCormack
0e5d9b56cb
Improve the handling of complex data types (strings and structs).
2004-09-20 19:11:16 +00:00
Mike McCormack
1a77ea567c
Determine RPC struct types more exactly.
2004-09-14 19:28:12 +00:00
Mike McCormack
2d8d1e2f74
Improve proxy code generated for oaidl.idl.
2004-09-13 18:05:47 +00:00
Mike McCormack
5d9b0d119c
Output NdrConvert, NdrClearOutParameters and IID constraints.
2004-09-10 19:34:14 +00:00
Mike McCormack
78c8ab9677
Output intermediate variables for the method to write into in stubs.
2004-09-09 19:18:10 +00:00
Mike McCormack
13088b8901
Generate some marshalling code for stubs.
2004-09-08 19:01:42 +00:00
Mike McCormack
3f6c088767
- make the widl generated proxy-stub code compilable
...
- generate marshalling and unmarshalling code for proxies
- generate exception handling constructs
2004-09-06 20:25:39 +00:00
Mike McCormack
cde0c0d1b6
Output code to clear OUT variables in proxy code.
2004-09-02 20:07:07 +00:00
Alexandre Julliard
20486e1c59
Get rid of the ICOM_MSVTABLE_COMPAT support, g++ no longer requires
...
this.
2004-08-23 18:10:02 +00:00
Alexandre Julliard
cfb3b7e81f
Output BEGIN/END_INTERFACE for C++ base classes too.
2004-08-22 22:31:52 +00:00
Mike McCormack
77ea021e5f
Generate BEGIN_INTERFACE,END_INTERFACE macros instead of
...
ICOM_MSVTABLE_COMPAT_FIELDS.
2004-08-22 02:25:05 +00:00
Francois Gouget
bf72af30d0
Modify widl to put the C COM macros inside an #ifdef COBJMACROS block
...
as is done in the Windows headers.
Add #define COBJMACROS where needed in Wine.
Fixes the compilation of the oleaut32/tests/olefont.c and
urlmon/tests/url.c conformance tests with the Windows headers.
2004-08-11 19:43:45 +00:00
Francois Gouget
cfc3943c5f
Make our ascii strings static const.
...
Remove a couple string variables that were used only once and use the
string literal directly.
2004-05-04 04:13:05 +00:00
Filip Navara
977d863c0e
Make widl parse the 'transmit_as' and 'endpoint' keywords.
2004-04-26 23:29:59 +00:00
Filip Navara
19fd305a7e
Make widl compile without most of Windows/Wine headers, so it can be
...
reused by other projects.
2004-04-22 03:40:01 +00:00
Robert Shearman
7f0abaffe5
- Handle "? :" conditionals.
...
- Allow [handle] attribute for types.
2004-04-19 23:08:22 +00:00
Hannu Valtonen
21731d47ec
Added a man page for widl.
2004-03-09 03:49:39 +00:00
Ove Kaaven
560a756790
Don't add imported constructs to any typelib output by default.
2004-02-12 00:31:40 +00:00
Ove Kaaven
88bbfadb2c
Parse the [input_sync] attribute.
2004-02-11 23:57:58 +00:00
Ove Kaaven
5d267d7372
Added rules to parse library, coclass, dispinterface, and module
...
definitions, and a number of attributes, and cleaned up a few things.
Started on a typelib generation framework.
2004-01-07 04:21:27 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard
ba5a968157
Added partial support for function pointers.
2003-09-03 20:16:24 +00:00
Alexandre Julliard
0bde2bbe01
Use <> format in generated #include statements.
...
Integer constants should be unsigned.
2003-09-03 19:31:14 +00:00
Jon Griffiths
140eb97eef
Portability fixes.
2003-08-18 20:00:44 +00:00
Alexandre Julliard
40672f99f8
Support objects with no method definitions (suggested by Jon
...
Griffiths).
2003-07-22 03:18:46 +00:00
Alexandre Julliard
09242a8ea6
Add #ifdefs around forwards and interfaces like MIDL does.
2003-07-01 03:43:09 +00:00
Alexandre Julliard
e1a9b10f51
Moved the wpp library from tools/ to libs/.
...
Create symlinks to the various libraries in the libs directory.
2003-05-01 03:16:21 +00:00
Alexandre Julliard
2d5519f15c
The com_interface attribute is not needed on derived classes.
...
Removed the ICOM_CTHIS* macros.
2003-04-12 00:09:14 +00:00
Alexandre Julliard
aae3cb61cd
Simplified COM interface declarations, removing the need to define
...
both an xxx_METHODS and an xxx_IMETHODS macro.
2003-04-11 00:31:02 +00:00
Alexandre Julliard
55379110c5
Get rid of the ICOM_CALL macros.
2003-04-10 21:13:58 +00:00
Alexandre Julliard
f00c46f030
Use a more compatible technique to declare COM interfaces methods,
...
using Microsoft's STDMETHOD macros instead of the Wine-specific
ICOM_METHOD ones.
2003-04-10 00:19:24 +00:00
Alexandre Julliard
6a9fe36de2
Created a separate static portability library and moved some of the
...
libwine routines in there.
2003-03-19 22:09:16 +00:00
Alexandre Julliard
3d4dcc2a25
Make sure we display the correct file name and line in error messages.
2003-03-16 23:52:24 +00:00
Alexandre Julliard
f8bac62769
Do not define __WINESRC__ when building tools and miscemu.
2003-01-09 01:57:15 +00:00
Ove Kaaven
be3c1141e3
Declare user-marshaller prototypes for types declared with [wire_marshal].
...
Define __WIDL__ preprocessor macro, so Wine-specific IDL can be enclosed
in #ifdef __WIDL__. Fixed a file output bug.
2003-01-09 01:05:54 +00:00
Dimitrie O. Paun
8b36681bad
Rename __WINE__ to __WINESRC__.
2003-01-04 00:52:18 +00:00
Alexandre Julliard
ea118ecb50
Fix the type of the This pointer in the vtbl functions inherited from
...
the base class.
2002-12-17 21:05:16 +00:00
Ove Kaaven
998236b7cf
Output raw ICOM-less C/C++ interface definitions by default. Added new
...
-b and -B command-line options for compatibility with ICOM macros.
2002-12-15 03:01:20 +00:00
Alexandre Julliard
f9875bc1ca
Added y.tab.[ch] pseudo-dependencies to fix parallel makes.
2002-12-15 01:19:53 +00:00
Ove Kaaven
064c48a607
Include guiddef.h in widltypes.h.
2002-12-15 01:13:18 +00:00
Ove Kaaven
e30a96776a
Parse the NOT operator, the [idempotent] attribute, and the handle_t
...
and error_status_t types. Improved some parsing rules to get rid of
the LINK_LAST and LINK_SAFE macros. Enclose generated .h file within
an extern "C" (for C++). Output function prototypes for regular RPC
interfaces. Fixed a couple of bugs.
2002-12-03 19:12:07 +00:00
Ove Kaaven
34e2f87f8f
Handle encapsulated unions in a cleaner (and less buggy) way. Emit the
...
names "DUMMYUNIONNAME" and "DUMMYSTRUCTNAME" for anonymous unions and
structs. Support const and extern definitions. Retain tokens (and
whether numbers are hex or not) used for computing constant
expressions, so that the full expression can be written to the header
file instead of the computed integer result of the expression. Parse
the sizeof() operator. Compute and remember constant definitions and
enum values so they can be used in expressions. Improved identifier
lookup speed. Fixed some bugs.
2002-11-30 01:49:46 +00:00
Gerald Pfeifer
af53e11fa0
Avoid using labels at the end of commpound statements.
2002-11-24 22:12:40 +00:00
Ove Kaaven
189397795d
Added "generate headers only" command-line option. Implemented imports
...
from inside interface definitions. Fixed a few problems with
generating header files for COM interfaces.
2002-11-21 00:02:38 +00:00
Alexandre Julliard
98f12a0db1
Make sure widl doesn't depend on the headers it has to generate.
2002-11-13 21:31:01 +00:00
Alexandre Julliard
b1c3a89ade
Moved rpc.h inclusion in widl-generated file so that tests compile.
2002-11-13 04:18:38 +00:00
Ove Kaaven
03c7d46806
Support for enums, arrays, encapsulated unions, signed/unsigned
...
qualifiers, UUIDs, include guards, the new ICOM_DEFINE1 macro, and
some other improvements.
2002-11-12 02:12:35 +00:00
Alexandre Julliard
f08b186373
Try to derive temp file names from output file names for better
...
portability.
2002-08-27 22:29:26 +00:00
Dmitry Timoshkov
c63d98038a
Include protection for <unistd.h>, <sys/types.h> and <sys/stat.h>.
2002-08-17 18:28:43 +00:00
Alexandre Julliard
ea97b39a79
Avoid dependencies on y.tab.h.
2002-08-13 03:30:58 +00:00
Alexandre Julliard
27189627cb
Added explicit dependency on y.tab.h for lex output.
2002-08-10 00:03:08 +00:00
Gregg Mattinson
8c9bdcc9e1
Fixes for Sparc build.
2002-08-07 01:18:41 +00:00
Gerald Pfeifer
2cbbcc1875
#include <unistd.h> which is required for unlink().
2002-07-25 23:57:54 +00:00
Alexandre Julliard
5f1565e7fd
Explicitly specify the path to wpp.h so we don't need to change the
...
include path, to avoid conflicts with multiple y.tab.h files.
2002-07-20 19:00:52 +00:00
Alexandre Julliard
7d4ee77cab
Merged the IDL compiler written by Ove Kaaven.
2002-07-16 03:20:45 +00:00