This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Java: Miranda methods fix - PR 12254
- From: Michael Koch <konqueror at gmx dot de>
- To: Bryce McKinlay <bryce at mckinlay dot net dot nz>, gcc-patches at gcc dot gnu dot org, java-patches at gcc dot gnu dot org
- Date: Tue, 16 Sep 2003 10:37:43 +0200
- Subject: Re: Java: Miranda methods fix - PR 12254
- References: <3CA47F27-E81A-11D7-82B3-003065F97F7C@mckinlay.net.nz>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Am Dienstag, 16. September 2003 09:49 schrieb Bryce McKinlay:
> Miranda methods are those defined in an interface and implemented
> by an abstract class that does not explicitly redeclare or define
> them. A recent patch fixed/improved the way these "miranda methods"
> are implemented in GCJ, however it caused a problem which broke
> libgcj's networking code:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12254
>
> The problem seems to be that the order in which methods in an
> interface are seen by add_miranda_methods is dependent on whether
> that interface has previously been "laid out" by
> layout_class_methods - order matters for the current Java ABI. The
> solution is to call layout_class_methods explicitly on
> super-interfaces prior to checking them for miranda methods.
>
> This patch also modifies make_class_data so miranda methods are not
> included in abstract classes reflection data.
>
> OK to commit?
I vote for it as this fixes the recent miranda method bug with
gnu.java.net.Plain*SocketImpl.
Michael
- --
Homepage: http://www.worldforge.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/ZsvXWSOgCCdjSDsRAt2XAJ9QXGH5upzDI0WYu+/1kHT6tBaKygCfYpps
Rb6GfGBHr0Z8mQiu14OofxQ=
=V6Hk
-----END PGP SIGNATURE-----