RFR: 8254072: AArch64: Get rid of --disable-warnings-as-errors on Windows+ARM64 build [v2]

Magnus Ihse Bursie ihse at openjdk.java.net
Mon Oct 12 10:32:13 UTC 2020


On Thu, 8 Oct 2020 20:28:33 GMT, Bernhard Urban-Forster <burban at openjdk.org> wrote:

>> I organized this PR so that each commit contains the warning emitted by MSVC as commit message and its relevant fix.
>> 
>> Verified on
>> * Linux+ARM64: `{hotspot,jdk,langtools}:tier1`, no failures.
>> * Windows+ARM64: `{hotspot,jdk,langtools}:tier1`, no (new) failures.
>> * internal macOS+ARM64 port: build without `--disable-warnings-as-errors` still works. Just mentioning this here, because
>>   it's yet another toolchain (Xcode / clang) that needs to be kept happy [going
>>   forward](https://openjdk.java.net/jeps/391).
>
> Bernhard Urban-Forster has updated the pull request with a new target base due to a merge or a rebase. The pull request
> now contains 18 commits:
>  - Merge remote-tracking branch 'upstream/master' into 8254072-fix-windows-arm64-warnings
>  - ./src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp(1441): warning C4267: 'argument': conversion from 'size_t' to
>    'int', possible loss of data
>    ./src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp(1446): warning C4267: 'argument': conversion from 'size_t' to
>    'int', possible loss of data ./src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp(1654): warning C4267: 'argument':
>    conversion from 'size_t' to 'int', possible loss of data
>  - Revert changes for "warning C4146: unary minus operator applied to unsigned type, result still unsigned"
>  - msvc: disable unary minus warning for unsigned types
>  - ./src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp(1123): warning C4267: 'initializing': conversion
>    from 'size_t' to 'int', possible loss of data
>    ./src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp(1123): warning C4267: 'initializing': conversion
>    from 'size_t' to 'const int', possible loss of data
>  - ./src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp(1312): warning C4267: 'argument': conversion from 'size_t' to
>    'unsigned int', possible loss of data
>    ./src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp(1370): warning C4267: 'argument': conversion from 'size_t' to
>    'int', possible loss of data ./src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp(1441): warning C4146: unary minus
>    operator applied to unsigned type, result still unsigned ./src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp(1441):
>    warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
>  - ./src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp(2472): warning C4312: 'type cast': conversion from 'unsigned int'
>    to 'address' of greater size
>  - ./src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp(1527): warning C4267: 'argument': conversion from 'size_t' to
>    'int', possible loss of data
>  - ./src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(2901): warning C4267: 'initializing': conversion from 'size_t' to
>    'int', possible loss of data
>    ./src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(2901): warning C4267: 'initializing': conversion from 'size_t' to
>    'const int', possible loss of data
>  - ./src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp(2756): warning C4146: unary minus operator applied to unsigned
>    type, result still unsigned
>  - ... and 8 more: https://git.openjdk.java.net/jdk/compare/5351ba6c...a081dfb4

Changes requested by ihse (Reviewer).

make/autoconf/flags-cflags.m4 line 137:

> 135:       WARNINGS_ENABLE_ALL="-W3"
> 136:       DISABLED_WARNINGS="4800"
> 137:       DISABLED_WARNINGS+=" 4146" # unary minus operator applied to unsigned type, result still unsigned

This change will affect *all* JDK code. I'm not sure this was intended?

If it was intended, I think you need to motivate this more explicitly.

If you only wanted to disable the warning for hotspot, the proper solution would be to add it to
DISABLED_WARNINGS_microsoft in make/hotspot/lib/CompileJvm.gmk.

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

PR: https://git.openjdk.java.net/jdk/pull/530



More information about the build-dev mailing list