On Mon, 24 Jul 2023 01:41:16 GMT, Julian Waters <jwat...@openjdk.org> wrote:

> Implementation of [JEP draft: Compile the JDK as 
> C++17](https://bugs.openjdk.org/browse/JDK-8310260)

Changes requested by kbarrett (Reviewer).

There may be other changes needed either in preparation or as part of making
the change to the language version.

- Dynamic allocation of over-aligned types is supported in C++17.  We might
need to update our allocation base classes (like CHeapObj<>) to account for
this as part of the update.  I'm not sure it can be deferred to a separate
followup.

- C++17 exception specifications are part of the type system.  "Valid C++14
code may fail to compile or produce different results ..."  This needs to be
looked at before changing the language selection switch.

- Dynamic exception specifications were previously deprecated, and are removed
by C++17.  It looks like some compilers are still permitting the no-throw
case, but we might need to convert to using noexcept before changing the
language selection switch.

There may be others that I've forgotten or haven't noticed.

make/autoconf/flags-cflags.m4 line 577:

> 575:   # CXXFLAGS C++ language level for all of JDK, including Hotspot.
> 576:   if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang 
> || test "x$TOOLCHAIN_TYPE" = xxlc; then
> 577:     LANGSTD_CXXFLAGS="-std=c++17"

No, this change cannot be made yet.  As noted in the prior JEP discussion, we 
need to wait for the aix-ppc
port maintainers to upgrade the compiler they are using.  I happened to check 
last with them about their
progress.  While progress has been made, they are not yet ready to throw that 
switch.  Hoping to finish that
work sometime this fall.

-------------

PR Review: https://git.openjdk.org/jdk/pull/14988#pullrequestreview-1585595153
PR Comment: https://git.openjdk.org/jdk/pull/14988#issuecomment-1684875974
PR Review Comment: https://git.openjdk.org/jdk/pull/14988#discussion_r1299140565

Reply via email to