RFR: 8313396: Portable implementation of FORBID_C_FUNCTION and ALLOW_C_FUNCTION

Julian Waters jwaters at openjdk.org
Wed Jan 24 08:04:50 UTC 2024


Please review a portable implementation of FORBID_C_FUNCTION and ALLOW_C_FUNCTION:

Currently, FORBID_C_FUNCTION only works for gcc like compilers, and ALLOW_C_FUNCTION acts to disable CRT warnings on Windows, where FORBID_C_FUNCTION does not work. It would be beneficial to provide a universal portable definition for both, to allow the macros to work on all platforms HotSpot can be compiled for.

The implementation is portable and _should_ work on all HotSpot supported platforms (I don't have an AIX device!).

Regrettably, I did end up having to change the signature of ALLOW_C_FUNCTION to work with this new implementation, as well as the way it is used. On one hand, it is more compact than before, but on the other the established syntax is likely more familiar by this point. I do hope this is not a showstopper, but understand if it is

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

Commit messages:
 - compilerWarnings.hpp
 - compilerWarnings.hpp
 - logTagSet.cpp
 - nmtPreInit.cpp
 - gtestMain.cpp
 - os.cpp
 - memMapPrinter.cpp
 - mallocSiteTable.cpp
 - logTagSet.cpp
 - jvmciEnv.cpp
 - ... and 33 more: https://git.openjdk.org/jdk/compare/16be3888...70cfecd1

Changes: https://git.openjdk.org/jdk/pull/17387/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17387&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8313396
  Stats: 111 lines in 19 files changed: 0 ins; 64 del; 47 mod
  Patch: https://git.openjdk.org/jdk/pull/17387.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17387/head:pull/17387

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


More information about the hotspot-dev mailing list