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 hotspot-dev
mailing list