RFR: 8367282: FORBID_C_FUNCTION needs exception spec consistent with library declaration

Kim Barrett kbarrett at openjdk.org
Wed Sep 10 20:22:27 UTC 2025


On Wed, 10 Sep 2025 02:58:31 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:

> Please review this change to FORBID_C_FUNCTION to make the exception specs of
> the forbidding declarations match up with the exception specs of the
> associated library declarations. This needs to account for different platform
> libraries either having or not having exception specs. It's needed because,
> after switching to C++17, some compilers complain about some differences in
> the exception specs.
> 
> Also removed the workaround for JDK-8367051, which should no longer be needed
> after this change.
> 
> Hoping someone will test the aix-ppc port. @MBaesken or @TheRealMDoerr ?
> 
> Testing: mach5 tier1, GHA sanity checks (nearly finished)
> Locally (linux-aarch64) built with clang, which failed without the JDK-8367051
> workaround.

> Seems the forbidden sprintf AND snprintf cause the trouble on AIX, [...] the rest of forbidden functions causes
> no trouble on AIX, the build is successful.

I was afraid something like this might turn up. I can hack around the
sprintf/snprintf AIX issue. But I think the only reliable long-term solution
might be to generate the forbidding declarations as part of the build process.
That's more work than I want to do for this right now though.

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

PR Comment: https://git.openjdk.org/jdk/pull/27180#issuecomment-3276379059


More information about the hotspot-dev mailing list