> I didn't see the original message to which this is replying. It's about C++ code which contains a function overloaded on jbyte and jboolean. This fails with GCJ because they are typedef'ed to the same type. > If you can make a test case I'll see if the bug can be fixed. Compare the table I referenced with these pieces from jni_md.h: | typedef int jbyte __attribute__((__mode__(__QI__))); | typedef int jshort __attribute__((__mode__(__HI__))); | typedef int jint __attribute__((__mode__(__SI__))); | typedef int jlong __attribute__((__mode__(__DI__))); | typedef int jboolean __attribute__((__mode__(__QI__))); | typedef unsigned short jchar __attribute__((__mode__(__HI__))); | typedef float jfloat; | typedef double jdouble; | typedef jint jsize; | typedef int8_t jbyte; | typedef int16_t jshort; | typedef int32_t jint; | typedef int64_t jlong; | typedef float jfloat; | typedef double jdouble; | typedef jint jsize; | typedef int8_t jboolean; | typedef uint16_t jchar; jboolean is signed, but Sun's spec says it should be unsigned.
Copying from the mailing list: from Andrew Haley <aph@redhat.com> to Tom Tromey <tromey@redhat.com> cc java@gcc.gnu.org date Mon, Oct 19, 2009 at 5:03 PM subject Re: Is gcj dead? mailing list <java.gcc.gnu.org> Filter messages from this mailing list unsubscribe Unsubscribe from this mailing-list hide details Oct 19 (8 days ago) - Show quoted text - Mathieu Malaterre wrote: > On Mon, Oct 19, 2009 at 3:10 PM, Andrew Haley <aph@redhat.com> wrote: >> Mathieu Malaterre wrote: >>> On Mon, Oct 19, 2009 at 3:00 PM, Andrew Haley <aph@redhat.com> wrote: >>>> Mathieu Malaterre wrote: >>>>> On Sun, Oct 18, 2009 at 12:08 PM, Andrew Haley <aph@redhat.com> wrote: >>>>>> Yuri wrote: >>>>>>> Last news in http://gcc.gnu.org/java/ are dated March 2007. >>>>>> Yes, we should update that. There hasn't been a lot of new gcj development, >>>>>> but it is maintained. >>>>>> >>>>>>> Also I submitted few PRs a month ago and there is no response at all. >>>>>> Which ones? >>>>> How about this one: >>>>> >>>>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40816 >>>> I am still rather nervous about that one, as it's an ABI change. >>> Point taken. >>> In the long term this will prevent compilation of package such as VTK >>> on debian on arch such as HPPA. >> Really? That's all rather amazing. Is there no simple workaround? > > Compilation error can be found here: > > http://www.vtk.org/pipermail/vtk-developers/2009-June/006110.html > > And source: > > http://public.kitware.com/cgi-bin/viewcvs.cgi/Graphics/vtkJVMManager.h?view=annotate > > I really do not see how I can work around that. Simply removing one of > the multiple signature is not a solution IMHO. Yes, I see what's going on. To Tom Tromey: This is an ABI change, but AFAICS the only time it makes a difference is where it's already broken. I'm tempted to make the change now. Andrew.
Any update ? Thanks
Subject: Re: error: 'jvariant::jvariant(jbyte)' cannot be overloaded On 01/22/2010 11:43 AM, mathieu dot malaterre at gmail dot com wrote: > ------- Comment #2 from mathieu dot malaterre at gmail dot com 2010-01-22 11:43 ------- > Any update ? No, I've just been cowardly. Remind me next week and I'll commit the change. Andrew.
Subject: Bug 40816 Author: aph Date: Wed Feb 24 15:34:19 2010 New Revision: 157047 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157047 Log: 2010-02-24 Andrew Haley <aph@redhat.com> PR java/40816 * include/jni_md.h: jboolean is an unsigned type. Modified: trunk/libjava/ChangeLog trunk/libjava/include/jni_md.h
.