[PR c++/33887] Fix incorrect use of jboolean in link.cc
Alexandre Oliva
aoliva@redhat.com
Fri Jan 18 19:10:00 GMT 2008
We've been lucky for a while, because C++ doesn't reduce types
narrower than registers to their native width after every operation,
or ever. This enabled jboolean to behave like an unsigned byte,
rather than like a single bit, in the use in link.cc.
As we experimented transitioning C++ to a reduce-after-every-operation
mode, as a possible fix for PR c++/33887, this thinko in libjava got
exposed, because, with the change, the jboolean gets truncated to a
single bit. So, when a superclass has an even number of interfaces,
it remains unchanged, and when two superclasses both have odd numbers
of interfaces, they cancel out. Oops.
Fixed with the patch below, that Tom Tromey pre-approved. I'll check
it in as soon as my re-testing is completed.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gcc43-pr33887-java.patch
Type: text/x-patch
Size: 1151 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/java-patches/attachments/20080118/af0deef5/attachment.bin>
-------------- next part --------------
--
Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member http://www.fsfla.org/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}
More information about the Java-patches
mailing list