RFC: JEP JDK-8208089: Implement C++14 Language Features

Kim Barrett kim.barrett at oracle.com
Mon Nov 19 07:04:14 UTC 2018

> On Nov 19, 2018, at 1:31 AM, David Holmes <david.holmes at oracle.com> wrote:
> Hi Kim,
> On 16/11/2018 12:31 pm, Kim Barrett wrote:
>>> On Oct 3, 2018, at 3:13 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
>>> I've submitted a JEP for
>>> (1) enabling the use of C++14 Language Features when building the JDK,
>>> (2) define a process for deciding and documenting which new features
>>> can be used or are forbidden in HotSpot code,
>>> (3) provide an initial list of permitted and forbidden new features.
>>> https://bugs.openjdk.java.net/browse/JDK-8208089
>> While there has been some discussion of this JEP here, so far only Mikael has officially
>> reviewed or endorsed it.
> I added myself as a Reviewer.


>> Regarding the timing of this JEP, integration in time for JDK 12 seems unlikely.
> This doesn't strike me as a JEP that actually integrates anything. It wants to establish a process by which future C++ features are accepted for use with hotspot. That's just documentation on the OpenJDK wiki as far as I can see. The actual set of features and any "vote" on them can happen any time after the JEP is approved. Any actual use of those features can follow any time after that.

There is the integration of the build changes needed to enable the use of C++14.
Presently we explicitly specify C++98 (actually, gnu++98) for gcc.
We also presently permit the use of older versions of compilers that don’t support C++14
(or even C++11) at all, or only partially.  Those need to be dropped.

> I think it is important that all the port owners buy into this.

At least one port (aix_ppc) presently seems to have no way to support this change, because
the compiler being used is seriously deficient and appears to be languishing.  (It doesn’t even
support C++11, let alone C++14.)  I think the community could (and in my opinion, should)
chose to move ahead despite that.  If a new and adequate compiler is expected “soon” then
the community might choose to wait, or might proceed and let that port languish until the new
compiler is available.  I think that’s all part of the discussion that should happen around the
targeting of this JEP.  I hope this inadequate compiler on a relatively niche platform won’t be
an indefinite blocker in this area.

More information about the build-dev mailing list