Jacek Caban
6b34eea6fc
widl: Added an extension that uses inline functions instead of macros for C interface calls.
2012-07-26 12:17:25 +02:00
Jacek Caban
80d3055869
widl: Add IDL installation directory to include path.
2012-07-23 12:55:02 +02:00
Jacek Caban
42e77c849f
widl: Added --help command line option.
2012-06-08 19:35:16 +02:00
Jacek Caban
76693d52c7
widl: Added support for nameless structs and unions.
2012-05-14 10:29:40 +02:00
Jacek Caban
718adc91fc
widl: Make headers guards compatible with midl.
2012-03-08 19:22:45 +01:00
Jacek Caban
af2eba24b7
widl: Removed unused idfile_token.
2012-03-08 18:56:13 +01:00
Alexandre Julliard
42e583f1f6
widl: We no longer need to avoid windows.h in generated headers.
2012-01-20 15:59:02 +01:00
Alexandre Julliard
bf0c37d56a
widl: Zero-initialize [out] structures and unions that contain pointers.
2011-12-13 18:59:15 +01:00
Andrew Talbot
7f27eb6a45
widl: Avoid right-shift of negative values.
2011-11-23 09:13:04 +01:00
Jacek Caban
c7602d51b3
widl: Define __REQUIRED_RPCNDR_H_VERSION__ in generated headers.
2011-09-22 19:51:49 +02:00
Alexandre Julliard
977e15b762
widl: Store the type format offset for function parameters in the variable object.
2011-09-19 12:56:25 +02:00
Alexandre Julliard
e2a92702ed
widl: Pass variables around instead of types for function parameters.
2011-09-19 11:54:42 +02:00
Alexandre Julliard
c31948a775
widl: Make the function return value a variable.
2011-09-17 16:09:47 +02:00
Alexandre Julliard
05ff9dfeb1
widl: Include string formats in the element description for complex arrays.
2011-09-16 21:08:54 +02:00
Bernhard Loos
00ab883644
widl: Also create proxies/stubs for interfaces marked with oleautomation.
2011-09-06 15:42:28 +02:00
Alexandre Julliard
8e15db40a8
widl: Don't output stubs for interfaces included in a typelib.
2011-09-06 15:42:16 +02:00
Alexandre Julliard
4ff0faa67c
widl: Generate a registration script along with the typelib when creating a resource file.
2011-08-02 20:47:48 +02:00
Alexandre Julliard
b568287eef
widl: Add support for generating typelibs directly in resource format.
2011-08-01 21:38:56 +02:00
Alexandre Julliard
36e73eb3fb
widl: Add helper functions for outputting resource files.
2011-08-01 21:38:14 +02:00
Alexandre Julliard
0359b30b1b
widl: Only register interfaces when the factory buffer is known.
2011-08-01 17:20:46 +02:00
Alexandre Julliard
ca22457d7b
widl: Don't set base types to 0 on proxy entry.
2011-07-27 16:16:14 +02:00
Alexandre Julliard
0d76bb7ec3
widl: Clear out more types of parameters in the proxy error handlers.
2011-07-27 16:04:24 +02:00
Alexandre Julliard
82f33d3f6b
widl: Check for mismatched types in ?: expressions.
2011-07-25 10:43:09 +02:00
Jacek Caban
2b7c6a9599
widl: Produce __uuidof-compatible headers.
2011-07-14 21:51:36 +02:00
Alexandre Julliard
9df500d45d
widl: Support LANG_NEUTRAL as a valid lcid in typelibs.
2011-07-08 17:34:41 +02:00
Jacek Caban
f8c517978b
widl: Use proper calling convention attributes.
2011-07-07 17:32:12 +02:00
Marcus Meissner
28e92027b1
widl: Decrease is_object_interface after usage.
2011-07-06 17:01:32 +02:00
Jacek Caban
9afec542e0
widl: Generate class forward declaration for coclasses.
2011-07-06 16:58:49 +02:00
Jacek Caban
63d5462ced
widl: Insert standard windows.h and ole2.h includes to generated headers.
2011-06-27 13:30:57 -05:00
Alexandre Julliard
809810eb28
widl: Use NdrPointerFree instead of freeing by hand where possible.
2011-06-20 19:32:04 +02:00
Alexandre Julliard
c173399d62
widl: Move the pointer check functionality to typegen.c.
2011-06-14 12:55:39 +02:00
Alexandre Julliard
fa2b886d1d
widl: Also check array pointers for null ref pointers.
2011-06-14 12:55:22 +02:00
Alexandre Julliard
c70ef62958
widl: Make output unique pointers into object pointers in object interfaces.
2011-06-14 12:24:00 +02:00
Alexandre Julliard
bcca410733
widl: Allow unsized in,out string parameters.
2011-06-14 12:23:32 +02:00
Alexandre Julliard
351c6ca5e4
widl: If possible, use the interface name as prefix for the expr eval functions.
2011-06-13 23:59:04 +02:00
Alexandre Julliard
7a0ce4c864
widl: Include the parent interfaces in the proxy thunk table too.
2011-06-13 23:16:36 +02:00
Alexandre Julliard
5881069601
widl: Use delegation when inheriting from a local interface.
2011-06-13 22:16:05 +02:00
Alexandre Julliard
799000ea3a
widl: Include the parent interfaces in the proc format string offsets for proxies.
2011-06-13 21:58:33 +02:00
Alexandre Julliard
0cba5b06f5
widl: Use the local function as proxy entry for callas interpreted functions.
2011-06-13 21:17:52 +02:00
Alexandre Julliard
e620869d5f
widl: Output the list of rundown routines in server files.
2011-06-13 20:31:42 +02:00
Alexandre Julliard
717f2bebd8
widl: Use the context handle description instead of the pointer for arguments that are pointer to handles.
2011-06-13 20:09:47 +02:00
Alexandre Julliard
717bd66440
widl: Default to the cdecl calling convention in client/server functions.
2011-06-13 11:53:28 +02:00
Alexandre Julliard
49c31e3bf8
makefiles: Use the generic install flags for the tools directories.
2011-06-12 12:47:48 +02:00
Alexandre Julliard
3a709fa5bb
widl: Fix a typo in updating the type format offset for strings.
2011-06-09 13:18:58 +02:00
Alexandre Julliard
211ed7be48
widl: Fix packing of parameter structures for arguments larger than a pointer.
2011-06-09 12:08:48 +02:00
Alexandre Julliard
59171bd9f5
widl: Pass a structure containing the parameters to NdrClientCall instead of accessing the stack.
2011-06-09 12:08:48 +02:00
Alexandre Julliard
9f99d74a20
widl: Add a helper function for generating a stub that uses NdrClientCall.
2011-06-09 12:08:48 +02:00
Alexandre Julliard
350c93a164
widl: Don't require inline stubs for functions that are never generated.
2011-06-08 14:12:16 +02:00
Alexandre Julliard
3147545541
widl: Don't allow floating point parameters for interpreted functions.
2011-06-08 14:06:22 +02:00
Alexandre Julliard
36ee028f49
widl: Don't generate old-style interpreted stubs on 64-bit.
2011-06-08 12:14:47 +02:00
Alexandre Julliard
e4a0483529
widl: Set a correct fpu parameter mask on 64-bit.
2011-06-08 11:51:27 +02:00
Alexandre Julliard
d9cd0d8cac
widl: In 64-bit mode, pass all arguments to NdrClientCall instead of a pointer to the first one.
2011-06-08 11:34:46 +02:00
Jacek Caban
674ab49fa2
widl: Don't duplicate optarg and optind declarations in sources.
2011-06-07 14:18:34 +02:00
Alexandre Julliard
609602cb38
widl: Add support for generating new-style interpreted stubs for proxies.
2011-06-07 14:18:15 +02:00
Alexandre Julliard
01b44d1317
widl: Generate thunks for callas functions using interpreted stubs.
2011-06-07 12:11:50 +02:00
Alexandre Julliard
39b15066b0
widl: Add support for generating new-style interpreted stubs for servers.
2011-06-06 21:49:22 +02:00
Alexandre Julliard
e95d5a8e3c
widl: Add support for generating new-style interpreted stubs for clients.
2011-06-06 21:49:22 +02:00
Alexandre Julliard
b724138bd9
widl: Add support for new-style interpreted stubs in the proc format strings.
2011-06-06 21:49:22 +02:00
Alexandre Julliard
e644c2cd03
widl: Add support for generating old-style interpreted stubs for servers.
2011-06-03 12:27:54 +02:00
Alexandre Julliard
9c4d01f329
widl: Add support for generating old-style interpreted stubs for clients.
2011-06-03 12:27:14 +02:00
Alexandre Julliard
33ba9731a3
widl: Add support for generating old-style interpreted stubs for proxies.
2011-06-03 12:27:00 +02:00
Alexandre Julliard
4fe88648cb
widl: Always use signed types in parameter formats.
...
Native marshaller doesn't support the unsigned ones.
2011-06-03 12:26:31 +02:00
Alexandre Julliard
9128dea410
widl: Use the pointer offset for arrays declared as pointer in the proc format strings of interpreted functions.
2011-06-02 16:22:43 +02:00
Alexandre Julliard
11416a20c9
widl: Generate function headers in the proc format string for interpreted functions.
2011-06-02 16:22:43 +02:00
Alexandre Julliard
6ae510050b
widl: Add a -O option to specify stub style.
2011-06-02 16:22:42 +02:00
Alexandre Julliard
2db27725bf
widl: Don't allow unions passed by value or floating point returns for interpreted functions.
2011-06-02 16:21:52 +02:00
Alexandre Julliard
82d3ea86cf
widl: Always update the type format offset in write_type_tfs and not in callers.
2011-06-02 14:42:13 +02:00
Alexandre Julliard
5e67dcd10f
widl: Fix representation of context handles in the format string.
2011-06-02 14:41:55 +02:00
Alexandre Julliard
0f8b64a57b
widl: Add a more generic way of determining the type of handle for a function.
2011-05-31 18:32:58 +02:00
Alexandre Julliard
21cbdaa1eb
widl: Support using custom handle types with the implicit_handle attribute.
2011-05-31 18:32:58 +02:00
Alexandre Julliard
968c8688c4
widl: Array dimensions have to be constants.
2011-05-28 13:39:18 +02:00
Alexandre Julliard
0486140c3d
widl: Don't output callback conformances for non-interpreted functions.
...
The Windows marshaller calls the callback with an invalid stack.
2011-05-28 13:38:25 +02:00
Alexandre Julliard
93dd252116
widl: Output a list of binding routines in client files.
2011-05-27 12:07:29 +02:00
Alexandre Julliard
c2406be6d4
widl: Add support for top-level conformances.
2011-05-26 21:58:59 +02:00
Alexandre Julliard
d8059aee3a
widl: Move the check for already processed types into the type-specific functions.
...
Fixed a couple of instances where types were printed redundantly or
incorrectly reused.
2011-05-26 19:45:00 +02:00
Alexandre Julliard
52cb5b20f7
widl: Set the correct stack size for parameters in the proc format string.
2011-05-25 20:32:12 +02:00
Alexandre Julliard
56e65b4534
widl: Allow using fixed size arrays as strings.
2011-05-25 19:34:26 +02:00
Alexandre Julliard
96a5def678
widl: Also compute buffer size for non-ref pointers.
2011-05-25 00:22:40 +02:00
Alexandre Julliard
8f156e266e
widl: Return the buffer size of the object pointed by a ref pointer for all types.
2011-05-25 00:07:15 +02:00
Alexandre Julliard
2099d94001
widl: Call marshalling routines directly also for user-marshalled types accessed through a ref pointer.
2011-05-24 23:10:54 +02:00
Alexandre Julliard
bf9d2904dc
widl: Don't call the buffer sizer routine when the size is known already.
2011-05-24 22:47:07 +02:00
Alexandre Julliard
050f6f38d5
widl: Only return a buffer size for fixed-size arrays.
2011-05-24 22:30:39 +02:00
Marcus Meissner
37046546af
oleaut32: Fixed offset calculation (Coverity).
2011-05-09 10:50:27 +02:00
Marcus Meissner
0222ad7326
widl: Mark up a FALLTHROUGH case (Coverity).
2011-03-31 12:50:47 +02:00
Huw Davies
09dd285d8c
widl: Initialise [out] only conformant arrays.
...
This isn't strictly what midl does, however VB relies on the array in
IEnumVARIANT_Next() being zero initialised. Native uses stubless
proxies, where the initialisation is performed in NdrStubCall2().
2011-03-03 17:47:14 +01:00
Huw Davies
d8d963a9c3
widl: Don't dereference if the referenced type is a user type.
2011-02-03 16:24:55 +01:00
Huw Davies
5ae2b0f219
widl: Initialise [out] only parameters if they are user types or interface pointers.
2011-02-02 18:13:34 +01:00
Henri Verbeet
7421bb0b61
widl: Support forward type declarations.
2011-01-28 11:59:04 +01:00
Alexandre Julliard
56425e3767
widl: Don't generate proxies for oleautomation interfaces.
2011-01-19 17:43:01 +01:00
Alexandre Julliard
90c7acf845
widl: Allow specifying a class version outside of a typelib too.
2010-12-23 12:50:58 +01:00
Alexandre Julliard
fc3114ca80
widl: Don't free the input file name since it's stored in various places in the location info.
2010-12-23 12:50:52 +01:00
Alexandre Julliard
e5f65edfc9
widl: Allow specifying a version for a coclass independently of its typelib version.
2010-12-22 15:51:29 +01:00
Alexandre Julliard
875c1b8739
widl: Register the PSFactoryBuffer class as factory if it's defined in the idl file.
2010-12-17 14:58:47 +01:00
Alexandre Julliard
f3f5230b92
widl: Don't create the CurVer key if the ProgId is already version-independent.
2010-12-09 22:42:30 +01:00
Alexandre Julliard
cb246ca7a7
widl: Support encoding the DECIMAL type in typelibs.
2010-12-09 00:05:28 +01:00
Alexandre Julliard
8c78994866
widl: Signal an error when trying to output an undefined interface into a typelib.
2010-12-08 20:32:08 +01:00
Alexandre Julliard
2dc85894a7
widl: Improve registration of coclasses contained in typelibs.
2010-12-08 16:10:44 +01:00
Alexandre Julliard
15ccabc9a8
makefiles: Add common rules for installing the main man page.
2010-12-05 16:17:58 +01:00
Alexandre Julliard
2f5c578dba
widl: Output registration information also for IUnknown.
2010-12-03 19:29:49 +01:00
Alexandre Julliard
2bf6305ad6
widl: Don't force removal of progids since "CLSID" is also a progid.
2010-12-03 18:09:13 +01:00
Alexandre Julliard
b3ebd5a8c5
widl: Use the class name as default description for a progid.
2010-12-03 14:28:28 +01:00
Alexandre Julliard
335282f564
widl: Generate keys for coclasses in the registration resources.
2010-12-02 13:15:14 +01:00
Alexandre Julliard
3991b05746
widl: Add progid, threading and vi_progid attributes for coclasses.
...
This is a Wine extension, modelled after the corresponding attributes
supported by Visual C++.
2010-12-02 13:14:50 +01:00
Alexandre Julliard
ce3abe8c0c
widl: Add support for generating a .rgs registration script for the defined interfaces.
2010-11-27 13:29:13 +01:00
Alexandre Julliard
233814c21e
widl: Add a general -o option instead of having a different output name option for each file type.
2010-11-27 13:28:16 +01:00
Alexandre Julliard
5d3b4fb6cb
widl: Use the output buffer functions to write typelibs.
2010-11-27 11:54:51 +01:00
Alexandre Julliard
00dda6f687
widl: Copy the output buffer management functions from winebuild.
2010-11-27 11:42:09 +01:00
André Hentschel
d4dc2a3a4f
widl: Fix for typelib generation when unaligned access to memory is not allowed.
2010-11-15 13:20:05 +01:00
Amine Khaldi
c9dcef156e
widl: Do not define MIDL_user_allocate and MIDL_user_free as it's already in the psdk.
2010-10-27 12:02:41 +02:00
Alexandre Julliard
3593b65935
widl: Output a format string table and server info structure for servers.
2010-10-22 20:49:45 +02:00
Alexandre Julliard
9551524308
widl: Output a format string table and server info structure for stubs.
2010-10-22 20:23:56 +02:00
Alexandre Julliard
4c41dd5fca
widl: Duplicate the exception handling code between 32-bit and 64-bit.
2010-10-22 19:44:00 +02:00
Alexandre Julliard
575485c6e7
widl: Duplicate all the proxy data tables between 32-bit and 64-bit.
2010-10-22 19:41:07 +02:00
Alexandre Julliard
a638c663b5
widl: Add a separate function to write the proc format string for a function.
2010-10-21 21:36:45 +02:00
Alexandre Julliard
63d5217fd6
widl: Output some comments for proc format strings.
2010-10-21 21:36:45 +02:00
Alexandre Julliard
226e963429
widl: Use get_size_procformatstring_func() for clients too instead of duplicating the code.
2010-10-21 21:35:21 +02:00
Alexandre Julliard
2debb114e3
widl: Add support for some more typelib flags based on the added attributes.
2010-10-21 21:34:33 +02:00
Alexandre Julliard
537773fbf4
widl: Add some more attribute keywords.
2010-10-21 21:23:36 +02:00
Gerald Pfeifer
17ee7300f8
widl: Avoid duplicate assignments in resolve_expression.
2010-09-21 20:16:15 +02:00
Alexandre Julliard
81b8ee863e
makefiles: Add a standard header for all makefiles to replace the common variable initializations.
2010-09-19 12:36:48 +02:00
Austin English
b94bc5604a
widl: Fix compiler warnings on clang.
2010-09-18 13:23:29 +02:00
Alexandre Julliard
d3c4106d6f
widl: Fix declaration order in generated headers.
2010-09-06 17:06:59 +02:00
Jacek Caban
06f3b94584
widl: Define _WIN32 by default.
2010-09-01 14:01:04 +02:00
Alexandre Julliard
c6668089a4
widl: Set the default calling convention at header generation time, not at parsing time.
2010-08-27 13:52:09 +02:00
Alexandre Julliard
7d2869457f
widl: Fix parsing of function calling conventions.
2010-08-27 13:49:56 +02:00
André Hentschel
4bd8d384c4
widl: Add support for amd64-mingw32msvc platform.
2010-05-28 12:31:13 +02:00
Gerald Pfeifer
194fd8744a
widl: Simplify write_struct_tfs and remove an unused variable.
2010-05-03 15:40:58 +02:00
Gerald Pfeifer
ea6590af16
widl: Remove variable size which is not really used from print_phase_basetype.
2010-04-26 06:59:22 -05:00
Alexandre Julliard
1707c1c5cb
widl: Alignment for complex arrays and structs is the buffer alignment, not the memory one.
2010-04-05 20:07:22 +02:00
Alexandre Julliard
cb6a225481
widl: Add a type_memsize_and_alignment function to make it explicit where the alignment is truly needed.
2010-04-05 20:06:22 +02:00
Alexandre Julliard
4d55592540
widl: Move temp file management from wpp to widl.
2010-03-30 15:34:12 +02:00
Alexandre Julliard
a83563aa40
widl: Long constants must be 32-bit on all platforms.
2010-03-26 11:42:28 +01:00
Rob Shearman
0d88ba9e01
widl: Check whether an expression is a constant one before assuming it is a toplevel conformance when writing conformance or variance descriptors.
2010-03-23 17:29:12 +01:00
Rob Shearman
c65d16e9d5
widl: Make use of string_of_type in write_conf_or_var_desc.
...
This allows the code to not have to track the operator type twice.
2010-03-23 17:29:05 +01:00
Rob Shearman
5e0030b4cb
widl: Remove the current_func variable.
...
It's only set, never read from.
2010-03-23 17:28:59 +01:00
Rob Shearman
8a8fff6415
widl: Return a pointer to the correct part of the string from the lexer for WSTRQUOTE tokens.
2010-03-23 17:28:54 +01:00
Rob Shearman
b544014b8e
widl: Fix the calculation of casted integer constant expressions.
2010-03-23 17:28:50 +01:00
Rob Shearman
979bdf28b6
widl: Remove func_t type.
...
It was just a simple indirection to get to a var_t, so just replace
all uses of it with the latter.
2010-03-23 17:28:22 +01:00
Rob Shearman
a3f649f730
widl: Issue an error if an out parameter is a conformant string.
2010-03-23 17:28:14 +01:00
Rob Shearman
361a39fff3
widl: Issue an error if a context handle variable is declared outside of a function.
2010-03-23 17:28:02 +01:00
Rob Shearman
50534b87d0
widl: Fix crash when trying to declare a fixed size array with a size_is attribute.
...
In this case type_array_get_conformance will return NULL. The code
here is actually replacing an existing array with an EXPR_VOID
conformance with the specified conformance, so issue an error if
type_array_get_conformance returns NULL or the conformance has already
been defined.
2010-03-23 17:27:58 +01:00
Rob Shearman
096b3cd090
widl: Fix writing of MaxCount expressions for conformant strings declared using array form.
2010-03-23 17:27:33 +01:00
Rob Shearman
0ec617e01d
widl: Convert assign_stub_out_args to using typegen_detect_type and fix the non-conformant array case.
2010-03-23 17:27:04 +01:00
Rob Shearman
f6b53be0d9
widl: Don't pre-calculate buffer size for arrays that aren't treated as reference pointers.
2010-03-23 17:26:22 +01:00
Alexandre Julliard
fbef7217b9
makefiles: Remove the no longer needed explicit dependencies for bison files.
2010-03-16 13:28:24 +01:00
Alexandre Julliard
bef5645eb1
makefiles: Remove the no longer needed explicit separators for dependencies.
2010-03-16 13:28:19 +01:00
Rob Shearman
eb4100e91c
widl: Remove a FIXME comment in write_function_stubs.
...
Clean valgrind runs of tested types and comparison with MIDL-generated
code suggests that the existing code written in the finally block for
client code is sufficient.
2010-03-16 11:41:30 +01:00
Rob Shearman
fd96c54641
widl: Simplify write_parameter_conf_or_var_exprs by making use of typegen_detect_type.
...
Remove the difficult manual walking of the alias tree and make the
code easier to read and less likely to break if a new type is added.
2010-03-16 11:41:21 +01:00
Rob Shearman
82ab9443b8
widl: Clean up array case in write_remoting_arg.
...
Use a switch statement instead of multiple if statements and
explicitly write out the fixed array cases.
2010-03-16 11:41:14 +01:00
Rob Shearman
0e6ad1fa85
widl: Remove some FIXME comments and replace them with comments explaining why the current behaviour is correct.
2010-03-16 11:40:20 +01:00