Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Apr 2023 12:58:04 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 271080] java/openjdk8: fix build with clang 16
Message-ID:  <bug-271080-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D271080

            Bug ID: 271080
           Summary: java/openjdk8: fix build with clang 16
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: java@FreeBSD.org
          Reporter: dim@FreeBSD.org
          Assignee: java@FreeBSD.org
             Flags: maintainer-feedback?(java@FreeBSD.org)

Since clang 16 (and gcc 11) the default C++ standard is now gnu++17.
Because java/openjdk8's build infrastructure does not explicitly set its
C++ standard, this leads to several errors:

=20
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u362-b09.1/hotspot/src/shar=
e/vm/adlc/arena.cpp:82:3:
error: ISO C++17 does not allow 'register' storage class specifier [-Wregis=
ter]
    register Chunk *k =3D _first;
    ^~~~~~~~~
=20
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u362-b09.1/hotspot/src/shar=
e/vm/adlc/arena.cpp:96:3:
error: ISO C++17 does not allow 'register' storage class specifier [-Wregis=
ter]
    register Chunk *k =3D _chunk;   // Get filled-up chunk address
    ^~~~~~~~~
  2 errors generated.
=20
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u362-b09.1/hotspot/src/shar=
e/vm/adlc/adlparse.cpp:4567:3:
error: ISO C++17 does not allow 'register' storage class specifier [-Wregis=
ter]
    register char c;
    ^~~~~~~~~
=20
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u362-b09.1/hotspot/src/shar=
e/vm/adlc/adlparse.cpp:4765:3:
error: ISO C++17 does not allow 'register' storage class specifier [-Wregis=
ter]
    register char c;
    ^~~~~~~~~

For newer versions of OpenJDK this has been fixed by removing the
'register' keyword, but upstream has not yet backported it to OpenJDK 8.
To work around the errors, define the register keyword away using a
command line flag.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-271080-7788>