RFC: JEP JDK-8208089: Implement C++14 Language Features
david.holmes at oracle.com
Mon Nov 19 21:09:05 UTC 2018
On 20/11/2018 6:39 am, Kim Barrett wrote:
>> On Nov 19, 2018, at 7:56 AM, David Holmes <david.holmes at oracle.com> wrote:
>> On 19/11/2018 5:04 pm, Kim Barrett wrote:
>>>> 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:
>>>> 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.
>> Even so those changes don't need to be put in place until we actually need to start using a new feature. So I would still think we can finalize the JEP independently of the subsequent code changes.
> I don't see any benefit to making the first C++ code change that uses
> a new feature also incorporate the needed build system changes.
> Indeed, how does one develop that feature usage unless one has the
> build system changes already in hand?
Just trying to distinguish the JEP from the build changes that will
enable what is agreed upon by the JEP versus the first use of such changes.
If you want it all tied together that's fine - you're right it likely
won't make 12.
> It seems to me that if the documentation says one can use some new
> language feature but the build system hasn't been updated to actually
> support doing so, then the documentation is wrong. And recall that
> this JEP includes making some new features available immediately.
> (That initial list might be modified as part of this JEP discussion.)
More information about the build-dev