Date: Thu, 01 Aug 2024 16:07:18 +0000 From: bugzilla-noreply@freebsd.org To: java@FreeBSD.org Subject: maintainer-feedback requested: [Bug 280559] java/openjdk8: fix build with clang 19 Message-ID: <bug-280559-8522-bUfbC35Hc3@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-280559-8522@https.bugs.freebsd.org/bugzilla/> References: <bug-280559-8522@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-java (Nobody) <java@FreeBSD.org> for maintainer-feedback: Bug 280559: java/openjdk8: fix build with clang 19 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D280559 --- Description --- Clang 19 is now more strict about undefined integral expressions used as constants in enum, which results in errors compiling java/openjdk8, similar to: =20=20=20 /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/hotspot/src/shar= e/vm /oops/cpCache.hpp:195:34: error: expression is not an integral constant expression 195 | option_bits_mask =3D ~(((-1) << tos_state_shift) | (field_index_mask | parameter_size_mask)) |=09=09=09=09=20=20=20=20 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ =20=20=20 /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/hotspot/src/shar= e/vm /oops/cpCache.hpp:195:42: note: left shift of negative value -1 195 | option_bits_mask =3D ~(((-1) << tos_state_shift) | (field_index_mask | parameter_size_mask)) | ^ =20=20=20 /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/hotspot/src/shar= e/vm /code/dependencies.hpp:173:27: error: expression is not an integral constant expression 173 | all_types =3D ((1 << TYPE_LIMIT) - 1) & ((-1) << FIRST_TYPE), |=09=09=09=20=20=20=20=20 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ =20=20=20 /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/hotspot/src/shar= e/vm /code/dependencies.hpp:173:59: note: left shift of negative value -1 173 | all_types =3D ((1 << TYPE_LIMIT) - 1) & ((-1) << FIRST_TYPE), | ^ In file included from /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/jdk/src/share/na= tive /com/sun/java/util/jar/pack/bands.cpp:43: =20=20=20 /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/jdk/src/share/na= tive /com/sun/java/util/jar/pack/constants.h:226:33: error: expression is not an integral constant expression 226 | AO_UNUSED_MBZ =3D (-1)<<13, // options bits reserved for future use. | ^~~~~~~~ =20=20=20 /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u422-b05.1/jdk/src/share/na= tive /com/sun/java/util/jar/pack/constants.h:226:37: note: left shift of negative value -1 226 | AO_UNUSED_MBZ =3D (-1)<<13, // options bits reserved for future use. | ^ In openjdk11 and later, the (-1) constants have been replaced by the unsigned variant (~0u), which fixes these errors.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-280559-8522-bUfbC35Hc3>