RFR: 8174050: Compilation errors with clang-4.0

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Aug 24 00:48:45 UTC 2017


I submitted pre-integration testing.

Vladimir

On 8/23/17 5:02 PM, Martin Buchholz wrote:
> I assume I need a sponsor; if so, please import
> http://cr.openjdk.java.net/~martin/webrevs/openjdk10/pointer-sign-comparison/pointer-sign-comparison.patch
> 
> On Wed, Aug 23, 2017 at 4:46 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com
>> wrote:
> 
>> 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/pointe
>>> r-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