From d2ae63c6feffda05eb643520dd851451ee337f53 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Thu, 1 Aug 2024 13:41:40 +0200 Subject: java/openjdk11: fix build with clang 19 Clang 19 is now more strict about undefined integral expressions used as constants in enum, which results in errors compiling java/openjdk11, similar to: /wrkdirs/usr/ports/java/openjdk11/work/jdk11u-jdk-11.0.24-8-1/src/jdk.pack/share/native/common-unpack/constants.h:206:33: error: expression is not an integral constant expression 206 | AO_UNUSED_MBZ = (-1)<<13, // options bits reserved for future use. | ^~~~~~~~ /wrkdirs/usr/ports/java/openjdk11/work/jdk11u-jdk-11.0.24-8-1/src/jdk.pack/share/native/common-unpack/constants.h:206:37: note: left shift of negative value -1 206 | AO_UNUSED_MBZ = (-1)<<13, // options bits reserved for future use. | ^ Replace the negative value with ~0u to fix this error. PR: 280560 Approved by: glewis (maintainer) MFH: 2024Q3 --- .../patch-src_jdk.pack_share_native_common-unpack_constants.h | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 java/openjdk11/files/patch-src_jdk.pack_share_native_common-unpack_constants.h (limited to 'java/openjdk11/files') diff --git a/java/openjdk11/files/patch-src_jdk.pack_share_native_common-unpack_constants.h b/java/openjdk11/files/patch-src_jdk.pack_share_native_common-unpack_constants.h new file mode 100644 index 000000000000..b9e766070817 --- /dev/null +++ b/java/openjdk11/files/patch-src_jdk.pack_share_native_common-unpack_constants.h @@ -0,0 +1,11 @@ +--- src/jdk.pack/share/native/common-unpack/constants.h.orig 2024-07-27 15:11:22 UTC ++++ src/jdk.pack/share/native/common-unpack/constants.h +@@ -203,7 +203,7 @@ enum { + AO_HAVE_FIELD_FLAGS_HI = 1<<10, + AO_HAVE_METHOD_FLAGS_HI = 1<<11, + AO_HAVE_CODE_FLAGS_HI = 1<<12, +- AO_UNUSED_MBZ = (-1)<<13, // options bits reserved for future use. ++ AO_UNUSED_MBZ = (~0u)<<13, // options bits reserved for future use. + + #define ARCHIVE_BIT_DO(F) \ + F(AO_HAVE_SPECIAL_FORMATS) \ -- cgit v1.2.3