gcc-patches@gcc.gnu.org
[Top] [All Lists]

Re: [PATCH] Fix gcjh handling of most negative int/longs

Subject: Re: [PATCH] Fix gcjh handling of most negative int/longs
From: Jakub Jelinek
Date: Tue, 23 May 2006 08:35:32 -0400
On Tue, May 23, 2006 at 01:29:57PM +0100, Andrew Haley wrote:
>  > On 64-bit hosts jint type is apparently 64-bit
> 
> No.
> 
>  > (javaop.h has
>  > #ifndef int32
>  > #define int32 long
>  > #endif
>  > ...
>  > typedef int32                   jint;
> 
> That's right.  jint is 32 bit, always.
> 
>  > ), but the following hunk in print_field_info relies on it being
>  > 64-bit.  Either we could change jint to be always exactly 32-bit
>  > type on all hosts, or we need something like the patch below,
>  > otherwise headers generated by 64-bit gcjh generate warnings in 32-bit
>  > compilation.
> 
> jint is defined as 
> 
>   typedef __java_int jint;

Only in libjava/gcj/javaprims.h, i.e. it has the right type in libjava.
But not in gcc/java, where it is typedefed to long.

        Jakub

<Prev in Thread] Current Thread [Next in Thread>