libjava status on Solaris 8/Intel and IRIX 6.5

Tom Tromey tromey@redhat.com
Mon Mar 18 14:08:00 GMT 2002


>>>>> "Andrew" == Andrew Haley <aph@redhat.com> writes:

Andrew> It's not ugly, just different.  Instead of
Andrew>    void barf (java::lang::grope *poo)
Andrew> you have
Andrew>    void barf (ref<java::lang::grope> poo)
Andrew> and carry on as usual.

We can't do that for our CNI methods due to name mangling.
Instead we have to wrap all incoming arguments.

    void barf (java::lang::grope *poo)
    {
      ref<java::lang::grope> no_really = poo;

      ... hope you don't use `poo' by mistake in here, since it will
      silently "work" ...

    }

Even with this I think it makes sense for us to make the change.  It
will take a lot of time and will be hard to maintain, but it seems
necessary.  I'd prefer to change g++, but I'd guess that will be hard
to sell.

Tom



More information about the Java mailing list