-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathChanges
1015 lines (653 loc) · 25.4 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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
----------------------------
Version 0.85 (2024-10-01)
----------------------------
* remove bundled Test modules (should fix github #11)
* small change for compatibility with pre-dor perls
(should fix github #10)
* suppress some gcc warnings during build
* update `ppport.h`, which gets rid of a lot of clang
warnings
----------------------------
Version 0.84 (2020-11-23)
----------------------------
* skip threads testing on 5.9.5 and 5.10.0 as
Perl_clone() segfaults for these releases
----------------------------
Version 0.83 (2020-11-19)
----------------------------
* more Windows fixes
----------------------------
Version 0.82 (2020-11-19)
----------------------------
* fix speed tests (the new smaller code was parsing too
quickly for caching to have a strong impact)
* update documentation, e.g. bugtracker
----------------------------
Version 0.81 (2020-11-18)
----------------------------
* fix parallel builds
----------------------------
Version 0.80 (2020-11-17)
----------------------------
* fix 602_threads.t
----------------------------
Version 0.79_01 (2020-11-15)
----------------------------
* [WIP] fixing cpan #132904: License Inconsitencies
* update documentation
-------------------------
Version 0.79 (2020-05-19)
-------------------------
* fix cpan #121039: Fails tests when no "." in @INC; thanks to
Kent Fredric for the report & pull request and sorry for the
long time this bug/pr sat in the queue
* merge github PR #5: Remove use of indirect object notation in
tests; thanks to Julien Fiegehenn for the PR and sorry for the
long time this sat in the queue
* fix some tests that generated spurious output and didn't
actually test anything useful
-------------------------
Version 0.78 (2016-02-14)
-------------------------
* added Clang support to ccconfig
* fix cpan #109978: improve wording/grammar in POD; thanks to
gregor herrmann for providing a patch
* fix cpan #95716: Add support for #warn/#warning; thanks to
Jon DuSaint for providing an initial patch
* update module metadata
-------------------------
Version 0.77 (2015-07-22)
-------------------------
* ensure consistent order of enums when generating code; this was
a real bug and caused the configuration part of C::B::C to report
wrong (even invalid) configurations back to the user when built
using a recent version of Perl that randomises hash keys
* fix cpan #85264: the POD test was reporting a missing =back tag
in one of the support modules; the ultimate fix was to ensure only
the provided modules were POD checked
* fix cpan #83167: an artificially low refcnt for immortal variables
introduced recently for debug Perl builds was causing the refcnt
tests to fail for SvNULLs; thanks to Reini Urban for his patch;
also thanks to Nicholas Clark for pointing me to the Perl commit
* fix cpan #78165: spelling errors in the documentation; thanks to
gregor herrmann for providing a patch
* fix deprecated use of unescaped braces in regex
* fix some gcc and Perl warnings
* switch from SnapshotCM to git repo: github.com/mhx/Convert-Binary-C/
-------------------------
Version 0.76 (2011-04-11)
-------------------------
* it looks like I've found the source of the test failures reported
in cpan #56369; this version is an attempt to fix the problem, but
without fully understanding it -- if a windows guru can explain to
me why setjmp() deadlocks if the jmp_buf structure was allocated
through Perl's API (New, Newz, etc), I'd really appreciate it
-------------------------
Version 0.75 (2011-04-10)
-------------------------
* fix cpan #63381 / perl #79854: make sure warnings cause a cache
file not to be used (thanks to Andreas König for reporting this)
* fix bug in unpack where the code would attempt to create an array
with negative size when running out of input data
* make sure elf.PL reads/writes in binary mode (thanks to רחלי מרל
for finding this problem)
-------------------------
Version 0.74 (2009-04-18)
-------------------------
* fix sourcification of flexible array members (triggered by cpan
#45105; thanks to Alexander Ost for being persistent in his
attempt to convince me that there's a bug in sourcify)
-------------------------
Version 0.73 (2009-03-16)
-------------------------
* fix META.yml generation with newer versions of ExtUtils::MakeMaker
* work around an include path handling bug present in some versions
of Test::Harness
-------------------------
Version 0.72 (2009-03-15)
-------------------------
* fix cpan #43119: patch to allow Convert::Binary::C to build
with GCC 4.4.x (thanks to Alex Lancaster for providing a patch)
-------------------------
Version 0.71 (2008-04-15)
-------------------------
* added new 'StdCVersion' and 'HostedC' options for configuring
the predefined macros of the preprocessor
* fix debugging build with development version of Perl
-------------------------
Version 0.70 (2007-12-24)
-------------------------
-- released without changes --
----------------------------
Version 0.69_01 (2007-12-08)
----------------------------
* fix UV generation on platforms where NVs don't preserve
UVs (e.g. amd64) and perl doesn't know about UVs (<5.6.0)
* make the test suite more noisy when something goes wrong
-------------------------
Version 0.69 (2007-12-06)
-------------------------
* fix: unpack would return garbage when an unpack hook
causes the perl stack to be reallocated
* make ccconfig handle blanks in paths correctly
* slightly improve ELF parser example
* fix debug format strings
-------------------------
Version 0.68 (2007-06-25)
-------------------------
* allow #pragma pack(0) to reset to default alignment,
just like #pragma pack
* add checks for invalid #pragma pack() arguments
-------------------------
Version 0.67 (2006-12-29)
-------------------------
* bleeding edge perl versions don't have SVt_PVBM anymore,
which broke compilation of cbc/util.c
-------------------------
Version 0.66 (2006-11-02)
-------------------------
* fix a bug in the parser that accidentially allowed
qualified enum specifiers as unnamed compound members
* update test suite for better coverage of recent
compiler features and bitfields
-------------------------
Version 0.65 (2006-08-27)
-------------------------
* fix compilation issues with perls configured with
threads and debugging; these issues were caused by
a buggy implementation of the assert() macro in the
5.8 series of perl
* fix compilation issues with HP compiler on itanium
systems
* fix: hooks for the same type were not re-entrant
(i.e. you could not pack/unpack the same type
within a hook registered for that type)
* fix: passing sparse hashes or arrays to pack() in
combination with pack hooks was causing an assertion
* fix an integer promotion bug in the preprocessor
* add better support for C99-style array declarator
* fix enumerator handling: it was impossible to reuse
the name of an enumerator as an identifer
* ccconfig fix: macros defined to the empty string
were not properly detected
----------------------------
Version 0.64_02 (2006-03-24)
----------------------------
* struct members are now treated more Cish than before
* added experimental Dimension tag
* cleaned up some internals
----------------------------
Version 0.64_01 (2006-02-27)
----------------------------
* added new methods to interface with the preprocessor:
o the 'defined' method tests if a macro is defined
o the 'macro_names' method returns a list of all
defined macro names
o the 'macro' method returns macro definitions
* added 'Defines' option for 'sourcify' method; with
this option turned on, macro definition are also
sourcified
* the speed of the 'sourcify' method has been greatly
improved
* add a new pod coverage test
* fix a pod2usage call in elf.pl example
* improve warning when trying to pack references into
format tagged types
* make the module and some basic tests compatible with
perl 5.004
* the native() function/method now also supports the
'UnsignedChars' and 'UnsignedBitfields' properties
* the 'threads' feature is deprecated and will be removed
in a future relase
-------------------------
Version 0.64 (2006-01-16)
-------------------------
* fix version handling in *.pm files
* don't index bin/elf.PL
* upgrade ppport.h
----------------------------
Version 0.63_01 (2006-01-09)
----------------------------
* fix: using the Format tag on bitfield members now throws
an exception
* added experimental ByteOrder tag
* added ELF parser example
* improve internals
o better encapsulation of the pack/unpack code
o avoid unnecessary computations
o thanks to the cachegrind tool (http://valgrind.org), some
expressions in the lexer code of the ucpp preprocessor
could be optimized, making the preprocessor more than
10% faster on x86 platforms; this means that parsing
should be about 7% faster now
* improve test coverage
-------------------------
Version 0.63 (2005-12-29)
-------------------------
* fix a problem with the test suite when run in a directory
that contains whitespace characters
* (hopefully) fix the no_index problem in the META.yml by
replacing "dir" with "directory"
-------------------------
Version 0.62 (2005-12-01)
-------------------------
* fixed a bug in unpack() that would cause an error when
repeatedly passing a substr() as the data argument; this
is not a critical bug, because there's no silent failure
-------------------------
Version 0.61 (2005-10-27)
-------------------------
* fix Makefile.PL / META.yml
-------------------------
Version 0.60 (2005-10-26)
-------------------------
* fixed: the byte order setting was not correctly handed
to the bitfield layouter when using configure() before
using parse(); since that's what C::B::C::Cached does,
C::B::C::Cached could be using the wrong byte order for
bitfields
* the deprecated methods add_hooks(), delete_hooks() and
delete_all_hooks() have been removed
* silence some warnings with newer gcc versions
* start moving test suite to use Test::More
* bundle Test, Test::More and Test::Harness for older
perl versions
* extend compatibility down to perl 5.005
-------------------------
Version 0.59 (2005-06-13)
-------------------------
* fixed: dying hooks no longer leak memory
* added new 'UnsignedBitfields' option
* removed 'Bitfields are unsupported' warning
* documented bitfield support
* the usual cleanups and corrections
----------------------------
Version 0.58_01 (2005-05-23)
----------------------------
* bitfields are now supported; since bitfield implementations
differ from compiler to compiler (sometimes significantly),
the bitfield layouting engine can be exchanged at runtime;
bitfield support is, however, still considered experimental
* the memory used by internal data structures as well
as the number of malloc/free calls has been reduced
by about 15 percent; besides saving memory, this also
makes parsing and cloning a bit faster
* the whole pack()/unpack() engine was re-doing the work
that has previously been done by the compound layouter;
this redundancy has been removed, making the code more
readable (and a little bit faster)
* the compound layouter implementation has been separated
and can now be exchanged at runtime (which is currently
unused as there's only one implementation)
* the bison parser is now making use of the %destructor
feature introduced recently; this makes the parser code
a lot easier to read and maintain, and makes the parser
a bit faster; you need at least bison-2.0a to regenerate
the files
* when packing 'string' numbers, the 0b... syntax is now
supported for binary numbers
* ccconfig's interface and internals have been updated
* ccconfig now has a lot more options that hopefully allow
you to test compilers with strange commandline interface
* ccconfig is now more robust against compiler failures
* lots of minor tweaks and fixes
-------------------------
Version 0.58 (2005-02-21)
-------------------------
* there's now a mailing list; see the documentation or
README for details
* new tag() method provides a generic way of tagging
properties such as hooks to types
* the hooks methods are deprecated and will be removed
in a future release (new interface is provided through
tag() / untag())
* completely restructured the XS/C internals, since C.xs
was getting way too large; the code should be a lot
more modular and organized now
* make the preprocessor handle (read: ignore) any #ident
directives (problem spotted by Ronnie Kelly)
* use faster preprocessor tokenizer routine
* ccconfig: add --output-file and --output-format options
* fix invalid read bug when redefining a macro with trailing
whitespace (spotted by valgrind)
* make sure pack() returns null-terminated strings; not doing
so can confuse the regex engine
* strip redundant warnings from enum/compound/typedef methods
* fix deep recursion in llex() that causes bus error on hpux
(this should fix the activestate test failures)
* make util / ucpp use Perl's memory allocation functions
(this should fix problems with -Dusethreads and -Dusemymalloc)
* as usual, more tests and more docs
-------------------------
Version 0.57 (2004-11-23)
-------------------------
* allow empty initializers (spotted by Mike Lamb)
* add CharSize option to support architectures where
chars are larger than 8 bits (spotted by Esa Östring)
-------------------------
Version 0.56 (2004-09-19)
-------------------------
* allow empty member declaration lists
* minor doc fixes
-------------------------
Version 0.55 (2004-08-22)
-------------------------
* new native() function to query native properties
* feature() and native() can now also be called as methods
* allow setting Alignment and CompoundAlignment to zero to
request native alignment and compound alignment
* prefix compile-time defaults with CBC_ and document them
* upgrade ppport.h
* minor cleanups
-------------------------
Version 0.54 (2004-07-01)
-------------------------
* improved hooks features
* changed handling of autogenerated files that has been
causing trouble with crappy archiving tools
* minor bugfixes
-------------------------
Version 0.53 (2004-05-25)
-------------------------
* fixed a bug that messed up the return values when using
unpack in list context together with OrderMembers => 1
-------------------------
Version 0.52 (2004-05-24)
-------------------------
* added new CompoundAlignment option
* added new behaviour for unpack method in list context
* simplify inheriting from Convert::Binary::C
* fixed a bug in the initializer method that caused
wrong initialization strings for unnamed unions
* fixed a systematic bug that caused sourcify to return
invalid C code in a few special cases
-------------------------
Version 0.51 (2004-03-23)
-------------------------
* added method chaining for add_hooks, delete_hooks and
delete_all_hooks
* fixed some bugs when using substr() with pack and unpack
* documentation fixes and updates
-------------------------
Version 0.50 (2004-03-22)
-------------------------
* added support for flexible array members and incomplete
types
* added support for registering pack/unpack hooks to allow
user-defined packing/unpacking
* ucpp is now reentrant, thus there's no more locking of
parse/parse_file
* fixed a memory leak when using OrderMembers => 1
* improved ccconfig's detection of ability to compile
object/executable files
* lots of minor bugfixes and code cleanups
-------------------------
Version 0.49 (2003-11-24)
-------------------------
* fixed build problem on multi-threaded 5.6.x perls by
removing irrelevant code from ppport.h
* changed error reporting: preprocessor errors are no
longer only warnings
(this fixes an issue with Convert::Binary::C::Cached
creating an empty cache file if none of the #include'd
files could be found)
* fixed some error/warnings reporting problems with
Convert::Binary::C::Cached
* minor cleanups
-------------------------
Version 0.48 (2003-11-03)
-------------------------
* added new 'OrderMembers' option: this option allows you
to tie all hashes returned by the unpack method to either
Tie::Hash::Indexed or Tie::IxHash, thus preserving the
order of compound members when e.g. dumping the hashes or
iterating through their keys/values
* slightly improved performance for pack method
* added META.yml
* lots of code cleanups
* small bugfixes
-------------------------
Version 0.47 (2003-09-11)
-------------------------
* enhanced behaviour of def() method
* added new pod test
* fixed some buglets
-------------------------
Version 0.46 (2003-09-09)
-------------------------
* fixed bug #3753 "packing a struct/member/field causes a
bus error"
* added new warnings when packing/unpacking zero-sized types
* updated the docs with links to http://rt.cpan.org and
http://cpanratings.perl.org
-------------------------
Version 0.45 (2003-08-18)
-------------------------
* fixed/improved sourcify output for #pragma pack
* added Context option for sourcify method
-------------------------
Version 0.44 (2003-08-17)
-------------------------
* fixed behaviour of typeof method for bitfields
* dependencies method now returns plain list of files when
called in list context
* doc fixes
-------------------------
Version 0.43 (2003-07-24)
-------------------------
* fixed: undef values returned by unpack were not writable
and caused problems with almost all versions of perl
* fixed: sizeof() could return garbage when used on array
types
* fixed bogus warning generated by pack when explicitly
passing 'undef'
* improved warning messages generated by pack
* added error when using offsetof on bitfields
* added new initializer method
* the offset argument to the member method is now optional;
without the offset argument, a list of all possible
members is returned
* code cleanups
-------------------------
Version 0.42 (2003-06-23)
-------------------------
* added new 'ieeefp' feature
* new floating point conversion code to support both IEEE
and non-IEEE sytems
o on machines using the IEEE format to store floating
point numbers, you can pack/unpack arbitrary byteorder
floating point values for all supported native sizes
o on machines not using the IEEE format, packing and
unpacking of floating point values is restricted to
the types natively available
* floating point conversion checks and warnings have been
improved
* added floating point format detection to ccconfig
* some code cleanups
-------------------------
Version 0.41 (2003-06-10)
-------------------------
* added support for gcc's asm syntax
* some cleanups
-------------------------
Version 0.40 (2003-04-20)
-------------------------
* same as 0.13, just to make CPAN(?:PLUS|-indexer)? happy
-------------------------
Version 0.13 (2003-04-20)
-------------------------
* changed behaviour of member method in list context
o doesn't return the member's type any longer
o returns all matching members instead, if multiple
members match the given offset
o this change is NOT backward compatible
o to get the old behaviour, turn
($member, $typeof) = $c->member( $type, $offset );
into
$member = $c->member( $type, $offset );
$typeof = $c->typeof( $type.$member );
* fixed lots of memory leaks resulting from using sv_dec()
where SvREFCNT_dec() should have been used instead
* fixed memory leak when object construction fails
* fixed sourcify for enums in special cases
* fixed segfault in debugging mode
* removed lots of limitations and fixed lots of bugs when
dealing with member expressions
* changed module/ccconfig versioning; now
$Convert::Binary::C::VERSION
$Convert::Binary::C::Cached::VERSION
as well as the version of ccconfig are all set to the
version of the distribution to avoid confusion
* added new typeof method
* added dwimmy handling of offset suffixes
* added basic type support for many methods
* allowed basic types to be used without parsing any code
* allowed enum/struct/union prefixes for enum, compound,
struct and union methods
* improved performance when using a threaded perl binary
by about 20%; performance is now only 5% worse than
with a non-threaded binary
* added new "understanding types" section to documentation
* fixed some inconsistencies in documentation
* added some new warnings
* added lots of new tests, some based on coverage analysis
using gcov
* fixed some tests that could fail due to random binary
input when (un)packing floating point values
* used ppport.h for compatibility
* added check for unsupported perl binary configuration
with usemymalloc=y _and_ threads
* lots of code cleanups
-------------------------
Version 0.12 (2003-03-18)
-------------------------
* fixed some bugs in ccconfig
* fixed dealing with cache file corruption
* minor fixes in documentation
* use Devel::Tokenizer::C for tokenizer generation
-------------------------
Version 0.11 (2003-02-27)
-------------------------
* fixed problem with recursive data structures in sourcify
* minor cleanups
-------------------------
Version 0.10 (2003-01-23)
-------------------------
* added --version for ccconfig
* cleaned up and fixed format strings
* updated README
-------------------------
Version 0.09 (2003-01-20)
-------------------------
* fixed problems with va_list on Linux-PPC that caused some
tests to segfault
* updated preprocessor output detection in ccconfig for
"smart" preprocessors
* minor fixes and cleanups
* minor documentation updates
-------------------------
Version 0.08 (2003-01-15)
-------------------------
* added ccconfig --nodelete option
* added context info for structs/unions/enums
* removed 'c99' feature
* documentation updates and fixes
-------------------------
Version 0.07 (2003-01-09)
-------------------------
* fixed packing/unpacking for #pragma pack
* complete rewrite of member() algorithm
* added 'KeywordMap' option to add keywords directly to the parser
* added new behaviour for EnumSize => -1
* extended ranges of some integer options
* integrated new version of ucpp
* added 'ccconfig' script
* example scripts are now generated
* added and improved tests
* documentation updates
* lots of other tiny tweaks
* deprecated 'c99' feature, will be removed in 0.08
-------------------------
Version 0.06 (2002-12-13)
-------------------------
* removed options 'HasVOID' and 'HasC99Keywords'
* added 'DisabledKeywords' option, which replaces both 'HasVOID' and
'HasC99Keywords', and allows to disable a lot of other keywords, too:
HasVOID => 0 --> DisabledKeywords => ['void']
HasC99Keywords => 0 --> DisabledKeywords => [qw(inline restrict)]
* updated parser to ignore type definitions within code blocks
* fixed an access violation when cleaning up the preprocessor
* removed warning when using sourcify method
* added some more tests
* added examples directory and some example scripts
* added more examples to documentation
* documentation fixes/updates
-------------------------
Version 0.05 (2002-11-28)
-------------------------
* fixed a bug that suppressed the error message
when the cache file could not be created, and
added a test for it
-------------------------
Version 0.04 (2002-11-27)
-------------------------
* support for 64-bit data types on all platforms
* additional data types
o long long
o long double
* new methods
o clean -- cleaning an object
o clone -- cloning an object
o depencencies -- retrieve an object's dependencies
o sourcify -- emit an object's parsed data as C source
* changed method behaviour
o configure
- The 'HashSize' option has been removed. I didn't like
it anyway, and since the hash tables are now growing
automatically, it's completely useless.
o def
- Instead of undef, 0 and 1, the def method will now return
undef, '' (the empty string) or the kind of the type you
passed as an argument, e.g. 'typedef' or 'union'.
* added method behaviour
o configure
- Calls to configure (and other configuration methods) can
be chained together when they're 'set' method calls.
o parse, parse_file
- All method calls that have no return value will return a
reference to their object, so method chaining is possible.
o pack, unpack, sizeof, offsetof, member
- These methods now can all operate on compound members, i.e.
you could say $obj->sizeof( 'type.foo.x' ).
o member
- The member method now can optionally return the type of the
requested member.
* new Convert::Binary::C::Cached module
o cached Convert::Binary::C objects
o identical interface
o can speed up parsing by up to 10 - 20 times
* increased speed for packing and unpacking arrays
* increased portability
* added new and improved existing tests
* some bug fixes and a lot of code cleanups
* upgraded to bison 1.75
-------------------------
Version 0.03 (2002-09-25)
-------------------------
* fixed default sizes for floats and double in object constructor
* fixed some 64-bit architecture issues
* fixed bug in bison parser
* fixed problems with some tests
* added support for dec_osf platform
-------------------------
Version 0.02 (2002-08-31)
-------------------------