forked from xavierleroy/camlidl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChanges
90 lines (73 loc) · 3.37 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
* Update to OCaml 4.06 and up (issue #6)
CamlIDL 1.06:
-------------
* Update to OCaml 4.03.
* Avoid name clash on Array module.
CamlIDL 1.05:
-------------
* Update to the new representation of objects introduced in OCaml 3.08.
* Fixed compiler failure with bigarrays of "const" elements.
* Fixed bug in conversion from C's signed char to Caml's char type.
* Function declarations support the [mlname] attribute (to set the
Caml name of the function) and the [blocking] attribute (for long-running
C functions).
* Fixed cpp preprocessing problem on MacOS X 10.2 and later.
* Fixed bug in conversion from a struct of floats to a Caml record of floats.
* Fixed incorrect initialization of DLL generated for a COM component.
CamlIDL 1.04:
-------------
* Fixed silly bug in abstract typedefs, introduced in 1.03.
* Strings, arrays and bigarrays are now non-NULL if "unique" is not specified,
even if the pointer default is "unique".
* "out" parameters dependent on "out" parameters are now removed from
the Caml view of a function.
* Removed spurious warning on the "mlname" attribute.
CamlIDL 1.03:
-------------
* Revised handling of integer constants, which can now be of Caml boxed int
types (int32, int64, nativeint).
* Dependent fields can now reference all variables that are in lexical scope,
e.g. struct { int n; struct { [size_is(x)] int * n; } s; }
* The C file generated from x.idl is now named x_stubs.c rather than x.c
to avoid a name clash on file x.o when compiling x.ml to native code.
* Added [finalize(fn)], [compare(fn)] and [hash(fn)] on abstract typedefs
to associate user-provided finalization, comparison or hashing functions
to typedefs.
* Fixed some oddities with the "const" qualifier.
CamlIDL 1.02:
-------------
* Added support for the "long long", "hyper int" and "__int64" types
(64-bit C integers)
* Added support for "const" modifier on pointer types
* Support for [unique] attribute on big arrays, turned into option types
in the Caml interface
* Generated C code should now compile cleanly with a C++ compiler
* Print source location for most warnings
* Error location was sometimes way off; this is now fixed
* Fixed incorrect code generated for the types HRESULT_int and HRESULT_bool
* Fixed refcount management bug causing early deallocation of interfaces
implemented in Caml.
CamlIDL 1.01:
-------------
* Added support for Caml boxed int types (int32, int64, nativeint)
and for big arrays (module Bigarray)
* Fixed bug in allocation of working space for out parameters
of array types.
* Disambiguation of record labels that belong to several struct types.
* Support for [unique] attribute on strings and arrays, turned into
option types in the Caml interface.
* Fixed bug with anonymous enum types (forgot to define the
corresponding translation table).
* Fixed bug with dependent parameters depending on out parameters
(these must not be omitted in the Caml function declaration).
* "in,out" parameters of type string or big array are now presented
as an "in,out" parameter of the Caml function and modified in place,
rather than presented as a parameter and a result.
* Added minimal support for COM dispatch interfaces.
* Fixed lack of initialization of ignored pointers for structs with
only one significant field.
* Relicensed under the QPL (for the compiler) and the LGPL (for
everything else).
CamlIDL 1.00:
-------------
First public release.