OpenJDK 6 build 14 source posted
Andrew Haley
aph at redhat.com
Thu Dec 4 11:39:43 UTC 2008
Martin Buchholz wrote:
> On Wed, Dec 3, 2008 at 11:38, Joe Darcy <Joe.Darcy at sun.com> wrote:
>> The source bundle for OpenJDK 6 build 14 is available for download from:
>>
>> http://download.java.net/openjdk/jdk6/
>
> The new Hotspot 11 failed to compile on a modified 64-bit (debian arch=amd64)
> Ubuntu dapper system as follows:
>
> cc1plus: warnings being treated as errors
> /usr/local/google/home/martin/ws/buildAllOpenJDK6/hotspot/src/share/vm/utilities/ostream.cpp:
> In member function 'bool networkStream::connect(const char*, short
> int)':
> /usr/local/google/home/martin/ws/buildAllOpenJDK6/hotspot/src/share/vm/utilities/ostream.cpp:835:
> warning: comparison is always false due to limited range of data type
>
> 32-bit systems are unaffected (not sure why).
It's a bug. The code is basically this:
#include <stdint.h>
typedef uint32_t in_addr_t;
in_addr_t s_addr;
int pp ()
{
return (s_addr == (unsigned long)-1);
}
Promoting -1 to unsigned long on an LP64 machine gives
0xffffffffffffffff, which won't fit in an in_addr_t.
Another weird corner case in C: 6.3.1.3 para 2.
Andrew.
More information about the build-dev
mailing list