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:
Dimitry Andric
2024-08-01 13:41:40 +02:00
parent 5592576737
commit d2ae63c6fe

View File

@@ -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) \