[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