This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: C++ PATCH: 14035
- From: Andrew Haley <aph at redhat dot com>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: mark at codesourcery dot com, java-patches at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Wed, 20 Oct 2004 18:09:29 +0100
- Subject: Re: C++ PATCH: 14035
- References: <200410192329.i9JNTEcX022990@sirius.codesourcery.com><jemzyho8k2.fsf@sykes.suse.de>
Andreas Schwab writes:
> Mark Mitchell <mark@codesourcery.com> writes:
>
> > This patch fixes PR c++/14035. This PR was opened because of a cast
> > where we generated wrong-code for a C-style cast. In particular, we
> > generated a copy constructor call instead of a derived-to-base
> > conversion.
>
> This cause libjava to no longer build on ia64-linux:
>
> ../../../libjava/java/lang/natClass.cc: In function `void _Jv_LayoutVTableMethods(java::lang::Class*)':
> ../../../libjava/java/lang/natClass.cc:1823: error: cast from 'java::lang::Class*' to 'int' loses precision
> ../../../libjava/java/lang/natClass.cc:1831: error: cast from 'java::lang::Class*' to 'int' loses precision
> ../../../libjava/java/lang/natClassLoader.cc: In function `void _Jv_PrepareCompiledClass(java::lang::Class*)':
> ../../../libjava/java/lang/natClassLoader.cc:134: error: cast from 'java::lang::Class*' to 'int' loses precision
> ../../../libjava/java/lang/natClassLoader.cc:139: error: cast from 'java::lang::Class*' to 'int' loses precision
>
> The casts to int should probably be changed to casts to uaddr.
Yes, that is OK. size_t would be just as good.
Andrew.