binary compatibility ABI (was: Re: [boehm-gc] Import 6.3 alpha 1)

Andrew Haley aph@redhat.com
Wed Aug 13 19:08:00 GMT 2003


I'm working on this ABI. It ocurred to me that I didn't really know
exacltly what binary compatibility meant, and so I studied Chapter 13
and used it to write some test cases to see how well we're doing.
It was a very boring job, and took far longer than I expected.
However, I now have the test cases, and can report that we do:
FAIL bin_01: // Adding a method to a class
FAIL bin_02: // Adding a field to a class
PASS bin_03: // Adding a constructor to a class
FAIL bin_04: // Adding a method to an interface
PASS bin_05: // Adding a field to an interface
PASS bin_06: // Adding a constructor to an interface
FAIL bin_07: // Deleting a method from a class
FAIL bin_08: // Deleting a field from a class
PASS bin_09: // Deleting a constructor from a class
FAIL bin_10: // Reordering fields of a class
FAIL bin_11: // Reordering methods of a class
PASS bin_12: // Reordering constructors of a class
FAIL bin_13: // Moving a method upward in the class hierarchy
PASS bin_14: // Reordering the list of direct superinterfaces of a class
PASS bin_15: // Reordering the list of direct superinterfaces of an interface
FAIL bin_16: // Inserting a new class in the type hierarchy
PASS bin_17: // Inserting a new interface in the type hierarchy
and with -findirect-dispatch we do:
PASS bin_01: // Adding a method to a class
FAIL bin_02: // Adding a field to a class
PASS bin_03: // Adding a constructor to a class
PASS bin_04: // Adding a method to an interface
PASS bin_05: // Adding a field to an interface
PASS bin_06: // Adding a constructor to an interface
PASS bin_07: // Deleting a method from a class
FAIL bin_08: // Deleting a field from a class
PASS bin_09: // Deleting a constructor from a class
FAIL bin_10: // Reordering fields of a class
PASS bin_11: // Reordering methods of a class
PASS bin_12: // Reordering constructors of a class
PASS bin_13: // Moving a method upward in the class hierarchy
PASS bin_14: // Reordering the list of direct superinterfaces of a class
PASS bin_15: // Reordering the list of direct superinterfaces of an interface
PASS bin_16: // Inserting a new class in the type hierarchy
PASS bin_17: // Inserting a new interface in the type hierarchy
Unfortunately, this little test suite is driven by a shell script and
not a dejagnu script, so I still have some work to do before
committing this stuff to libgcj.
Two questions:
1. Are there any cases I've missed?
2. Are these results as expected?
Andrew.


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /