[jdk8u-dev] RFR: 8075511: Enable -Woverloaded-virtual C++ warning for HotSpot build

Francisco Ferrari Bihurriet fferrari at openjdk.org
Wed Jul 3 16:19:22 UTC 2024


On Wed, 3 Jul 2024 16:09:25 GMT, Francisco Ferrari Bihurriet <fferrari at openjdk.org> wrote:

> Hi, this backport PR has been split apart from #532. The `-Woverloaded-virtual` GCC flag, in addition to the fact that warnings are treated as errors, should ensure an issue like #532 is caught next time.
> 
> In fact, the GitHub Actions' Linux builds should fail, since #532 is not yet integrated. Build log excerpt with the expected failure:
> 
> 
> /usr/bin/g++ -DLINUX -D_GNU_SOURCE -DAMD64 -DPRODUCT -I. -I/home/runner/work/jdk8u-dev/jdk8u-dev/jdk/hotspot/src/share/vm/prims -I/home/runner/work/jdk8u-dev/jdk8u-dev/jdk/hotspot/src/share/vm -I/home/runner/work/jdk8u-dev/jdk8u-dev/jdk/hotspot/src/share/vm/precompiled -I/home/runner/work/jdk8u-dev/jdk8u-dev/jdk/hotspot/src/cpu/x86/vm -I/home/runner/work/jdk8u-dev/jdk8u-dev/jdk/hotspot/src/os_cpu/linux_x86/vm -I/home/runner/work/jdk8u-dev/jdk8u-dev/jdk/hotspot/src/os/linux/vm -I/home/runner/work/jdk8u-dev/jdk8u-dev/jdk/hotspot/src/os/posix/vm -I../generated -DHOTSPOT_RELEASE_VERSION=""25.432-b00"" -DHOTSPOT_BUILD_TARGET=""product"" -DHOTSPOT_BUILD_USER=""runner"" -DHOTSPOT_LIB_ARCH="amd64" -DHOTSPOT_VM_DISTRO=""OpenJDK""  -DTARGET_OS_FAMILY_linux -DTARGET_ARCH_x86 -DTARGET_ARCH_MODEL_x86_64 -DTARGET_OS_ARCH_linux_x86 -DTARGET_OS_ARCH_MODEL_linux_x86_64 -DTARGET_COMPILER_gcc -DINCLUDE_JFR=1 -DCOMPILER2 -DCOMPILER1 -fPIC -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -fvisibility
 =hidden -m64  -pipe -fno-strict-aliasing  -fno-omit-frame-pointer -O3  -g -DVM_LITTLE_ENDIAN -D_LP64=1 -Werror -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wreturn-type -Woverloaded-virtual   -fstack-protector  -fno-delete-null-pointer-checks -fno-lifetime-dse -std=gnu++98 -c -MMD -MP -MF ../generated/dependencies/precompiled.hpp.gch.d -fpch-deps -x c++-header /home/runner/work/jdk8u-dev/jdk8u-dev/jdk/hotspot/src/share/vm/precompiled/precompiled.hpp -o precompiled.hpp.gch 
> In file included from /home/runner/work/jdk8u-dev/jdk8u-dev/jdk/hotspot/src/share/vm/precompiled/precompiled.hpp:262:
> /home/runner/work/jdk8u-dev/jdk8u-dev/jdk/hotspot/src/share/vm/opto/addnode.hpp:50:17: error: ‘virtual Node* AddNode::Identity(PhaseTransform*)’ was hidden [-Werror=overloaded-virtual]
>    50 |   virtual Node *Identity( PhaseTransform *phase );
>       |                 ^~~~~~~~
> /home/runner/work/jdk8u-dev/jdk8u-dev/jdk/hotspot/src/share/vm/opto/addnode.hpp:295:17: error:   by ‘virtual Node* MaxLNode::Identity(PhaseGVN*)’ [-Werror=overloaded-virtual]
>   295 |   virtual Node* Identity(PhaseGVN* phase);
>       |                 ...

Linux builds have failed as expected, for example: https://github.com/openjdk-bots/jdk8u-dev/actions/runs/9781029497/job/27004262886#step:8:1044

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

PR Comment: https://git.openjdk.org/jdk8u-dev/pull/534#issuecomment-2206731519


More information about the jdk8u-dev mailing list