On Thu, 9 Oct 2025 04:07:02 GMT, Kim Barrett <[email protected]> wrote:
>> 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 incrementally with two additional > commits since the last revision: > > - jrose comments > - move tuple to undecided category > Are global or static objects with non-trivial destructors permitted? I think > there are a couple of such uses today. It is discouraged but yes they exist and cause problems. I am currently fixing a bunch of issues due to static Semaphore instances. https://bugs.openjdk.org/browse/JDK-8361462 ------------- PR Comment: https://git.openjdk.org/jdk/pull/27601#issuecomment-3388368328
