On Mon, 24 Jul 2023 01:41:16 GMT, Julian Waters <[email protected]> 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
