RFR: 8369186: HotSpot Style Guide should permit some uses of the C++ Standard Library [v4]

Kim Barrett kbarrett at openjdk.org
Sat Oct 18 17:11:48 UTC 2025


> Please review this change to the HotSpot Style Guide to suggest that C++
> Standard Library components may be used, after appropriate vetting and
> discussion, rather than just a blanket "no, don't use it" with a few very
> narrow exceptions. It provides some guidance on that vetting process and
> the criteria to use, along with usage patterns.
> 
> In particular, it proposes that Standard Library headers should not be
> included directly, but instead through HotSpot-provided wrapper headers. This
> gives us a place to document usage, provide workarounds for platform issues in
> a single place, and so on.
> 
> Such wrapper headers are provided by this PR for `<cstddef>`, `<limits>`, and
> `<type_traits>`, along with updates to use them. I have a separate change for
> `<new>` that I plan to propose later, under JDK-8369187. There will be
> additional followups for other C compatibility headers besides `<cstddef>`.
> 
> This PR also cleans up some nomenclature issues around forbid vs exclude and
> the like.
> 
> Testing: mach5 tier1-5, GHA sanity tests

Kim Barrett has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains nine commits:

 - Merge branch 'master' into stdlib-header-wrappers
 - Merge branch 'master' into stdlib-header-wrappers
 - Merge branch 'master' into stdlib-header-wrappers
 - jrose comments
 - move tuple to undecided category
 - add wrapper for <type_traits>
 - add wrapper for <cstddef>
 - add wrapper for <limits>
 - style guide permits some standard library facilities

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

Changes: https://git.openjdk.org/jdk/pull/27601/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27601&range=03
  Stats: 670 lines in 68 files changed: 430 ins; 134 del; 106 mod
  Patch: https://git.openjdk.org/jdk/pull/27601.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27601/head:pull/27601

PR: https://git.openjdk.org/jdk/pull/27601


More information about the serviceability-dev mailing list