[jdk11u-dev] RFR: 8282372: [11] build issue on MacOS/aarch64 12.2.1 using Xcode 13.1: call to 'log2_intptr' is ambiguous

Ahmed Muhsin duke at openjdk.java.net
Sat Feb 26 05:34:58 UTC 2022


On Fri, 25 Feb 2022 22:04:25 GMT, Dean Long <dlong at openjdk.org> wrote:

>> …all to 'log2_intptr' is ambiguous
>> 
>> Fix build error.
>> 
>> In case someone else addresses this I can well cancel this PR.
>
> Does this work for Windows+ARM64?
> @rnkovacs

@dean-long 

This change does not conflict with the windows-aarch64 build. 

However, the windows-aarch64 build does have a separate build issue that is due to this commit: https://github.com/openjdk/jdk11u-dev/pull/715/commits/6d0379585aef668dedcf1f392349ccc72d6d192b

The fix is to just revert that commit. I do not have an account on JBS yet but if someone else wants to go ahead and create the bug I can submit the PR.

Here's a copy of the build error:

* For target hotspot_variant-server_libjvm_objs_macroAssembler_aarch64.obj:
macroAssembler_aarch64.cpp
d:/a/1/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(1495): error C3688: invalid literal suffix 'PRIX64'; literal operator or literal operator template 'operator ""PRIX64' not found
d:/a/1/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(1495): error C2664: 'int snprintf(char *const ,const size_t,const char *const ,...)': cannot convert argument 3 from 'uint64_t' to 'const char *const '
d:/a/1/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(1495): note: Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
d:\a\1\openjdk-azure-devops-harness\workspace\tmp1oj032l3\10\include\ucrt\stdio.h(1919): note: see declaration of 'snprintf'
d:/a/1/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(1558): error C3688: invalid literal suffix 'PRIX64'; literal operator or literal operator template 'operator ""PRIX64' not found
d:/a/1/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(1558): error C2664: 'int snprintf(char *const ,const size_t,const char *const ,...)': cannot convert argument 3 from 'uint64_t' to 'const char *const '
d:/a/1/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(1558): note: Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
d:\a\1\openjdk-azure-devops-harness\workspace\tmp1oj032l3\10\include\ucrt\stdio.h(1919): note: see declaration of 'snprintf'
d:/a/1/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(1671): error C3688: invalid literal suffix 'PRIX32'; literal operator or literal operator template 'operator ""PRIX32' not found
d:/a/1/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(1671): error C2664: 'int snprintf(char *const ,const size_t,const char *const ,...)': cannot convert argument 3 from 'uint32_t' to 'const char *const '
d:/a/1/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(1671): note: Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
d:\a\1\openjdk-azure-devops-harness\workspace\tmp1oj032l3\10\include\ucrt\stdio.h(1919): note: see declaration of 'snprintf'
   ... (rest of output omitted)


cc: @Vladimirkempik @theRealAph 
Although reverting the commit  fixes the build issue, there was some discussion about the correctness of the original change here: https://github.com/openjdk/jdk11u-dev/pull/715#issuecomment-1032449457 

I don't want to hijack this thread so we can continue that discussion under the new bug/PR once someone creates it.

-------------

PR: https://git.openjdk.java.net/jdk11u-dev/pull/841


More information about the jdk-updates-dev mailing list