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
This commit is contained in:
@@ -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) \
|
||||
Reference in New Issue
Block a user