diff --git a/doc/building.html b/doc/building.html index 66e07f07b9d7dfd77115a01fb6dd5e490a634f70..4745af2a1d748fa6d8fb3f9856f8eab235a72002 100644 --- a/doc/building.html +++ b/doc/building.html @@ -281,7 +281,7 @@ Windows -Microsoft Visual Studio 2019 update 16.7.2 +Microsoft Visual Studio 2022 update 17.1.0 diff --git a/doc/building.md b/doc/building.md index 6bc5857811e763b10fe423b82f7cf9eb4c2b7868..f3b0ee10522ab540287a0bf582cf10edd93015b3 100644 --- a/doc/building.md +++ b/doc/building.md @@ -331,7 +331,7 @@ issues. ------------------ ------------------------------------------------------- Linux gcc 11.2.0 macOS Apple Xcode 10.1 (using clang 10.0.0) - Windows Microsoft Visual Studio 2019 update 16.7.2 + Windows Microsoft Visual Studio 2022 update 17.1.0 All compilers are expected to be able to compile to the C99 language standard, as some C99 features are used in the source code. Microsoft Visual Studio diff --git a/doc/hotspot-style.html b/doc/hotspot-style.html index c93b941c9885fbfc640175f2cfeb82f711cce3cc..f0dfad09eb8f76153a30b3926a85b5d8a6cb2f2c 100644 --- a/doc/hotspot-style.html +++ b/doc/hotspot-style.html @@ -51,6 +51,7 @@
  • <atomic>
  • Uniform Initialization
  • Local Function Objects
  • +
  • Inheriting constructors
  • Additional Permitted Features
  • Excluded Features
  • Undecided Features
  • @@ -405,6 +406,10 @@ while ( test_foo(args...) ) { // No, excess spaces around control
  • Make () more optional for lambdas (p1102r2)
  • +

    Inheriting constructors

    +

    Do not use inheriting constructors (n2540).

    +

    C++11 provides simple syntax allowing a class to inherit the constructors of a base class. Unfortunately there are a number of problems with the original specification, and C++17 contains significant revisions (p0136r1 opens with a list of 8 Core Issues). Since HotSpot doesn't support use of C++17, use of inherited constructors could run into those problems. Such uses might also change behavior in a future HotSpot update to use C++17 or later, potentially in subtle ways that could lead to hard to diagnose problems. Because of this, HotSpot code must not use inherited constructors.

    +

    Note that gcc7 provides the -fnew-inheriting-ctors option to use the p0136r1 semantics. This is enabled by default when using C++17 or later. It is also enabled by default for fabi-version=11 (introduced by gcc7) or higher when using C++11/14, as the change is considered a Defect Report that applies to those versions. Earlier versions of gcc don't have that option, and other supported compilers may not have anything similar.

    Additional Permitted Features

    Excluded Features