forked from orocos-toolchain/typelib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
133 lines (124 loc) · 6.03 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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
== Version 1.1
Markus Eich (3):
dist: the BEFORE/AFTER flag is not valid for LINK_DIRECTORIES
ruby: RARRAY_LEN and RARRAY_PTR are valid only on >= 1.8.6
ruby: fix missing return value
Sylvain Joyeux (79):
[ruby] resurrect Registry.import
[lang_c] properly ignore function definitions
[dist] update changelog
add some missing headers
[typelib] partial support for recursive types
[lang,c] support recursive structure definitions
[lang,tlb] fix indentation of enum fields
[test] remove debugging output
[ruby] fix argument passing and return value handling for int on x86_64
[ruby,doc] add the kind parameter in Registry#import examples
[lang,c] allow using enums to express constant expressions
[test] fix test definition in CMakeLists.txt files
[lang,c] allow sizeof(type) constructs as integer constants
better error reporting
[lang,c] properly handle sizeof(typename)
[typelib] endian swapping code must reject pointers
[ruby,test] increase depth in memory management tests
[test,ruby] update enumeration in tests
[lang,c] compiler may decide to round struct sizes. Handle this.
[typelib] fix crash in construction of UnsupportedType(type, reason)
[test,ruby] fix expected value for E_FROM_SIZEOF_SPEC
[cimport] fix gcc warnings about char* for string constants
[lang,c] properly ignore all GCC __attribute__ specification
[lang,c] ignore equivalence between typedef and already existing types
[lang,c] remove debugging-related leftovers
[core,ruby] implement Registry::minimal
[core] cleanup exception definition and handling
[cmake] boost/unit_test is optional
[cmake] antlr: be more specific about the source of errors
[lang,c] fix UTF-8 nonbreakspace character which slipped in
[lang,c] define the 'debug' flag and fix the rawflag(s) mess
[doc] update changelog
[core] update documentation
[lang,c] fix exception definition in the packing code
[core] properly validate template-like names
[core,lang,c] define opaque types
[tlb] compound size can be bigger than its fields
[lang,tlb] remove BOOST_CHECK_NO_THROW as we have less information by keeping it
[core] display compound size in <<
[ruby] minimal support for opaque types
[lang,idl] handle collections-as-opaque in IDL export
lang,c: GCC has attributes for typedefs too
lang,c: fix management of the type stack
lang,c: detect nested type definitions and raise an error
core: "long unsigned int" is a valid name for long
lang,c: fix strange crash
lang,c: be stricter about type stack management
lang,c: shut up Antlr warnings about unused return values
core: display only names of pointed-to types to handle recursive types
core,test: fix merging of compounds
ruby: disable dyncall use on architectures it does not support
test: test merging a complex repository
dist: fix dyncall-related messages in CMakeLists.txt
lang-c: fix handling of nested types
core: fix insertion of new types in Registry::add
add overloads for PluginManager::load with no config
ruby: define CompoundType#has_field?
core: properly support skip() at the beginning of the swap
tlb: XML-escape all type names
tlb: thow if an unknown XML node is encountered
[core] preliminary Container support
all: improve Container support
core: endianness operations now throw on opaque/container types
core: greatly improve Container support
test: shut up Valgrind by properly initializing/deinitializing containers
core,ruby: complete the Container support
ruby: define ContainerType.container_kind
ruby: define Type.memory_layout
core: define untyped version of dump() and load()
lang,idl: properly handle Containers as IDL sequences
lang,idl: HACK: hard-wire the convertion of std::string into IDL string
fix marshalling and unmarshalling of containers in vector<>
properly handle empty containers in the various value operations
tlb: make sure invalid elements are properly detected during load
test: 64bit integer constants need a 'LL' suffix
ruby: catch C++ exceptions in Registry#from_xml
allow to relax some checks on opaque types
move to dyncall 0.3 which supports PPC-Linux
test: make the marshalling test independent on the architecture
== Version 1.0rc2
* added a CORBA IDL export plugin
* fix import of the C construct "typedef bla array[size]", and
its export in IDL.
* namespace support in the C importer. In the meantime, fixed
the (badly broken) namespace support of Typelib::Registry
* added a "cxx" mode to the C importer (enabled by default),
where definitions of "struct Bla" and "enum Blo" automatically
define the corresponding "Bla" and "Blo" types
* cleanup of the export interface. The old interface is kept for
backward compatibility.
* fixes related to cmake and pkg-config: now compatible with cmake 2.6,
and pkg-config does not complain about typelib_ruby anymore (added a Version
field)
== Version 0.3
=== API
* new functionalities:
- EndianSwapVisitor: endianness swapping
- Registry#merge: merging one registry in another (taking care of
duplicates)
- export a (still minimal) public API for the Ruby extension
* bugfixes. Among them:
- Fixed multiple problems with array handling. In particular,
multi-dimensional arrays now work fine.
- fixed Float -> double* and Float -> float* convertions in function
calls
=== Ruby
* new functionalities:
- Typelib::memcpy
- Type#to_byte_array, Type#initialize: use of String objects as buffers.
This allows to interact with #pack or I/O
- Type#endian_swap: swapping endianness of values
- Type#to_csv and Type::to_csv: CSV output
* bugfixes. Among them:
- handle array arguments in functions
- fix Type#== for types that do double-dispatch
- documentation fixups
== Version 0.2
First version released for public consumption