PING: Re: Fix build failure with JAVAC_MAX_WARNINGS=true in	sun/nio/cs
    Florian Weimer 
    fweimer at bfk.de
       
    Tue Jun  8 23:55:35 PDT 2010
    
    
  
* Andrew John Hughes:
> On 7 June 2010 23:04, Xueming Shen <xueming.shen at oracle.com> wrote:
>> Hi Andrew,
>>
>> 6959197: When building with JAVAC_MAX_WARNINGS=true, the build fails in
>> sun/nio/cs due to the use of -Werror
>>
>> (1)sun/io/ByteTocharISO2022JP.java
>>   #129,  #151
>>
>>   if ((byte1 & (byte)0x80) != 0){
>>
>>       if ((byte2 & (byte)0x80) != 0){
>>
>>
>> (byte) casting is not necessary as well?
>>
>
> It's necessary.  0x80 is an integer literal
> (http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.10.1)
> which requires a lossy narrowing conversion to byte
> (http://java.sun.com/docs/books/jls/third_edition/html/conversions.html#5.1.3)
Doesn't the & operator promote its arguments to int anyway?  I don't
think the cast to byte makes a difference here because it does not
matter if 0x80 is sign-extended or zero-extended.
It might be more efficient to use "byte1 < 0" and "byte2 < 0" instead.
-- 
Florian Weimer                <fweimer at bfk.de>
BFK edv-consulting GmbH       http://www.bfk.de/
Kriegsstraße 100              tel: +49-721-96201-1
D-76133 Karlsruhe             fax: +49-721-96201-99
    
    
More information about the nio-dev
mailing list