RFR: 8369186: HotSpot Style Guide should permit some uses of the C++ Standard Library
Kim Barrett
kbarrett at openjdk.org
Wed Oct 8 04:01:28 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_info>, 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
-------------
Commit messages:
- 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=00
Issue: https://bugs.openjdk.org/browse/JDK-8369186
Stats: 623 lines in 68 files changed: 383 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 hotspot-dev
mailing list