RFR: 8174050: Compilation errors with clang-4.0

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Aug 23 23:46:17 UTC 2017


Looks good to me.

Thanks,
Vladimir

On 8/23/17 4:37 PM, Martin Buchholz wrote:
> Thanks, Vladimir.
> Webrev regenerated.
> 
> I blindly coded
> 
> - assert(rng->Opcode() == Op_LoadRange || _igvn.type(rng)->is_int() >= 
> 0, "must be");
> + assert(rng->Opcode() == Op_LoadRange || _igvn.type(rng)->is_int()->_lo 
>  >= 0, "must be");
> 
> 
> 
> On Wed, Aug 23, 2017 at 3:39 PM, Vladimir Kozlov 
> <vladimir.kozlov at oracle.com <mailto:vladimir.kozlov at oracle.com>> wrote:
> 
>     Thank you, Martin
> 
>     Yes, sign compare is bad for pointers.
> 
>     Note, for pointers compare with use NULL instead of 0. Please, use NULL.
> 
>     The assert check in loopPredicate.cpp is simple missing reference to
>     field _lo (low bound of values range):
> 
>       _igvn.type(rng)->is_int()->_lo >= 0
> 
>     Please, fix it this way.
> 
>     Thanks,
>     Vladimir
> 
> 
>     On 8/23/17 2:25 PM, Martin Buchholz wrote:
> 
>         https://bugs.openjdk.java.net/browse/JDK-8174050
>         <https://bugs.openjdk.java.net/browse/JDK-8174050>
>         http://cr.openjdk.java.net/~martin/webrevs/openjdk10/pointer-sign-comparison/
>         <http://cr.openjdk.java.net/~martin/webrevs/openjdk10/pointer-sign-comparison/>
> 
>         My webrev could go in as is, but better would be for someone to
>         figure out
>         the intent of the nonsensical assert in
> 
>         src/share/vm/opto/loopPredicate.cpp
> 
>         (There is more to be done to support clang, but this is enough
>         to build
>         openjdk without patching source)
> 
> 


More information about the hotspot-dev mailing list